关于 product-audit
product-audit 是用于定期全面检查产品健康状况的 Agent 技能,覆盖代码库及流程文档。它生成附有证据的报告,所有后续行动均由用户决定。
主要功能
- 01全面检查代码库
- 02按维度评估健康状况
- 03按严重性编号列出发现
- 04提供四类提案
- 05写入并提交审计报告
适用场景
- 01在里程碑评估产品就绪度
- 02调查全仓库缺陷或安全问题
- 03检查质量、技术债、文档和路线图
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ gtrabanco/ agentic-workflow --skill product-audit安装后在 Claude Code 中输入/product-audit确认已加载。
附带文件references/AUDIT_DIMENSIONS.mdreferences/AUDIT_PROCESS.md
详细介绍
产品审计
全面检查产品健康状况。仅写入
docs/audits/<n>-<YYYY-MM-DD>.md;每项拟议操作仍由用户决定。
回合约定 — 结束回合前核实
✓ The full PRODUCT AUDIT report was printed in the fixed output format (health by dimension, F-numbered ranked findings, four proposal streams — the roadmap streams always present, `none — <why>` when empty)
✓ The report was WRITTEN to `docs/audits/<n>-<YYYY-MM-DD>.md` (incremental audit id) and committed — the file is the durable deliverable, the chat print is a copy
✓ Nothing else was fixed, filed, or changed — the report file is the ONLY mutation
✓ The closing `→ Next:` block is printed as the ABSOLUTE last output
准备结束回合时,是否还有任何复选框未勾选?如果有,回合尚未完成——请先完成缺失项(能力较弱的模型容易漏掉文档末尾的任务;因此特意将此列表放在最前面)。
何时使用
- 定期使用(每完成几项功能后),或在产品达到可发布里程碑时使用。
- 当你需要全面、坦诚地了解产品状况——包括质量、安全性、技术债务、文档和路线图——而非审查单项变更(
review-change)或 PR(audit-pr)时使用。 - 本技能负责全仓库扫描。 开放式、覆盖整个仓库的漏洞排查、安全研究和损坏版本调查都应由本技能负责——按维度限定范围、抽样并设定预算(说明抽查了什么)。针对单项变更进行同类排查则属于
review-change的工作:两项技能均不得接管对方的范围。
与差异审查、PR 审查或仅审查文档不同,本技能覆盖整个产品。
范围
整个代码库及其流程产物:源代码、测试、文档目录、路线图、修复索引、未解决的问题,以及每个功能文件夹中的规划文档。可以指定可选路径或区域,将审计聚焦于局部;请说明范围,并且如果某个维度采用抽样而非穷尽检查,请说明抽查了什么——绝不能暗示自己完成了实际上未做的全面检查。
提示(暂定)。 用户可以开启
ultracode(Claude Code 的研究预览版会话设置——任何技能都不能自行声明启用),让本次扫描分派给多个并行子 Agent,而不是在一个上下文窗口中完成;未开启时,请按顺序逐一扫描各维度——改变的只是耗时,不是覆盖范围。
步骤 0 — 发现项目(始终首先执行)
遵循 Agent 指南中的工作流约定和文档地图,然后阅读本技能所需内容:路线图、修复索引、功能文件夹布局和验证门槛。根据文档地图判断产品类型(Web/移动端/控制台/库/后端/基础设施)。在加载 AUDIT_DIMENSIONS.md 前,不要决定适用哪些维度;该资源是权威的适用性矩阵。记下项目安装的任何可选平台审查技能(额外工具,而非必需项——内部技能包已覆盖所有方面)。
渐进式加载 — 审计流程
参考资料的允许列表严格限定为以下两个路径。在步骤 0 后按顺序加载两者;它们属于规范性资料,且与本入口仅隔一跳。
缺少任何资源都应停止审计;绝不能凭记忆重建。可选的平台审查技能始终只是额外工具,不能替代内部技能包。
输出格式
此固定结构同时用于持久化文件(docs/audits/<id>-<YYYY-MM-DD>.md)和聊天输出——内容必须完全一致,每次运行都不得自由变换。以下每个部分都必须出现在每份审计中;没有内容可报告的部分应写明 none — <why>,而不是省略(尤其是路线图各部分:“始终梳理路线图全貌”,绝不能悄悄跳过)。
# PRODUCT AUDIT <id> — <product> — <YYYY-MM-DD>
Scope: <whole product | area>
Coverage: <dimensions run | sampled vs. exhaustive>
Verdict: <one-line honest health verdict>
## Health by dimension
<dimension> .......... ✓ healthy | ⚠ concerns | ✗ at risk | n-a (why)
...
Installed tooling ....... ✓ | ⚠ | ✗ | n-a
## Findings (severity-ranked, one F-sequence for the whole audit)
F1 [SEV] <dimension> — <finding> — evidence: <file:line | metric | doc> — class: <fix-now|replan-in-unit|decision-required|proposal|ignore>
F2 [SEV] ...
[example — scope-export recurrence] F<k> [med] Workflow discipline — <N>
consecutive units exported scope via `## Amendments`/descope issues —
features are being cut too big for real capacity — evidence: <unit list +
amendments/issues> — class: proposal — route: #64 (atomicity/split rules)
## Delta vs audit <prior-id>
New: F<k>
Unchanged: F<k> <- audit <prior-id> F<j>
Resolved: <prior-id> F<j>
(none — <why no equivalent-scope prior exists>)
## Proposals — the user decides which to act on
### Issues to open
- <title> [sev] — from: F<k>[, F<j>] — <why> — route: /triage-issue <id> F<k> — evidence: <…>
(none — <why>)
### Roadmap — add
- <feature> — from: F<k> — <rationale & opportunity> — route: /unit-lane --from-issue <n>
(none — <why>)
### Roadmap — remove / revise
- <feature> — from: F<k> — <why it no longer fits> — route: triage-issue / roadmap edit
(none — <why>)
### Tooling — register / re-design
- <skill|MCP> — register in AGENTS.md (Optional review extras): <why> — route: user edits AGENTS.md
- <skill|MCP> — would change <feature> scope: <why> — route: /unit-lane <slug>
(none — <why>)
## Manual-verification checklist (what automation can't confirm)
- <item> …
Finding set: F<k> + F<j> + F<m> (print every proposed finding; one finding → F<k>)
→ Next: /triage-issue <id> F<k> F<j> F<m> — classify the complete finding set in one batch (opens the ones that warrant it)
· accepted bug/debt → /unit-lane --fix <n> · accepted capability → /unit-lane --from-issue <n>
· nothing to act on → the persisted report is the record; move on
打印前,将每个问题占位符替换为完整的实际问题清单;在实时交接中,绝不能打印 … 或只列出第一个问题。
<id> 是审计的递增编号(流程步骤 9)。问题可永久通过 <audit-id> F<k> 定位,例如 triage-issue 3 F2 会读取 docs/audits/3-*.md,找到 F2,并在适当时创建/归类问题。
建议采用这种转交方式;此处绝不能执行分诊或创建问题。
开头应先给出坦诚的一句话健康状况结论(例如:“可发布,但有 2 项高严重性安全问题需要优先跟进”)。
约束
- 绝不自动修复、绝不创建议题、绝不编辑路线图。 输出的是报告和提案;所有操作均由用户决定。 此技能唯一会写入的文件是
docs/audits/下的报告(以及mkdir -p docs/audits)——不会触碰仓库中的其他内容。 - 发现项 ID 只能是
F1, F2, …——每次审计使用同一组编号,按严重程度排序,绝不能针对不同问题类型使用不同字母。ID 一经保存即固定:后续审计使用新的审计 ID,绝不重新编号旧文件;跨审计关联只通过 Delta 映射中的<audit-id> F<k>表示,绝不使用全局 slug 或替换 ID。用户接受后,按以下方式处理:triage-issue负责建档和分类,/unit-lane负责添加路线图工作或界定具体修复范围。 - 绝不注册工具或编辑
AGENTS.md。 工具排查会提出应注册的技能/MCP,但由用户(或通过/unit-lane <slug>运行)执行编辑;影响范围的发现项应转交给/unit-lane <slug>,并由用户批准。 - 根据平台调整:只运行适用的维度;始终列出跳过了哪些维度及原因。
- 不得静默限制范围。 如果某个维度采用了抽样、优先级排序或时间限制,必须说明——绝不能把不完整的覆盖范围说成全面审查。
- 按严重程度排序并去重:将通过多个维度或多份功能文档发现的同一问题归并为一项提案。
- 遵循项目的工作流约定(文档语言、证据):每项发现/提案都引用
file:line/指标/文档/议题来源;不确定之处标记为 verify。 - 证据还必须通过
references/AUDIT_PROCESS.md中固定的证据来源门槛;不确定之处仍标记为 verify。
可移植性(Claude Code 以外的 Agent)
工作流是约定;Claude Code 功能只是便利工具。如果 Agent 不具备某项功能,请使用备用方案——绝不能跳过该功能所支持的步骤:
- 没有斜杠命令菜单——本技能提到
/<skill>时,打开该技能的SKILL.md(位于 Agent 安装技能的目录中),并在新的对话中逐字遵循:交接假定上下文是干净的。 - 没有按技能设置
model:/effort:——这是工作流中范围最广、影响最大的排查:使用你最强大的模型及其最深入的设置运行,并作为单独的专用任务执行——绝不能塞进其他任务的上下文中。 - 没有
ultracode/子 Agent——按顺序排查各个维度(见上方提示);无论如何,都要如实说明覆盖范围。
与其他技能的关系
product-audit (whole product, all axes, periodic)
├─ composes review-change axes (codebase-wide) + audit-docs (doc coherence)
├─ mines feature docs (decisions / known-issues / architecture-notes)
├─ sweeps installed skills / connected MCP servers (product-wide, periodic)
└─ proposes ─┬─ Issues to open ........ ▶ triage-issue / unit-lane --fix
├─ Roadmap: add .......... ▶ unit-lane --from-issue
├─ Roadmap: remove/revise ▶ triage-issue / roadmap edit (user decides)
└─ Tooling: register/re-design ▶ user edits AGENTS.md / unit-lane
- 范围比
review-change(一项变更)和audit-pr(一个 PR)更广;并将audit-docs的一致性检查作为其中一个维度。 - 不会自动移交任何事项——它只提出建议;仅当用户选择执行时,规划/修复/分流技能才会采取行动。
完成条件
- 每个适用维度都有基于所引用证据的健康状况结论,并说明跳过或抽样的维度。
- 存在按严重程度排序的 F 编号发现列表,以及四类提案(待创建的议题、待添加的路线图项目、待移除/修订的路线图项目、待注册/重新设计的工具);每类都必须列出内容(为空时写明
none — <why>),完成去重、为每项提案指定处理路径,并引用其来源发现项。 - 报告已保存并提交至
docs/audits/<id>-<YYYY-MM-DD>.md,使用下一个递增的审计 ID,并在聊天中打印。 - 没有修复、提交或更改其他任何内容——由用户决定采取何种行动。
- 必须打印结尾的
→ Next:块——通常先批量执行/triage-issue <id> F<k> …处理建议创建的议题,然后对已接受的工作执行/unit-lane。