Agent审查
- 作者仓库星标 253
- 作者更新于 实时读取
- 作者仓库 claudia
- 领域
- 工程开发
- 兼容 Agent
-
- Claude Code
- Cursor
- Cline
- Codex
- Windsurf
- Gemini CLI
- +20
- 信任分
- 88 / 100 · 社区维护
- 作者 / 版本 / 许可
- @kbanc85 · 未声明 license
- Token 消耗评级
- 低消耗
- 接入复杂程度
- 需简单配置
- 是否需要外部 API Key
- 不需要
- 兼容的系统
- 未声明(默认跨平台)
- 底层运行要求
- 无特殊要求
- 文件与系统权限
-
- 只读
- 允许写入 / 修改
- Shell 执行
- 网络行为
- 允许外网请求
- 安装命令数
- 26 条
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
---
name: skill-router
description: Help users discover available skills and help Claudia pick the right one when a request is ambig…
category: 工程开发
runtime: 无特殊运行时
---
# skill-router 输出预览
## PART A: 任务判断
- 适用问题:代码实现、重构、调试或代码审查。
- 输入要求:目标材料、限制条件、期望输出和验收方式。
- 证据边界:围绕“Why this exists / Surface 1: Discovery / Surface 2: Disambiguation”读取原文规则,不把推断写成作者承诺。
## PART B: 执行结果
- **01** 任务判断:确认你的需求是否属于代码实现、重构、调试或代码审查,并标出输入、限制和预期结果。
- **02** 执行计划:优先按“Why this exists / Surface 1: Discovery / Surface 2: Disambiguation”拆成步骤,说明每一步会读取什么、修改什么、产出什么。
- **03** 交付结果:给出可复制的命令、文件改动、检查清单或内容草稿,并说明如何继续迭代。
- **04** 风险边界:结合 读取文件、写入/修改文件、执行终端命令、会按任务需要访问外部网络、通常不需要额外 API Key 给出执行前确认项。
## Running Rules
- 读取文件、写入/修改文件、执行终端命令;会按任务需要访问外部网络;通常不需要额外 API Key。
- 先小样例验证,再放大到真实任务。
- 交付时同时给结果、检查口径和下一步迭代建议。 原文出现了 `/morning-brief`、`/inbox-check`、`/pipeline-review`、`/what-am-i-missing`、`/meeting-prep` 这类斜杠命令;如果你的 Agent 支持命令触发,优先用命令开场,再补充目标和边界。
告诉 Agent 目标文件或材料、期望结果、不可改范围、是否允许联网或执行命令。本 Skill 的权限画像是:读取文件、写入/修改文件、执行终端命令。
先用一个小任务确认它会围绕“Why this exists / Surface 1: Discovery / Surface 2: Disambiguation”工作;涉及文件或命令时,先看 diff、日志、预览或测试结果。
检查最终产物是否包含明确结果、必要证据和下一步动作;如果输出泛泛而谈,就补充输入、边界和验收标准后重跑。
---
name: skill-router
description: Help users discover available skills and help Claudia pick the right one when a request is ambig…
category: 工程开发
source: kbanc85/claudia
---
# skill-router
## 什么时候使用
- 把工程方向的常用动作沉淀成 Agent 可调用的技能 适合处理工程开发场景下的代码实现、调试、重构、测试或代码审查,核心价值是把输入、判断、执行、验证和交付边界固定下来,避免 Agent 泛泛回答。 把任务拆成可执行、可检查、可继续迭代…
- 面向代码实现、重构、调试或代码审查,优先处理能明确输入、步骤和验收标准的工作。
## 需要提供什么
- 目标材料、目录范围、期望结果和不可改动内容。
- 是否允许联网、执行命令、读写文件或调用外部服务。
## 执行规则
- 围绕「Why this exists / Surface 1: Discovery / Surface 2: Disambiguation」组织步骤,不把推断写成作者事实。
- 读取文件、写入/修改文件、执行终端命令;会按任务需要访问外部网络;通常不需要额外 API Key。
- 先跑小样例,确认结果可检查后再扩大任务范围。
## 输出要求
- 给出最终产物、关键证据、验证方式和下一步动作。
- 信息不足时标记 unknown,不编造命令、平台或依赖。 作者原文负责流程事实;仓库文件负责来源和命令;流狐只补充适用场景、限制和质量判断。
skill "skill-router" {
输入层 -> 用户目标 + 目标文件 + 禁止范围 + 验收标准
上下文层 -> Why this exists / Surface 1: Discovery / Surface 2: Disambiguation
规则层 -> SKILL.md 触发条件 / 执行顺序 / 输出格式
运行层 -> 无特殊运行时 | 读取文件、写入/修改文件、执行终端命令 | 会按任务需要访问外部网络
安全层 -> 通常不需要额外 API Key + 小任务验证 + diff / 日志复核
输出层 -> 可复制结果 + 检查清单 + 下一步迭代
} Skill Router
Two jobs: help the user find the skill they need, and help me (Claudia) pick the right skill when their request straddles two or more.
Why this exists
The shipped catalog has ~42 user-facing skills. Two common failure modes:
- Users don't know what's available. They type "morning brief" because they've seen
/morning-briefsomewhere, but they don't know/inbox-check,/pipeline-review, or/what-am-i-missingexist. Friction. - Ambiguous requests fire the wrong skill. "Summarize this" could be
summarize-doc,capture-meeting, orfile-documentdepending on what comes next. I sometimes pick the wrong one, the user gets the wrong output, both of us waste a turn.
This skill addresses both.
Surface 1: Discovery
When the user says "what can you do?", "/skills", "show me your skills", "list commands", "what skills do you have":
Respond with a categorized list. Keep it scannable:
**📋 Daily flow**
- /morning-brief start-of-day digest
- /inbox-check email triage across configured accounts
- /meeting-prep [person] one-page brief before a call
- /capture-meeting process meeting notes after a call
- /follow-up-draft draft a post-meeting thank-you
**📊 Reviews & reflection**
- /weekly-review end-of-week reflection
- /growth-check monthly or quarterly self-development
- /what-am-i-missing overdue, cooling, blind-spot sweep
**💼 Pipeline & business**
- /pipeline-review active opportunities + stalled items
- /client-health health check across active clients
- /financial-snapshot revenue, expenses, cash position
**📚 Knowledge & memory**
- /memory-audit what I know about an entity
- /memory-health memory system stats
- /wiki write or update a synthesized wiki page
- /map-connections extract relationships across files
- /deep-context full-context analysis for important decisions
**✍️ Drafting**
- /draft-reply general email response
- /summarize-doc executive summary of a document
- /auto-research iterate on a draft until it scores well
**🏗 Setup**
- /new-person create a relationship file
- /new-workspace new project or client workspace
- /file-document save a document with entity links
- /ingest-sources batch-process multiple sources
- /diagnose troubleshoot memory connectivity
Don't list every skill. List the ones a user is most likely to invoke directly. Internal skills (proactive ones like commitment-detector, pattern-recognizer, risk-surfacer) fire on their own and don't need to be in the discovery list.
If the user asks /skills <topic> or "what skills are about /skills meeting:
Three skills for meetings, in order of when they fire:
- /meeting-prep [person] → before the call (one-page brief)
- /capture-meeting → during or after (process notes)
- /follow-up-draft → after (post-meeting email)
Surface 2: Disambiguation
When the user's request matches 2+ skills, name the candidates briefly and proceed with the canonical one. Don't make the user choose; choose for them, and tell them what you chose.
How to detect ambiguity
A request is ambiguous when:
- The trigger phrase appears in 2+ skill descriptions
- The request is in one of the known overlap clusters (see references/overlap-clusters.md)
- The artifact type is ambiguous (a "transcript" could be a meeting transcript →
capture-meeting, or a research interview →ingest-sources, or just a generic document →file-document)
How to disambiguate
Pattern: "Sounds like X or Y. I'll do X. Say so if you wanted Y."
Examples:
User: "Help me draft a follow-up" Claudia: "Sounds like either
draft-reply(general response) orfollow-up-draft(post-meeting thank-you with meeting context). Was this from a call we had? If yes,follow-up-draft; if not,draft-reply. Defaulting tofollow-up-draftsince you said 'follow-up'."
User: "Summarize this meeting" Claudia: "I'll use
capture-meeting(extracts decisions, commitments, blockers from meeting notes). If you wanted a one-shot prose summary without filing as memories, saysummarize-docinstead."
User: "What's going on?" Claudia: "Default for that phrasing is
morning-brief. Was that what you wanted, or did you mean/what-am-i-missing(risks and gaps),pipeline-review(deal status), or just an answer about a specific entity? Going withmorning-brief."
The pattern: pick the canonical, name the alternative, run.
When NOT to disambiguate
- The request is unambiguous. Don't manufacture options.
- The user has been specific. "Draft a reply to this email" is
draft-reply, no need to mentionfollow-up-draft. - The disambiguation explanation would be longer than the actual response. For short tasks, just do the canonical thing and let the user redirect.
Overlap clusters (the canonical map)
See references/overlap-clusters.md for the full map. The clusters I check most often:
| Cluster | Canonical | Adjacent |
|---|---|---|
| Outbound messages | draft-reply (general), follow-up-draft (post-meeting) |
inbox-check (triage before drafting) |
| Memory views | memory-audit (content), memory-health (system), diagnose (connectivity) |
|
| Visualization | brain (3D web), brain-monitor (terminal) |
|
| Reflective cadences | morning-brief (daily) → weekly-review (weekly) → growth-check (monthly+) → meditate (session) |
|
| Meeting lifecycle | meeting-prep (before) → capture-meeting (during/after) → follow-up-draft (after, outbound) |
|
| Risks and gaps | what-am-i-missing (user-invoked) |
risk-surfacer (proactive auto-fire) |
| People and relationships | relationship-tracker (ongoing), new-person (create), map-connections (extract graph) |
connector-discovery (external services, NOT people) |
| Patterns/judgment/capability | pattern-recognizer (notice) → judgment-awareness (apply rules) → capability-suggester (propose commands) |
hire-agent (propose new subagents) |
| Inbound processing | ingest-sources (multi-doc), file-document (single doc), capture-meeting (meeting only), summarize-doc (no filing) |
Skill index integration
The skill-index.json file at template-v2/.claude/skills/skill-index.json is the structured catalog this skill reads. Each entry has:
name: slugdescription: one-line descriptioncategory: which discovery category the skill falls in (daily, reviews, pipeline, knowledge, drafting, setup, internal)canonical_for: list of request patterns where this skill is the canonical choice (used by disambiguation)see_also: list of adjacent skills (set in PR3's see-also work)
When skill-router is invoked, it loads skill-index.json and uses these fields. The discovery list above is generated from category. Disambiguation uses canonical_for and see_also.
See also
agent-dispatcherfor routing tasks to subagents (different concept: this is about which Claudia skill fires; agent-dispatcher is about which subagent gets a task)capability-suggesterfor proposing new skills when patterns emerge that current skills don't cover
Open questions for future versions
- Telemetry. Logging which skills fire on which inputs would let me learn over time which routings are wrong and propose corrections via
capability-suggester. Not in this version. - Per-user customization. Some users invoke
weekly-reviewweekly; others never use it. The discovery list should adapt to the user's actual usage over time. Not in this version. - Skill search by example. "Show me a skill that does X for Y" → semantic search over skill descriptions. Not in this version; today the user filters by keyword via
/skills <keyword>.
先判断是否适合
作者设计意图
作者的方法与取舍
边界和复核