Files
market/skills/discover-agent/SKILL.md
Yige d52e61e041 perf(skills): 智能体 CRUD 四技能提示词改写压缩(功能不变,~65%) (#56)
## 摘要 / Summary

### 中文

四个智能体管理技能(create/update/delete/discover-agent)改用 `ManageAgent`
内置工具后,正文与工具契约大量重叠——ManageAgent 的 description + params 已**常驻每次 query
的上下文**,声明了五个 action 语义、参数约束、权限硬边界、错误语义、字段级合并、确认行为、list/get
返回格式;技能正文里再复述即冗余。本次对四技能做**强改写·语境融合**压缩:

- 与工具契约重复的说明(参数/权限/错误码/确认行为/成功返回话术)**改写融入对应流程步骤**(如错误处理表 → 阶段一句、确认行为 →
阶段一句),不再照抄、不再表格化。
- 装饰性 ASCII 流程框图 → 一行文字流程;update 内部两张重复更新表 → 合并;YAML
元数据块(diff_metadata/context_handoff)融入流程;冗长示例(create 三份 JSON、update 附录 4
示例、discover ASCII 卡片)就地精简为代表示意。
- **不外置 references、不净删除任何内容**:所有决策/领域/交互意图完整保留——领域匹配表、persona/principles
的 L0/L1/L2 生成规范、update 两路径分流与字段级合并 vs 整体替换、防幻觉改名、回滚流程、discover
需求维度与无匹配衔接 create 等核心一字未丢。

zh 正文合计 **26542 → 9196 字符(降 ~65%)**;中英双份同步改写、逐段对齐,重算 i18n
source_hash(validate-i18n 通过)。版本 create 2.5.1 / update 3.1.2 / delete
2.5.1 / discover 2.6.1,manifest 1.2.12。

### English

After the four agent-management skills adopted the `ManageAgent` builtin
tool, their bodies heavily duplicated the tool contract — ManageAgent's
description + params are **resident in every query's context** (action
semantics, param constraints, permission hard-boundaries, error
semantics, field-level merge, confirmation behavior, list/get return
formats). This PR compresses all four via **aggressive rewrite +
contextual fusion**: contract-duplicating text is rewritten into the
relevant flow steps (not copied, not tabularized), decorative ASCII flow
boxes become one-line text, update's two duplicate tables are merged,
YAML metadata blocks are folded in, and long examples are trimmed in
place to representative sketches. **No references externalization, no
net deletion** — every decision/domain/interaction intent is preserved
(domain matching table, persona/principles L0/L1/L2 generation spec,
update's two-path split and field-level-merge-vs-full-replace,
anti-hallucination rename, rollback flow, discover's need dimensions and
create hand-off). zh bodies total **26542 → 9196 chars (~65% down)**;
both locales rewritten and aligned, i18n source hashes recomputed
(validate-i18n passes). Versions bumped, manifest 1.2.12.
2026-07-19 15:16:43 +08:00

6.1 KiB
Raw Blame History

name, description, version, type, risk_level, status, disable-model-invocation, tags, metadata, market
name description version type risk_level status disable-model-invocation tags metadata market
discover-agent 根据用户需求推荐最匹配的智能体展示候选列表并引导选择。Use when 用户描述需求但不确定该找哪个智能体帮忙,或想浏览可用的智能体。 2.6.1 procedural low enabled true
agent
discovery
recommendation
author updated_at i18n
desirecore 2026-07-19
default_locale source_locale locales zh-CN en-US
en-US zh-CN
zh-CN
en-US
name short_desc description body source_hash translated_by
发现智能体 根据需求描述智能推荐最匹配的智能体,引导快速选择 根据用户需求推荐最匹配的智能体展示候选列表并引导选择。Use when 用户描述需求但不确定该找哪个智能体帮忙,或想浏览可用的智能体。 ./SKILL.zh-CN.md sha256:671b1b159567a5a3 human
name short_desc description body source_hash translated_by translated_at
Discover Agent Intelligently recommend the best-matching Agent based on the users need description, and guide quick selection Recommend the best-matching Agent based on the users 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. ./SKILL.md sha256:671b1b159567a5a3 ai:claude-fable-5 2026-07-19
icon category maintainer compatible_agents channel required_client_version
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><defs><linearGradient id="da-a" x1="2" y1="2" x2="22" y2="22" gradientUnits="userSpaceOnUse"><stop stop-color="#AF52DE" stop-opacity="0.12"/><stop offset="1" stop-color="#007AFF" stop-opacity="0.06"/></linearGradient></defs><circle cx="12" cy="12" r="10" fill="url(#da-a)" stroke="#AF52DE" stroke-width="1.5"/><path d="M16.24 7.76l-1.8 5.41a2 2 0 0 1-1.27 1.27L7.76 16.24" fill="#FF9500" fill-opacity="0.85"/><path d="M7.76 16.24l1.8-5.41a2 2 0 0 1 1.27-1.27L16.24 7.76" fill="#AF52DE" fill-opacity="0.7"/><circle cx="12" cy="12" r="1.5" fill="white" stroke="#AF52DE" stroke-width="0.8"/></svg> productivity
name verified
DesireCore Official true
latest 10.0.90

