--- name: discover-agent description: 根据用户需求推荐最匹配的智能体,展示候选列表并引导选择。Use when 用户描述需求但不确定该找哪个智能体帮忙,或想浏览可用的智能体。 version: 2.6.0 type: procedural risk_level: low status: enabled disable-model-invocation: true tags: - agent - discovery - recommendation metadata: author: desirecore updated_at: '2026-07-18' i18n: default_locale: en-US source_locale: zh-CN locales: - zh-CN - en-US zh-CN: name: 发现智能体 short_desc: 根据需求描述智能推荐最匹配的智能体,引导快速选择 description: 根据用户需求推荐最匹配的智能体,展示候选列表并引导选择。Use when 用户描述需求但不确定该找哪个智能体帮忙,或想浏览可用的智能体。 body: ./SKILL.zh-CN.md source_hash: sha256:99bddbbaea15b194 translated_by: human en-US: name: Discover Agent short_desc: Intelligently recommend the best-matching Agent based on the user’s need description, and guide quick selection description: >- Recommend the best-matching Agent based on the user’s needs, show a candidate list, and guide selection. Use when the user describes a need but is unsure which Agent to ask for help, or wants to browse available Agents. body: ./SKILL.md source_hash: sha256:99bddbbaea15b194 translated_by: ai:claude-fable-5 translated_at: '2026-07-18' market: icon: >- category: productivity maintainer: name: DesireCore Official verified: true compatible_agents: [] channel: latest required_client_version: 10.0.90 --- # discover-agent Skill ## L0: One-sentence summary Match and recommend the most suitable Agent from the registered Agents based on the user’s needs. ## L1: Overview and use cases ### Capability description discover-agent is a **procedural Skill** that gives DesireCore the ability to discover and recommend suitable Agents for users. By understanding the user’s needs, it performs multi-dimensional matching across the registered Agent list and shows a candidate list for the user to choose from. ### Use cases - The user describes a need but does not know which Agent to ask for help - The user wants to browse the currently available Agents and their capabilities - The user needs to find the most suitable specialist assistant for a specific task - A new user is using the system for the first time and needs to know which Agents are available - The user is unhappy with the current Agent’s performance and wants a better alternative ### Core value - **Lower the barrier**: Users do not need to remember each Agent’s name and capabilities - **Precise matching**: Intelligent recommendations based on semantic needs, not simple keyword search - **Smooth handoff**: If no match is found, automatically suggest creating a new Agent (handoff to the create-agent Skill) ## L2: Detailed specification ### Execution flow ``` ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ 需求理解 │ ──→ │ Agent 检索 │ ──→ │ 匹配评分 │ └──────────────┘ └──────────────┘ └──────────────┘ │ ↓ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ 引导选择 │ ←── │ 结果展示 │ ←── │ 候选排序 │ └──────────────┘ └──────────────┘ └──────────────┘ ``` ### Stage 1: Needs understanding **Trigger conditions** (any one of the following): - The user says "帮我找一个...", "有没有...", or "谁能帮我..." - The user describes a task but does not specify a particular Agent - The user says "有哪些智能体" or "看看都有谁" - The system detects that the user’s need does not match the current Agent’s capabilities **Need parsing**: Extract the following dimensions from the user’s description: | Dimension | Description | Example | | --------- | ----------- | ------- | | `domain` | Professional domain | law, finance, technology, education | | `task_type` | Task type | consultation, review, analysis, creation | | `keywords` | Keywords | contract, report, code, paper | | `urgency` | Urgency | routine / urgent | ### Stage 2: Agent retrieval **Data source**: Call `ManageAgent(action='list')` to get the list of all registered Agents. **Tool call**: ``` ManageAgent(action='list') ``` **Returned content**: a compact list where each line contains the following key fields: - `name` — Agent name - `id` — unique Agent identifier - `status` — current status (online/busy/idle/offline) - `description` — Agent description > `list` is a read-only query; no user confirmation is required and it is approval-free. **Filtering rules**: - By default, show Agents other than offline ones; offline Agents are shown only as a supplement when no better candidate is available - Exclude internal system Agents (such as DesireCore itself, unless explicitly requested by the user) ### Stage 3: Matching evaluation Evaluate the match score based on the following dimensions (using LLM semantic understanding, not formula-based calculation): | Dimension | Description | | --------- | ----------- | | Description relevance | Semantic relevance between the Agent’s description / persona and the user’s need | | Skill match | Correlation between the Agent’s skills and the task type | | Domain fit | Degree of fit between the Agent’s professional domain and the user’s domain | | Status availability | The Agent’s current status (online takes priority over offline) | **Display rules**: - High match (clearly suitable for the task) → mark as "推荐" - Partial match (may be helpful) → mark as "可能相关" - No obvious relevance → do not display ### Stage 4: Candidate ranking **Ranking rules**: 1. Sort by overall score in descending order 2. If scores are tied, prefer online status 3. Show at most 5 candidates ### Stage 5: Result display **When there are matching results**: ``` Based on your needs, I recommend the following Agents: ┌─────────────────────────────────────────────────────┐ │ 1. 法律顾问助手 匹配度: 92% │ │ 专注合同审查和法律风险评估 │ │ 技能:合同审查、风险评估、法律研究 │ │ 状态:在线 │ ├─────────────────────────────────────────────────────┤ │ 2. AI 文书助手 匹配度: 71% │ │ 专业文书撰写和格式优化 │ │ 技能:文书撰写、格式排版、合规检查 │ │ 状态:在线 │ ├─────────────────────────────────────────────────────┤ │ 3. 数据分析师 匹配度: 45% │ │ 数据分析和可视化报告 │ │ 技能:数据分析、报表生成、趋势预测 │ │ 状态:离线 │ └─────────────────────────────────────────────────────┘ Please choose an Agent, or tell me more specific requirements. ``` **When there are no matching results**: ``` No fully matching Agent was found for your needs at the moment. You can: 1. Try again with a more specific description 2. Create a new specialist Agent (I can help you) 3. Browse all available Agents What would you like to do? ``` **Browse mode** (when the user asks to view all): ``` Currently available Agents: Online: - 法律顾问助手 — 合同审查和法律风险评估 - AI 文书助手 — 专业文书撰写和格式优化 Offline: - 数据分析师 — 数据分析和可视化报告 - 翻译助手 — 多语言翻译和本地化 A total of 4 Agents. Do you need detailed information about any one Agent? ``` ### Stage 6: Guidance and selection **Actions after the user makes a choice**: | User choice | Follow-up action | | ----------- | ---------------- | | Chose an Agent | Switch to that Agent’s conversation and pass the user need context | | Asked for more details | Call `ManageAgent(action='get', id='')` to get details, then show structured information (see below) | | Unsatisfied with candidates | Guide the user to refine the need or suggest creating a new Agent | | Chose "create a new one" | Call the create-agent Skill and pass the collected need information | **Implementation of "learn more"**: Call `ManageAgent(action='get', id='')` to get details of the specified Agent: ``` ManageAgent(action='get', id='legal-assistant') ``` **Key fields in the returned content**: - name, description, status - version - skill count / tool count - Git repository status > `get` is a read-only query; no user confirmation is required and it is approval-free. If the target does not exist, it returns the error "智能体不存在: ". When presenting to the user, show key information in natural language/table format: ``` 「法律顾问助手」详细信息 | 字段 | 内容 | |------|------| | 描述 | 专注合同审查和法律风险评估 | | 当前状态 | 在线 | | 版本 | 1.2.0 | | 技能 / 工具 | 3 个技能,5 个工具 | | Git 仓库 | 干净(无未提交变更) | Need to talk with this Agent? ``` **Context handoff**: ```yaml context_handoff: source_agent: desirecore target_agent: legal-assistant user_intent: '帮我审查这份合同的风险点' ``` ### Collaboration with other Skills | Collaboration Skill | Collaboration method | | ------------------- | -------------------- | | create-agent | When there is no match, suggest creating a new Agent and pass the user need as initial information | | task-management | After a successful match, tasks can be created automatically and assigned to the target Agent | ### Error handling | Error scenario | Handling method | | -------------- | --------------- | | Tool call failure | Prompt the error message and suggest trying again later | | Agent list is empty | Guide the user to create the first Agent | | User description is too vague | Ask follow-up questions and provide domain options as guidance | | Target Agent does not exist | When `get` returns "智能体不存在: ", fall back to `list` to re-confirm available Agents | | Recommended Agent has an abnormal status | Mark the status and suggest choosing another online Agent | ### Permission requirements - Complete Agent retrieval and detail lookup via the built-in tool `ManageAgent` - Both `list` and `get` are read-only queries; no user confirmation is required, they are approval-free, and carry no risk ### Dependencies - Built-in tool `ManageAgent` (`action='list'` to retrieve the list, `action='get'` to query details)