From auriga-workflow
代码讲解员——仅当用户显式选择 docent 时使用。接收一个关于现有代码、模块或组件的自然语言问题或仓库路径,由单个专职子代理定位并通读实际代码,生成一份自包含、可离线打开的交互式 HTML 讲解报告,帮助人类建立对当前架构、关键关系和代码证据的正确心智模型。
How this skill is triggered — by the user, by Claude, or both
Slash command
/auriga-workflow:docentThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Agent 写代码的速度远超人类阅读代码的速度,人类对代码库的心智模型持续落后。Docent 把线性的代码问答升级为一份可以从系统总览逐层下钻到代码证据的理解报告。
Agent 写代码的速度远超人类阅读代码的速度,人类对代码库的心智模型持续落后。Docent 把线性的代码问答升级为一份可以从系统总览逐层下钻到代码证据的理解报告。
核心目的:让一个没跟上进度的人类,在约 10 分钟内建立对目标代码逻辑的正确心智模型。报告的一切形式选择都服务于这个目的。
Docent 解释现有系统“现在是什么、为什么这样咬合”,不是代码审查或架构评审,也不默认提出目标设计。用户进一步要求优化时,先完成现状解释,再把当前架构与代码证据交给 arch-design 澄清未来方案。
docent 时使用。Claude Code 的插件命令是 /auriga-workflow:docent <参数>;Codex 中显式选择 auriga-workflow:docent 并提供参数。不要在普通问答("这个函数返回什么")中自动触发本 skill——那种问题直接回答即可。Claude Code:/auriga-workflow:docent <自然语言问题 | 路径>
Codex:显式选择 auriga-workflow:docent,并输入自然语言问题或路径。
| 参数形态 | 处理方式 |
|---|---|
| 仓库内存在的文件或目录路径 | 理解范围即该路径,跳过定位阶段 |
| 其他文本 | 当作主题(例:"用户登录后 token 是怎么刷新的"),由子代理先定位相关代码 |
| 无参数 | 先问用户想理解什么(AskUserQuestion / request_user_input),不要凭空猜测范围 |
主 agent 只做三件事:解析参数、派遣一个专职子代理、交付结果。定位→通读→合成→生成的全过程都发生在子代理内部。
为什么是一个而不是多个:理解是不可分割的认知过程——"A 文件里这个判断为什么存在"的答案往往在 B 文件里。并行碎片化阅读会切断跨文件因果链,拼装出"每个文件是什么",拼不出"它们为什么这样咬合"。子代理的价值不在并行,而在隔离:把批量代码阅读的上下文消耗挡在主对话之外。
派遣包必须完整包含:用户的原始问题或路径、当前工作目录、本 skill 所在目录的绝对路径(下称 <skill-dir>)、当次对话语言,以及下面这条明确指令:先读取 <skill-dir>/SKILL.md,只执行其中从“子代理工作流”开始的契约,再按需读取两份参考;你就是唯一的报告生成子代理,不得再次派遣子代理。不要只给目录后期待隔离上下文自行获得本技能内容。
若当前运行时不支持派遣子代理,停止并说明 Docent 依赖单个隔离子代理,当前环境无法执行;不要把批量代码阅读降级到主对话。
按问题从定位工具箱中选择必要手段,不机械地全部执行:
git log -S、--grep 等版本历史。汇合成两份清单:核心文件(将通读)与外围文件(仅记录关联,不深入)。范围过大装不下时,宁可缩小核心清单也不要降低阅读质量——裁剪必须在报告"阅读足迹"一节可见。
按逻辑关系而不是文件顺序通读核心文件,形成三层相互对应的模型:
从入口沿调用链、数据流和状态变化阅读,持续回答“为什么这样咬合”。只有版本历史能解释当前结构时才读取关键演化节点。
按下面的认知顺序组织报告。窄范围可以合并相邻章节,但不能漏掉信息:
文件:行号;只摘录不看原文就无法理解的判断或转换。条件内容不适用时可以省略,不必用空章节或“不适用”占位。核心内容及其验证路径不能静默缺失;窄范围下可以合并章节,但必须保留对应信息。
先读两份参考:<skill-dir>/references/design-guidelines.md(信息与视觉设计)和 <skill-dir>/references/components.md(安全拼装与组件契约)。默认复用稳定视觉基线,正文按当前问题组织;只有定制版式能明显改善理解时才调整。
拼装纪律:最终 HTML 由 <skill-dir>/scripts/assemble.sh 拼装。生成彼此独立的正文片段、纯文本标题、图形 JSON,以及按需定制的 CSS;全部放进当次报告独享的临时目录。仓库派生的文本、代码和文件名进入正文前必须做 HTML 转义;拼装脚本会拒绝活动脚本、事件处理器、外部资源、错误图形结构和不存在的图形目标。不要逐字重打固定资产,具体命令和数据契约见 components.md。
可视化手段调色板(按问题自选,不要全用):
硬性质量约束(违反任何一条即不合格):
文件:行号,图中核心节点显示代码位置并链接到报告内对应讲解/tmp(如 /tmp/docent-<主题slug>.html),不落进项目仓库子代理返回后,主 agent:
"阅读足迹"一节的存在意义是让用户能发现定位偏差。用户指出"漏看了 X"或"方向不对"后:在同一会话内重新派遣子代理修订(把用户反馈和上一份报告路径一并交给它),产出更新的报告。不引入任何跨会话持久化状态。
npx claudepluginhub ben2pc/auriga-cli --plugin auriga-workflowCreates, edits, and verifies skills using a test-driven development approach with pressure scenarios and subagents.