discover-agent skill

L0: One-Sentence Summary

Match and recommend the most suitable Agent among registered Agents based on the user's need description.

L1: Overview

Procedural skill: understand the need → retrieve with ManageAgent(action='list') → semantic match scoring → rank and present → guide selection; on no match, hand off to create-agent automatically. Its value is what the tool can't give: semantic need matching, candidate ranking and presentation, and the create hand-off on no match. list / get are read-only, approval-free.

L2: Detailed Spec

Flow: need understanding → retrieval → match evaluation → ranking → presentation → guided selection.

Stage 1: Need Understanding

Trigger (any): user says "find me a… / is there a… / who can help me…", describes a task without naming an Agent, "which Agents are there", or the system detects a need that mismatches the current Agent. Extract dimensions from the description: domain (legal/finance/tech/education), task_type (consult/review/analyze/create), keywords (contract/report/code/paper…), urgency (routine/urgent).

Stage 2: Retrieval

ManageAgent(action='list') fetches all registered Agents (returns a compact list with name / id / status / description). Filtering: by default show non-offline Agents; offline ones appear only as a fallback when there's no better candidate; exclude internal system Agents (e.g. DesireCore itself) unless the user explicitly asks.

Stage 3: Match Evaluation

Judge match with LLM semantic understanding (not a formula): relevance of description / persona to the need, association of skills to the task type, domain fit, status availability (online preferred). Presentation tiers: strong match → mark "recommended", partial → "possibly relevant", no clear relation → don't show.

Stage 4: Ranking

Descending by overall score; ties broken by online status; show at most 5 candidates.

Stage 5: Presentation

  • With matches: list candidates, each with name, description, key skills, status, and match score; ask the user to choose or refine the need. E.g. "1. Legal Advisor (92%) — contract review and legal risk assessment; skills: contract review / risk assessment / legal research; online".
  • No match: report that none were found and offer three options — retry with a more specific description / create a new specialized Agent (hand off to create-agent) / browse all.
  • Browse mode (user wants to see all): list name + description grouped by online / offline, and ask whether to view details of any.

Stage 6: Guided Selection

  • Chose an Agent → switch to that Agent's conversation, passing the user's need context (source / target / user_intent).
  • Wants more detail → ManageAgent(action='get', id) for details (name / description / status / version / skill count / tool count / Git status); present the key info in natural language or a table and ask whether to chat.
  • Unhappy with candidates → guide the user to refine the need or suggest creating a new Agent.
  • Chose "create new" → invoke the create-agent skill, passing the gathered requirements.

Collaboration and Error Handling

  • Collaboration: on no match, hand off to create-agent (pass the need as initial info); on a successful match, optionally create a task and assign it to the target Agent.
  • Errors: tool call fails → report error and suggest retry; empty Agent list → guide the user to create the first Agent; overly vague need → ask follow-ups and offer domain options; get returns "Agent not found: " → fall back to list to reconfirm available Agents; recommended Agent in an abnormal state → mark the status and suggest picking an online one.
  • list / get are read-only, approval-free, and risk-free; always done via ManageAgent.