devdocs-compound
知识复利沉淀
在开发周期完成后,提取本次开发中的模式、陷阱和关键决策,沉淀为可复用的结构化知识。
语言规则
- 支持中英文提问
- 统一中文回复
- 使用中文生成文档
定位
devdocs-sync:同步文档状态、追溯矩阵 → 文档层面的完成
devdocs-compound:提取经验、沉淀模式 → 知识层面的复利
互补关系:devdocs-sync 确保"这次做对了",本 Skill 确保"下次也能做对"。
触发条件
- devdocs-sync 完成后(推荐)
- 一轮开发迭代结束后
- 用户主动要求提取经验教训
- 发现值得记录的模式或陷阱
运行模式
/devdocs-compound → 完整流程(提取 + 写入 + 更新)
/devdocs-compound --extract-only → 仅提取,不写入文件(预览模式)
/devdocs-compound --check → 系统学习检查(仅评估是否有未沉淀的经验)
工作流程
1. 回顾本次开发
├── 读取 verify-report.md(若存在)
├── 读取 04-dev-tasks*.md 了解完成的任务
├── 读取 git log 了解提交历史
└── 回顾对话中的关键决策点
│
▼
2. 提取候选模式
├── 有效的解决方案(正面模式)
├── 踩过的坑和修复方式(陷阱)
├── 关键技术决策及其理由(决策记录)
└── 可复用的代码模式或架构模式
│
▼
3. 去重检查
├── 扫描 docs/devdocs/patterns/ 已有模式
└── 跳过已存在的相似模式,或标记为"更新"
│
▼
4. 与用户确认
├── 展示提取的候选模式列表
└── 用户选择:写入 / 跳过 / 修改
│
▼
5. 写入模式文档
├── 新模式 → 创建 docs/devdocs/patterns/<pattern-name>.md
└── 已有模式更新 → 编辑现有文件
│
▼
6. 建议运行 `/agent-memory` 更新 AGENTS.md(可选)
├── 项目特定知识更新
└── 仅当模式具有项目级影响时
│
▼
7. 系统学习检查
├── 本次遇到的问题是否已沉淀为规则/模板/检查器?
├── 若没有,原因是什么?
└── 输出检查结论
模式提取指南
什么值得提取
| 类型 | 信号 | 示例 |
|---|---|---|
| 正面模式 | 解决了反复出现的问题 | "用 Strategy 模式解耦支付渠道" |
| 陷阱 | 踩坑后修复,且可能再次遇到 | "SQLite 在并发写入时需要 WAL 模式" |
| 决策 | 有明确取舍,且理由非显而易见 | "选择 SSR 而非 SPA 因为 SEO 需求" |
| 工作流 | 发现了更高效的开发流程 | "先写集成测试再拆单元测试更高效" |
什么不值得提取
- 项目特有且不可复用的细节
- 显而易见的最佳实践(如"要写测试")
- 临时性的 workaround(除非标记为临时)
- 已在 AGENTS.md 或 SKILL.md 中覆盖的规则
模式文档结构
每个模式文档遵循统一结构,详见 templates/pattern.md。
文件命名:docs/devdocs/patterns/<kebab-case-pattern-name>.md
系统学习检查
每次执行 /devdocs-compound 时,必须回答以下检查问题:
检查清单
-
规则检查:本次遇到的问题,是否已沉淀为规则(约束/检查项)?
- 若是 → 记录在哪个 SKILL.md 或 AGENTS.md 中
- 若否 → 是否应该沉淀?理由?
-
模板检查:本次的解决方案,是否应更新到某个模板中?
- 若是 → 标记目标模板文件
- 若否 → 理由?
-
检查器检查:本次的验证逻辑,是否可自动化为检查步骤?
- 若是 → 标记目标 Skill 的约束章节
- 若否 → 理由?
检查输出格式
## 系统学习检查
| 维度 | 已沉淀? | 目标位置 | 备注 |
|------|---------|----------|------|
| 规则 | ✅/❌ | <文件路径> | <说明> |
| 模板 | ✅/❌ | <文件路径> | <说明> |
| 检查器 | ✅/❌ | <文件路径> | <说明> |
**未沉淀原因**:<若有未沉淀项,说明原因>
输出文件
- 模式文档:
docs/devdocs/patterns/<pattern-name>.md - 系统学习检查结论:输出到对话(不单独生成文件)
约束
提取约束
- 必须回顾 verify-report 和任务文档
- 必须与用户确认后再写入(
--extract-only仅预览) - 必须检查已有模式避免重复
- 模式文档遵循模板结构
- 文件名使用 kebab-case
质量约束
- 模式必须包含"问题背景"和"解决方式"(缺一不可)
- 必须包含"适用条件"和"禁忌条件"(防止误用)
- 模式描述具体、可操作,避免泛泛而谈
- 关联 Skill/模板字段帮助 Agent 发现和复用
系统学习约束
- 每次执行必须完成系统学习检查
- 检查结论必须回答三个维度(规则/模板/检查器)
- 未沉淀项必须说明原因
安全约束
- 不修改代码文件
- 不修改现有 DevDocs 文档(仅新建/更新 patterns/)
- 不直接修改 AGENTS.md,需更新时建议用户运行
/agent-memory
Skill 协作
| 场景 | 协作 Skill | 说明 |
|---|---|---|
| 前置 | /devdocs-sync |
在 sync 完成后执行 compound |
| 前置 | /devdocs-verify |
读取验证报告提取改进模式 |
| 前置 | /devdocs-dev-workflow |
在工作流末尾推荐执行(批量模式默认) |
| 知识更新 | /agent-memory |
大范围知识更新时可配合使用 |
子 Agent 摘要格式
当本 Skill 作为子 Agent 运行时,返回以下结构化摘要:
skill: devdocs-compound
patterns_extracted: 2
patterns_updated: 1
patterns_skipped: 0 # 已存在的相似模式
system_learning:
rules_gap: false
template_gap: true
checker_gap: false
status: completed
output_files:
- docs/devdocs/patterns/strategy-payment-channels.md
- docs/devdocs/patterns/sqlite-wal-concurrency.md
下一步
| 结果 | 建议下一步 |
|---|---|
| 提取了新模式 | 在下次相关开发中参考 docs/devdocs/patterns/ |
| 发现规则缺口 | 更新对应 SKILL.md 的约束章节 |
| 发现模板缺口 | 更新对应 templates/ 文件 |
| 无新知识 | 正常,不是每次迭代都有新模式 |
More from ab300819/skills
work-report
生成周报、月报、季度报和年终总结。当用户提到"周报"、"月报"、"季报"、"季度报"、"年终总结"、"年度总结"、"weekly report"、"monthly report"、"quarterly report"、"annual summary"、"yearly review",或者需要生成各类工作报告时使用此 Skill。
82devdocs-test-cases
Design test cases (UT/IT/E2E) based on requirements, establishing traceability from acceptance criteria to test cases. Use when users need test case design, testing strategy, test coverage planning, or QA planning. Triggers on "test cases", "test design", "unit test", "integration test", "e2e test", "测试用例", "测试设计", "测试策略", "测试覆盖", "QA". NOT for running tests (use devdocs-test-run) or development workflow (use devdocs-dev-workflow).
42devdocs-dev-tasks
Break down system design into executable, trackable development tasks with dependency resolution and layer classification (🔴🟡🟢⚪). Use when users need task breakdown, sprint planning, or implementation planning. Triggers on "dev tasks", "task breakdown", "sprint planning", "implementation tasks", "拆分任务", "任务列表", "implementation plan", "开发任务拆分". NOT for executing tasks (use devdocs-dev-workflow) or defining features (use devdocs-feature).
38devdocs-onboard
Generate project context summary for AI tool handover. Supports --read (view only) and --update (rescan) modes. Use when switching AI tools, starting new sessions, or onboarding team members. Triggers on "project context", "handover", "onboard", "项目上下文", "交接", "接手项目", "新会话", "new session", "项目概览". NOT for retrofitting projects (use devdocs-retrofit) or requirements definition (use devdocs-requirements).
37devdocs-requirements
Expand user requirements into detailed DevDocs documents with features (F-XXX), user stories (US-XXX), and acceptance criteria (AC-XXX). Supports initial, incremental, and context (--context) modes. Use when users provide feature requirements, want to clarify scope, or add project background. Triggers on "requirements", "PRD", "feature request", "user story", "需求", "功能点", "验收标准", "项目背景", "补充信息". NOT for system/technical design (use devdocs-system-design) or test case design (use devdocs-test-cases).
36code-quality
Opinionated constraints for writing maintainable, testable code. Apply MTE principles, avoid over-engineering, guide refactoring, and provide code review checklists. Use when users write code, refactor, or need code review. Triggers on keywords like "code quality", "refactor", "review", "MTE", "代码质量", "重构", "审查".
35