pdd-skills 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/README.md +1478 -0
  2. package/bin/pdd.js +354 -0
  3. package/config/bpmn-rules.yaml +166 -0
  4. package/config/checkstyle.xml +105 -0
  5. package/config/eslint.config.js +48 -0
  6. package/config/pmd.xml +91 -0
  7. package/config/prd-rules.yaml +113 -0
  8. package/config/ruff.toml +45 -0
  9. package/config/sqlfluff.cfg +82 -0
  10. package/hooks/hook-executor.js +332 -0
  11. package/index.js +43 -0
  12. package/lib/api-routes.js +750 -0
  13. package/lib/api-server.js +408 -0
  14. package/lib/cache/cache-config.js +209 -0
  15. package/lib/cache/system-cache.js +852 -0
  16. package/lib/config-manager.js +373 -0
  17. package/lib/generate.js +528 -0
  18. package/lib/grpc/grpc-routes.js +1134 -0
  19. package/lib/grpc/grpc-server.js +912 -0
  20. package/lib/grpc/proto-definitions.js +1033 -0
  21. package/lib/init.js +172 -0
  22. package/lib/iteration/auto-fixer.js +1025 -0
  23. package/lib/iteration/auto-reviewer.js +923 -0
  24. package/lib/iteration/controller.js +577 -0
  25. package/lib/list.js +130 -0
  26. package/lib/mcp-server.js +548 -0
  27. package/lib/openclaw/api-integration.js +535 -0
  28. package/lib/openclaw/cli-integration.js +567 -0
  29. package/lib/openclaw/data-sync.js +845 -0
  30. package/lib/openclaw/openclaw-adapter.js +783 -0
  31. package/lib/plugin/example-plugins/code-stats/index.js +332 -0
  32. package/lib/plugin/example-plugins/code-stats/plugin.json +1 -0
  33. package/lib/plugin/example-plugins/custom-linter/index.js +472 -0
  34. package/lib/plugin/example-plugins/custom-linter/plugin.json +1 -0
  35. package/lib/plugin/example-plugins/hello-world/index.js +86 -0
  36. package/lib/plugin/example-plugins/hello-world/plugin.json +1 -0
  37. package/lib/plugin/plugin-manager.js +655 -0
  38. package/lib/plugin/plugin-sdk.js +565 -0
  39. package/lib/plugin/sandbox.js +627 -0
  40. package/lib/quality/rules/maintainability.js +418 -0
  41. package/lib/quality/rules/performance.js +498 -0
  42. package/lib/quality/rules/readability.js +441 -0
  43. package/lib/quality/rules/robustness.js +504 -0
  44. package/lib/quality/rules/security.js +444 -0
  45. package/lib/quality/scorer.js +576 -0
  46. package/lib/report.js +669 -0
  47. package/lib/sdk-base.js +301 -0
  48. package/lib/sdk-js.js +446 -0
  49. package/lib/sdk-python/README.md +546 -0
  50. package/lib/sdk-python/examples/basic_usage.py +450 -0
  51. package/lib/sdk-python/pdd_sdk/__init__.py +180 -0
  52. package/lib/sdk-python/pdd_sdk/client.py +1170 -0
  53. package/lib/sdk-python/pdd_sdk/events.py +423 -0
  54. package/lib/sdk-python/pdd_sdk/exceptions.py +158 -0
  55. package/lib/sdk-python/pdd_sdk/models.py +518 -0
  56. package/lib/sdk-python/pdd_sdk/utils.py +759 -0
  57. package/lib/token/budget-alert.js +367 -0
  58. package/lib/token/budget-manager.js +485 -0
  59. package/lib/update.js +54 -0
  60. package/lib/utils/logger.js +88 -0
  61. package/lib/verify.js +741 -0
  62. package/lib/version.js +52 -0
  63. package/lib/vm/README.md +102 -0
  64. package/lib/vm/dashboard/api-routes.js +669 -0
  65. package/lib/vm/dashboard/server.js +391 -0
  66. package/lib/vm/dashboard/sse.js +358 -0
  67. package/lib/vm/dashboard/static/css/dashboard.css +1378 -0
  68. package/lib/vm/dashboard/static/index.html +118 -0
  69. package/lib/vm/dashboard/static/js/app.js +949 -0
  70. package/lib/vm/dashboard/static/js/charts.js +913 -0
  71. package/lib/vm/dashboard/static/js/kanban-view.js +1053 -0
  72. package/lib/vm/dashboard/static/js/pipeline-view.js +463 -0
  73. package/lib/vm/dashboard/static/js/quality-view.js +598 -0
  74. package/lib/vm/dashboard/static/js/system-view.js +1021 -0
  75. package/lib/vm/data-provider.js +1191 -0
  76. package/lib/vm/event-bus.js +402 -0
  77. package/lib/vm/hooks/extract-hook.js +307 -0
  78. package/lib/vm/hooks/generate-hook.js +374 -0
  79. package/lib/vm/hooks/hook-interface.js +458 -0
  80. package/lib/vm/hooks/report-hook.js +331 -0
  81. package/lib/vm/hooks/verify-hook.js +454 -0
  82. package/lib/vm/models.js +1003 -0
  83. package/lib/vm/reconciler.js +855 -0
  84. package/lib/vm/scanner.js +988 -0
  85. package/lib/vm/state-schema.js +955 -0
  86. package/lib/vm/state-store.js +733 -0
  87. package/lib/vm/tui/components/card.js +339 -0
  88. package/lib/vm/tui/components/progress-bar.js +368 -0
  89. package/lib/vm/tui/components/sparkline.js +327 -0
  90. package/lib/vm/tui/components/status-light.js +294 -0
  91. package/lib/vm/tui/components/table.js +370 -0
  92. package/lib/vm/tui/input.js +335 -0
  93. package/lib/vm/tui/renderer.js +548 -0
  94. package/lib/vm/tui/screens/kanban-screen.js +397 -0
  95. package/lib/vm/tui/screens/overview-screen.js +357 -0
  96. package/lib/vm/tui/screens/quality-screen.js +336 -0
  97. package/lib/vm/tui/screens/system-screen.js +379 -0
  98. package/lib/vm/tui/tui.js +805 -0
  99. package/package.json +1 -0
  100. package/scripts/cso-analyzer.js +198 -0
  101. package/scripts/eval-runner.js +359 -0
  102. package/scripts/i18n-checker.js +109 -0
  103. package/scripts/linter/activiti-linter.js +272 -0
  104. package/scripts/linter/prd-linter.js +162 -0
  105. package/scripts/linter/report-generator.js +207 -0
  106. package/scripts/linter/run-linters.js +285 -0
  107. package/scripts/linter/sql-linter.js +166 -0
  108. package/scripts/token-analyzer.js +162 -0
  109. package/scripts/vm-test.js +180 -0
  110. package/skills/core/official-doc-writer/LICENSE +21 -0
  111. package/skills/core/official-doc-writer/README.md +232 -0
  112. package/skills/core/official-doc-writer/SKILL.md +475 -0
  113. package/skills/core/official-doc-writer/_meta.json +1 -0
  114. package/skills/core/official-doc-writer/document_generator.py +580 -0
  115. package/skills/core/official-doc-writer/evals/default-evals.json +1 -0
  116. package/skills/core/official-doc-writer/examples.md +150 -0
  117. package/skills/core/official-doc-writer/fonts/FONTS_LIST.md +45 -0
  118. package/skills/core/official-doc-writer/fonts/README.md +141 -0
  119. package/skills/core/official-doc-writer/fonts/SIMFANG.TTF +0 -0
  120. package/skills/core/official-doc-writer/fonts/SIMHEI.TTF +0 -0
  121. package/skills/core/official-doc-writer/fonts/SIMKAI.TTF +0 -0
  122. package/skills/core/official-doc-writer/fonts/SIMSUN.TTC +0 -0
  123. package/skills/core/official-doc-writer/fonts//346/226/271/346/255/243/345/260/217/346/240/207/345/256/213GBK.TTF +0 -0
  124. package/skills/core/official-doc-writer/references/GBT_9704-2012_/345/205/232/346/224/277/346/234/272/345/205/263/345/205/254/346/226/207/346/240/274/345/274/217.md +422 -0
  125. package/skills/core/official-doc-writer/scripts/__pycache__/generate_official_doc.cpython-313.pyc +0 -0
  126. package/skills/core/official-doc-writer/scripts/dialog_manager.py +564 -0
  127. package/skills/core/official-doc-writer/scripts/generate_official_doc.py +252 -0
  128. package/skills/core/official-doc-writer/scripts/install_fonts.py +390 -0
  129. package/skills/core/official-doc-writer/scripts/smart_prompts.py +363 -0
  130. package/skills/core/pdd-ba/SKILL.md +305 -0
  131. package/skills/core/pdd-ba/_meta.json +1 -0
  132. package/skills/core/pdd-ba/evals/default-evals.json +1 -0
  133. package/skills/core/pdd-code-reviewer/SKILL.md +378 -0
  134. package/skills/core/pdd-code-reviewer/_meta.json +1 -0
  135. package/skills/core/pdd-code-reviewer/evals/default-evals.json +1 -0
  136. package/skills/core/pdd-doc-change/SKILL.md +350 -0
  137. package/skills/core/pdd-doc-change/_meta.json +1 -0
  138. package/skills/core/pdd-doc-change/evals/default-evals.json +1 -0
  139. package/skills/core/pdd-doc-gardener/SKILL.md +248 -0
  140. package/skills/core/pdd-doc-gardener/_meta.json +1 -0
  141. package/skills/core/pdd-doc-gardener/evals/default-evals.json +1 -0
  142. package/skills/core/pdd-entropy-reduction/SKILL.md +360 -0
  143. package/skills/core/pdd-entropy-reduction/_meta.json +1 -0
  144. package/skills/core/pdd-entropy-reduction/evals/default-evals.json +1 -0
  145. package/skills/core/pdd-entropy-reduction/references/entropy-report-template.md +287 -0
  146. package/skills/core/pdd-entropy-reduction/references/golden-principles.md +573 -0
  147. package/skills/core/pdd-entropy-reduction/scripts/entropy_scan.py +712 -0
  148. package/skills/core/pdd-extract-features/SKILL.md +320 -0
  149. package/skills/core/pdd-extract-features/_meta.json +1 -0
  150. package/skills/core/pdd-extract-features/evals/default-evals.json +1 -0
  151. package/skills/core/pdd-generate-spec/SKILL.md +418 -0
  152. package/skills/core/pdd-generate-spec/_meta.json +1 -0
  153. package/skills/core/pdd-generate-spec/evals/default-evals.json +1 -0
  154. package/skills/core/pdd-implement-feature/SKILL.md +332 -0
  155. package/skills/core/pdd-implement-feature/_meta.json +1 -0
  156. package/skills/core/pdd-implement-feature/evals/default-evals.json +1 -0
  157. package/skills/core/pdd-main/SKILL.md +540 -0
  158. package/skills/core/pdd-main/_meta.json +1 -0
  159. package/skills/core/pdd-main/evals/default-evals.json +1 -0
  160. package/skills/core/pdd-main/evals/evals.json +215 -0
  161. package/skills/core/pdd-verify-feature/SKILL.md +474 -0
  162. package/skills/core/pdd-verify-feature/_meta.json +1 -0
  163. package/skills/core/pdd-verify-feature/evals/default-evals.json +1 -0
  164. package/skills/core/pdd-vm/evals/default-evals.json +1 -0
  165. package/skills/core/traffic-accident-assessor/LICENSE +29 -0
  166. package/skills/core/traffic-accident-assessor/SKILL.md +439 -0
  167. package/skills/core/traffic-accident-assessor/evals/evals.json +1 -0
  168. package/skills/core/traffic-accident-assessor/references/accident-types.md +369 -0
  169. package/skills/core/traffic-accident-assessor/references/liability-rules.md +287 -0
  170. package/skills/core/traffic-accident-assessor/references/traffic-laws.md +226 -0
  171. package/skills/core/traffic-accident-assessor/references//351/253/230/345/260/224/345/244/253/350/257/264/346/230/216/344/271/246.pdf +32576 -106
  172. package/skills/core/traffic-accident-assessor/scripts/generate_official_statement.py +588 -0
  173. package/skills/core/traffic-accident-assessor/scripts/generate_report.py +495 -0
  174. package/skills/core/traffic-accident-assessor/scripts/generate_statement.py +528 -0
  175. package/skills/core/traffic-accident-assessor.zip +0 -0
  176. package/skills/entropy/expert-arch-enforcer/SKILL.md +292 -0
  177. package/skills/entropy/expert-arch-enforcer/_meta.json +1 -0
  178. package/skills/entropy/expert-arch-enforcer/evals/default-evals.json +1 -0
  179. package/skills/entropy/expert-auto-refactor/SKILL.md +327 -0
  180. package/skills/entropy/expert-auto-refactor/_meta.json +1 -0
  181. package/skills/entropy/expert-auto-refactor/evals/default-evals.json +1 -0
  182. package/skills/entropy/expert-code-quality/SKILL.md +468 -0
  183. package/skills/entropy/expert-code-quality/_meta.json +1 -0
  184. package/skills/entropy/expert-code-quality/evals/default-evals.json +1 -0
  185. package/skills/entropy/expert-code-quality/evals/evals.json +109 -0
  186. package/skills/entropy/expert-code-quality/references/code-smells.md +605 -0
  187. package/skills/entropy/expert-code-quality/references/design-patterns.md +1111 -0
  188. package/skills/entropy/expert-code-quality/references/refactoring-catalog.md +1281 -0
  189. package/skills/entropy/expert-code-quality/references/solid-principles.md +524 -0
  190. package/skills/entropy/expert-entropy-auditor/SKILL.md +276 -0
  191. package/skills/entropy/expert-entropy-auditor/_meta.json +1 -0
  192. package/skills/entropy/expert-entropy-auditor/evals/default-evals.json +1 -0
  193. package/skills/expert/expert-activiti/SKILL.md +497 -0
  194. package/skills/expert/expert-activiti/_meta.json +1 -0
  195. package/skills/expert/expert-mysql/SKILL.md +832 -0
  196. package/skills/expert/expert-mysql/_meta.json +1 -0
  197. package/skills/expert/expert-performance/SKILL.md +379 -0
  198. package/skills/expert/expert-performance/_meta.json +1 -0
  199. package/skills/expert/expert-performance/evals/default-evals.json +1 -0
  200. package/skills/expert/expert-ruoyi/SKILL.md +472 -0
  201. package/skills/expert/expert-ruoyi/_meta.json +1 -0
  202. package/skills/expert/expert-security/SKILL.md +1341 -0
  203. package/skills/expert/expert-security/_meta.json +1 -0
  204. package/skills/expert/expert-security/evals/default-evals.json +1 -0
  205. package/skills/expert/software-architect/SKILL.md +350 -0
  206. package/skills/expert/software-architect/_meta.json +1 -0
  207. package/skills/expert/software-engineer/SKILL.md +437 -0
  208. package/skills/expert/software-engineer/_meta.json +1 -0
  209. package/skills/expert/software-engineer/architecture.md +130 -0
  210. package/skills/expert/software-engineer/patterns.md +151 -0
  211. package/skills/expert/software-engineer/testing.md +135 -0
  212. package/skills/expert/system-architect/SKILL.md +628 -0
  213. package/skills/expert/system-architect/_meta.json +1 -0
  214. package/skills/expert/system-architect/assets/templates/ARCHITECTURE.md +25 -0
  215. package/skills/expert/system-architect/assets/templates/README.md +44 -0
  216. package/skills/expert/system-architect/references/js-ts-standards.md +18 -0
  217. package/skills/expert/system-architect/references/python-standards.md +19 -0
  218. package/skills/expert/system-architect/references/scaffolding.md +61 -0
  219. package/skills/expert/system-architect/references/security-checklist.md +21 -0
  220. package/skills/openspec/openspec-apply-change/SKILL.md +156 -0
  221. package/skills/openspec/openspec-apply-change/_meta.json +1 -0
  222. package/skills/openspec/openspec-archive-change/SKILL.md +114 -0
  223. package/skills/openspec/openspec-archive-change/_meta.json +1 -0
  224. package/skills/openspec/openspec-bulk-archive-change/SKILL.md +246 -0
  225. package/skills/openspec/openspec-bulk-archive-change/_meta.json +1 -0
  226. package/skills/openspec/openspec-continue-change/SKILL.md +118 -0
  227. package/skills/openspec/openspec-continue-change/_meta.json +1 -0
  228. package/skills/openspec/openspec-explore/SKILL.md +288 -0
  229. package/skills/openspec/openspec-explore/_meta.json +1 -0
  230. package/skills/openspec/openspec-ff-change/SKILL.md +101 -0
  231. package/skills/openspec/openspec-ff-change/_meta.json +1 -0
  232. package/skills/openspec/openspec-new-change/SKILL.md +74 -0
  233. package/skills/openspec/openspec-new-change/_meta.json +1 -0
  234. package/skills/openspec/openspec-onboard/SKILL.md +554 -0
  235. package/skills/openspec/openspec-onboard/_meta.json +1 -0
  236. package/skills/openspec/openspec-sync-specs/SKILL.md +138 -0
  237. package/skills/openspec/openspec-sync-specs/_meta.json +1 -0
  238. package/skills/openspec/openspec-verify-change/SKILL.md +168 -0
  239. package/skills/openspec/openspec-verify-change/_meta.json +1 -0
  240. package/skills/pr/pdd-multi-review/SKILL.md +534 -0
  241. package/skills/pr/pdd-multi-review/_meta.json +1 -0
  242. package/skills/pr/pdd-pr-batch/SKILL.md +303 -0
  243. package/skills/pr/pdd-pr-batch/_meta.json +1 -0
  244. package/skills/pr/pdd-pr-create/SKILL.md +344 -0
  245. package/skills/pr/pdd-pr-create/_meta.json +1 -0
  246. package/skills/pr/pdd-pr-merge/SKILL.md +286 -0
  247. package/skills/pr/pdd-pr-merge/_meta.json +1 -0
  248. package/skills/pr/pdd-pr-review/SKILL.md +217 -0
  249. package/skills/pr/pdd-pr-review/_meta.json +1 -0
  250. package/skills/pr/pdd-task-manager/SKILL.md +636 -0
  251. package/skills/pr/pdd-task-manager/_meta.json +1 -0
  252. package/skills/pr/pdd-template-engine/SKILL.md +306 -0
  253. package/skills/pr/pdd-template-engine/_meta.json +1 -0
  254. package/templates/behavior-shaping/iron-law-template.md +87 -0
  255. package/templates/behavior-shaping/rationalization-template.md +62 -0
  256. package/templates/behavior-shaping/red-flags-template.md +70 -0
  257. package/templates/bilingual-template.md +139 -0
  258. package/templates/config/default.yaml +47 -0
  259. package/templates/project/default/README.md +31 -0
  260. package/templates/project/frontend/README.md +46 -0
  261. package/templates/project/java/README.md +48 -0
@@ -0,0 +1,350 @@
1
+ ---
2
+ name: pdd-doc-change
3
+ description: PDD框架下的文档变更管理Skill,管理开发规格文档修改工作流。当需求变更需要更新规格文档时调用。支持中文触发:文档变更、规格修改、需求变更、变更管理。
4
+ license: MIT
5
+ compatibility: 需要已有的开发规格文档
6
+ metadata:
7
+ author: "neuqik@hotmail.com"
8
+ version: "1.0"
9
+ parent: pdd-main
10
+ ---
11
+
12
+ # PDD 文档变更管理 (pdd-doc-change) / Document Change Management
13
+
14
+ ## 核心概念 / Core Concepts
15
+
16
+ ### 🇨🇳 核心概念
17
+
18
+ 本Skill是PRD驱动开发(PDD)框架下的文档变更管理组件,专门用于管理开发规格文档的修改工作流,确保文档变更的系统性、完整性和可追溯性。
19
+
20
+ ### 🇺🇸 Core Concepts
21
+
22
+ This Skill is a document change management component within the PRD-Driven Development (PDD) framework, specifically designed to manage the modification workflow of development specification documents, ensuring systematic, complete, and traceable document changes.
23
+
24
+ ## 触发时机 / Trigger Conditions
25
+
26
+ ### 🇨🇳 触发时机
27
+
28
+ **自动触发**: 需求变更需要更新开发规格 | 功能点实现过程中发现规格问题
29
+
30
+ **手动触发**: 用户输入`/analyze`/`/audit`/`/doc`等命令 | 用户明确要求修改设计文档
31
+
32
+ ### 🇺🇸 Trigger Conditions
33
+
34
+ **Auto-triggered**: Requirement changes require updating development specs | Specification issues discovered during feature point implementation
35
+
36
+ **Manual trigger**: User inputs `/analyze`/`/audit`/`/doc` commands | User explicitly requests design document modifications
37
+
38
+ ## 核心能力 / Core Capabilities
39
+
40
+ ### 🇨🇳 核心能力
41
+
42
+ 1. **文档导入与分析**: 解析现有规格文档 | 提取变更关键点 | 建立文档结构索引 | 识别文档间依赖关系
43
+
44
+ 2. **修改计划生成**: 对比分析现有规格 | 生成系统性修改计划(修改范围/内容/优先级P0-P2/实施步骤)
45
+
46
+ 3. **TODO.md生成**: 结构化任务清单(任务ID/修改内容/关联文档/优先级/状态/修改说明)
47
+
48
+ 4. **文档修改执行**: 根据TODO.md对指定规格文档进行修改 | 确保符合技术规范 | 保持文档风格一致性
49
+
50
+ 5. **CHANGELOG.md维护**: 记录详细变更信息(时间/文档/内容摘要/前后对比/关联需求ID)
51
+
52
+ 6. **变更校验与核对**: 比对TODO.md与CHANGELOG.md | 验证所有计划修改已实施并记录 | 检查文档间一致性
53
+
54
+ 7. **结果报告生成**: 总体完成情况 | 已完成/未完成项 | 一致性校验结果 | 后续建议
55
+
56
+ ### 🇺🇸 Core Capabilities
57
+
58
+ 1. **Document Import & Analysis**: Parse existing specification documents | Extract key change points | Build document structure index | Identify inter-document dependencies
59
+
60
+ 2. **Modification Plan Generation**: Comparative analysis of existing specs | Generate systematic modification plan (scope/content/priority P0-P2/implementation steps)
61
+
62
+ 3. **TODO.md Generation**: Structured task list (task ID/modification content/associated document/priority/status/modification notes)
63
+
64
+ 4. **Document Modification Execution**: Modify specified spec documents per TODO.md | Ensure compliance with technical standards | Maintain consistent document style
65
+
66
+ 5. **CHANGELOG.md Maintenance**: Record detailed change information (time/document/content summary/before-after comparison/associated requirement ID)
67
+
68
+ 6. **Change Verification & Validation**: Compare TODO.md with CHANGELOG.md | Verify all planned modifications implemented and documented | Check inter-document consistency
69
+
70
+ 7. **Result Report Generation**: Overall completion status | Completed/incomplete items | Consistency verification results | Follow-up recommendations
71
+
72
+ ## 工作流程 / Workflow
73
+
74
+ ### 🇨🇳 工作流程
75
+
76
+ 接收修改需求 → 分析变更文档/需求 → 对比现有规格文档 → 生成修改计划 → 创建TODO.md → 执行文档修改 → 更新CHANGELOG.md → 变更校验 → [全部完成?] → 是:生成结果报告 | 否:继续执行修改
77
+
78
+ ### 🇺🇸 Workflow
79
+
80
+ Receive modification request → Analyze change documents/requirements → Compare with existing spec documents → Generate modification plan → Create TODO.md → Execute document modifications → Update CHANGELOG.md → Change verification → [All complete?] → Yes:Generate result report | No:Continue modifications
81
+
82
+ ## 与PDD流程集成 / PDD Process Integration
83
+
84
+ ### 🇨🇳 与PDD流程集成
85
+
86
+ 需求变更发生 → pdd-doc-change分析变更影响 → 确定需要修改的规格文档 → 生成修改计划和TODO → 执行文档修改 → 更新CHANGELOG → 校验变更完整性 → 通知相关功能点重新验证
87
+
88
+ ### 🇺🇸 PDD Process Integration
89
+
90
+ Requirement change occurs → pdd-doc-change analyzes change impact → Determine spec documents to modify → Generate modification plan and TODO → Execute document modifications → Update CHANGELOG → Verify change completeness → Notify related feature points for re-validation
91
+
92
+ ## 使用场景 / Use Cases
93
+
94
+ ### 🇨🇳 使用场景
95
+
96
+ 1. **需求变更管理**: 业务需求变化时系统性更新相关规格文档
97
+ 2. **版本迭代更新**: 产品版本迭代时的规格文档同步更新
98
+ 3. **问题修复记录**: 基于用户反馈修复文档中的错误或遗漏
99
+ 4. **合规性调整**: 根据新法规或内部制度调整规格内容
100
+ 5. **流程优化**: 业务流程优化后的规格文档更新
101
+
102
+ ### 🇺🇸 Use Cases
103
+
104
+ 1. **Requirement Change Management**: Systematically update related specification documents when business requirements change
105
+ 2. **Version Iteration Updates**: Synchronize specification document updates during product version iterations
106
+ 3. **Issue Fix Records**: Fix errors or omissions in documents based on user feedback
107
+ 4. **Compliance Adjustments**: Adjust specification content according to new regulations or internal policies
108
+ 5. **Process Optimization**: Update specification documents after business process optimization
109
+
110
+ ## 操作规范 / Operational Standards
111
+
112
+ ### 🇨🇳 操作规范
113
+
114
+ #### 文档命名规范
115
+ TODO.md: `dev-specs/`目录下 | CHANGELOG.md: `dev-specs/`目录下 | 修改计划:`变更计划.md` | 结果报告:`变更完成报告.md`
116
+
117
+ #### 任务优先级定义
118
+
119
+ | 优先级 | 定义 | 处理方式 |
120
+ |--------|------|----------|
121
+ | P0 | 紧急且重要(影响核心业务流程或合规性) | 立即执行 |
122
+ | P1 | 重要不紧急(重要的功能改进) | 短期内完成 |
123
+ | P2 | 可优化(体验优化或补充说明) | 可延后处理 |
124
+
125
+ #### 变更日志格式
126
+ ```markdown
127
+ ### [版本号] - YYYY-MM-DD
128
+ #### 新增 | #### 修改 | #### 删除 | #### 修复
129
+ ```
130
+
131
+ ### 🇺🇸 Operational Standards
132
+
133
+ #### Document Naming Conventions
134
+ TODO.md: Under `dev-specs/` directory | CHANGELOG.md: Under `dev-specs/` directory | Modification Plan:`变更计划.md` | Result Report:`变更完成报告.md`
135
+
136
+ #### Task Priority Definition
137
+
138
+ | Priority | Definition | Handling |
139
+ |----------|------------|----------|
140
+ | P0 | Urgent & Critical (affects core business processes or compliance) | Execute immediately |
141
+ | P1 | Important but Not Urgent (important feature improvements) | Complete within short term |
142
+ | P2 | Can Optimize (experience optimization or supplementary notes) | Can be deferred |
143
+
144
+ #### Change Log Format
145
+ ```markdown
146
+ ### [Version] - YYYY-MM-DD
147
+ #### Added | #### Modified | #### Deleted | #### Fixed
148
+ ```
149
+
150
+ ## 输出模板 / Output Templates
151
+
152
+ ### 🇨🇳 输出模板
153
+
154
+ #### TODO.md模板
155
+ ```markdown
156
+ # 规格文档修改任务清单
157
+ ## 修改背景 | ## 关联功能点(FP-XXX)
158
+ ## 任务列表: ### [任务ID]-[任务名称](优先级/关联文档/修改内容/状态/备注)
159
+ ```
160
+
161
+ #### 变更完成报告模板
162
+ ```markdown
163
+ # 规格文档变更完成报告
164
+ ## 基本信息(变更主题/日期/负责人/关联需求)
165
+ ## 完成情况(总任务数/已完成/完成率)
166
+ ## 已完成修改项 | ## 文档一致性校验
167
+ ## 影响的功能点(FP-ID/名称/影响程度/需要重新验证)
168
+ ## 后续建议
169
+ ```
170
+
171
+ ### 🇺🇸 Output Templates
172
+
173
+ #### TODO.md Template
174
+ ```markdown
175
+ # Specification Document Modification Task List
176
+ ## Modification Background | ## Associated Feature Points (FP-XXX)
177
+ ## Task List: ### [Task ID]-[Task Name](Priority/Associated Document/Modification Content/Status/Notes)
178
+ ```
179
+
180
+ #### Change Completion Report Template
181
+ ```markdown
182
+ # Specification Document Change Completion Report
183
+ ## Basic Information (Change Topic/Date/Owner/Associated Requirement)
184
+ ## Completion Status (Total Tasks/Completed/Completion Rate)
185
+ ## Completed Modifications | ## Document Consistency Verification
186
+ ## Affected Feature Points (FP-ID/Name/Impact Level/Re-validation Required)
187
+ ## Follow-up Recommendations
188
+ ```
189
+
190
+ ## 最佳实践 / Best Practices
191
+
192
+ ### 🇨🇳 最佳实践
193
+
194
+ 1. **修改前备份**: 执行修改前创建文档备份
195
+ 2. **小步快跑**: 将大修改分解为多个小任务,逐个完成
196
+ 3. **及时记录**: 每完成一个修改立即更新CHANGELOG
197
+ 4. **交叉验证**: 修改完成后进行文档间的一致性检查
198
+ 5. **相关方确认**: 重要修改需经相关方确认后再提交
199
+
200
+ ### 🇺🇸 Best Practices
201
+
202
+ 1. **Backup Before Modification**: Create document backup before executing modifications
203
+ 2. **Small Steps Fast**: Break down large modifications into smaller tasks, complete one by one
204
+ 3. **Timely Recording**: Update CHANGELOG immediately after each modification is completed
205
+ 4. **Cross-validation**: Perform inter-document consistency checks after modifications are complete
206
+ 5. **Stakeholder Confirmation**: Important modifications require stakeholder confirmation before submission
207
+
208
+ ## 注意事项 / Notes
209
+
210
+ ### 🇨🇳 注意事项
211
+
212
+ 保持文档风格一致 | 避免过度修改(只改必要内容) | 术语一致性 | 链接有效性 | 版本兼容性考虑
213
+
214
+ ### 🇺🇸 Notes
215
+
216
+ Maintain consistent document style | Avoid over-modification (only modify necessary content) | Terminology consistency | Link validity | Version compatibility considerations
217
+
218
+ ## Guardrails / Guardrails
219
+
220
+ ### 🇨🇳 Guardrails
221
+
222
+ - 修改规格文档必须同步更新CHANGELOG
223
+ - 修改后必须通知相关功能点进行重新验证
224
+ - 必须保持文档间的一致性
225
+ - 必须记录变更影响范围
226
+
227
+ ### 🇺🇸 Guardrails
228
+
229
+ - Modifying specification documents requires synchronous CHANGELOG update
230
+ - After modification, must notify related feature points for re-validation
231
+ - Must maintain inter-document consistency
232
+ - Must record change impact scope
233
+
234
+ ---
235
+
236
+ ## Iron Law / 铁律
237
+
238
+ ### 🇨🇳 Iron Law (中文)
239
+
240
+ 1. **变更必须有据**: 每次文档修改都必须关联到明确的需求变更ID或沟通记录,不得基于模糊的"感觉需要改"而修改规格。
241
+
242
+ 2. **影响分析前置**: 执行任何修改前必须先完成影响分析(哪些功能点、哪些文档会受影响),不得直接修改后再看影响范围。
243
+
244
+ 3. **变更可追溯**: 所有修改操作必须记录到CHANGELOG.md中,包含修改前后对比、修改原因、关联的需求变更ID。
245
+
246
+ 4. **一致性强制校验**: 修改完成后必须执行文档间一致性检查(接口定义、数据模型、业务规则在不同文档间是否一致),不一致的变更不得标记为完成。
247
+
248
+ 5. **通知下游不可省略**: 规格文档变更后必须通知相关功能点进行重新验证,不得静默更新规格而期望下游自动感知。
249
+
250
+ **违规示例**: ❌ 直接修改spec.md而不记录到CHANGELOG | ❌ 修改接口字段后未检查前端API调用是否同步更新 | ❌ 变更影响范围未评估就执行了修改 | ❌ 修改了规格但未通知相关的功能点重新验证 | ❌ CHANGELOG中只写"修改了接口"而没有具体说明改了什么
251
+
252
+ **合规示例**: ✅ 每个修改任务都关联需求变更REQ-CHANGE-20260322-001 | ✅ 修改前生成影响分析报告:涉及FP-001和FP-002 | ✅ CHANGELOG详细记录:"v1.1-2026-03-22:新增evaluationMethod字段(String),源自需求变更REQ-xxx" | ✅ 修改后自动检查spec.md与checklist.md的一致性 | ✅ 变更完成后输出通知清单:需要FP-001和FP-002重新执行验证
253
+
254
+ ### 🇺🇸 Iron Law (English)
255
+
256
+ 1. **Changes Must Be Grounded**: Every document modification must be linked to a clear requirement change ID or communication record; never modify specifications based on vague "feeling it needs change."
257
+
258
+ 2. **Impact Analysis First**: Before executing any modification, complete impact analysis first (which feature points, which documents will be affected); never modify first and check impact scope later.
259
+
260
+ 3. **Changes Must Be Traceable**: All modification operations must be recorded in CHANGELOG.md, including before/after comparison, modification reason, and associated requirement change ID.
261
+
262
+ 4. **Mandatory Consistency Verification**: After modifications are complete, must execute inter-document consistency checks (whether interface definitions, data models, and business rules are consistent across documents); inconsistent changes cannot be marked as complete.
263
+
264
+ 5. **Downstream Notification Cannot Be Omitted**: After specification document changes, must notify related feature points for re-validation; never silently update specifications expecting downstream to automatically detect changes.
265
+
266
+ **Violation Examples**: ❌ Directly modifying spec.md without recording in CHANGELOG | ❌ Modified interface fields without checking if frontend API calls were synchronized | ❌ Executed modifications without evaluating change impact scope | ❌ Modified specifications but did not notify related feature points for re-validation | ❌ CHANGELOG only says "modified interface" without specifying what was changed
267
+
268
+ **Compliance Examples**: ✅ Every modification task is linked to requirement change REQ-CHANGE-20260322-001 | ✅ Generated impact analysis report before modification: involves FP-001 and FP-002 | ✅ CHANGELOG detailed record: "v1.1-2026-03-22: Added evaluationMethod field (String), sourced from requirement change REQ-xxx" | ✅ Automatically checked consistency between spec.md and checklist.md after modification | ✅ Output notification list after change completion: FP-001 and FP-002 need to re-execute verification
269
+
270
+ ---
271
+
272
+ ## Rationalization Table / 理性化对照表
273
+
274
+ ### 🇨🇳 Rationalization Table (中文)
275
+
276
+ | 你可能的想法 | 请问自己 | 应该怎么做 |
277
+ |-------------|---------|-----------|
278
+ | "这个改动很小,不用走正式流程吧" | 小改动也可能引发连锁反应,且缺乏追踪会导致后续排查困难 | 所有规格文档变更都必须走完整流程:分析→计划→TODO→执行→记录→校验 |
279
+ | "CHANGELOG后面再补" | 延迟记录会导致遗漏或记忆偏差,失去追溯价值 | 边修改边记录,每完成一个TODO项就更新一次CHANGELOG |
280
+ | "这个文档改了,那个应该差不多吧" | 文档间的不一致是PDD流程中最常见的缺陷来源 | 修改后强制执行交叉引用检查,确保所有相关文档同步更新 |
281
+ | "通知验证太麻烦了,他们应该能看到" | 下游技能不会主动监控上游文档变化,必须显式通知 | 变更完成后生成通知清单,明确列出需要重新验证的功能点 |
282
+ | "原来的内容反正不对,直接覆盖吧" | 覆盖式修改会丢失历史信息,无法回溯和审计 | 保留修改历史,在CHANGELOG中记录修改前后的关键差异 |
283
+
284
+ **常见陷阱**:
285
+ 1. **"随意变更"陷阱**: 缺乏正式变更请求就直接修改规格 → 强制要求变更必须有明确的变更源(需求变更单/沟通记录/问题报告)
286
+ 2. **"孤岛修改"陷阱**: 只修改了一个文档而未同步更新关联文档 → 建立"文档依赖图",修改时自动识别所有受影响的文档
287
+ 3. **"记录缺失"陷阱**: 执行了修改但没有完整的变更记录 → 将CHANGELOG更新作为TODO完成的必要条件
288
+ 4. **"静默变更"陷阱**: 更新了规格但未通知下游重新验证 → 变更完成报告必须包含"下游通知清单"作为必填项
289
+
290
+ ### 🇺🇸 Rationalization Table (English)
291
+
292
+ | # | Trap / 陷阱 | Question / 请问自己 | Action / 应该怎么做 |
293
+ |---|-------------|-------------------|-------------------|
294
+ | 1 | "This change is small, no need for formal process" / "这个改动很小,不用走正式流程吧" | Small changes can also trigger chain reactions, and lack of tracking makes future troubleshooting difficult | All specification document changes must follow the complete process: Analyze → Plan → TODO → Execute → Record → Verify |
295
+ | 2 | "I'll update CHANGELOG later" / "CHANGELOG后面再补" | Delayed recording leads to omissions or memory bias, losing traceability value | Record while modifying; update CHANGELOG after each TODO item is completed |
296
+ | 3 | "This doc changed, that one should be fine" / "这个文档改了,那个应该差不多吧" | Inter-document inconsistency is the most common defect source in PDD process | Enforce cross-reference checks after modification to ensure all related documents are synchronized |
297
+ | 4 | "Notification is too troublesome, they should see it" / "通知验证太麻烦了,他们应该能看到" | Downstream skills don't proactively monitor upstream document changes; explicit notification is required | Generate notification list after change completion, clearly listing feature points needing re-validation |
298
+ | 5 | "The original content was wrong anyway, just overwrite" / "原来的内容反正不对,直接覆盖吧" | Overwrite modifications lose historical information, making rollback and auditing impossible | Preserve modification history and record key differences before/after in CHANGELOG |
299
+
300
+ **Common Traps**:
301
+ 1. **"Arbitrary Change" Trap / "随意变更"陷阱**: Modifying specifications without formal change request → Require changes to have clear change source (change request form/communication record/issue report)
302
+ 2. **"Isolated Modification" Trap / "孤岛修改"陷阱**: Only modified one document without synchronizing related documents → Build "document dependency map" to automatically identify all affected documents during modification
303
+ 3. **"Missing Records" Trap / "记录缺失"陷阱**: Executed modifications without complete change records → Make CHANGELOG update a mandatory condition for TODO completion
304
+ 4. **"Silent Change" Trap / "静默变更"陷阱**: Updated specifications without notifying downstream for re-validation → Change completion report must include "downstream notification list" as a required field
305
+
306
+ ---
307
+
308
+ ## Red Flags / 红旗警告
309
+
310
+ ### 🇨🇳 Red Flags (中文)
311
+
312
+ #### Layer 1: 输入检查
313
+ - **INPUT-DC-001**: 变更需求描述为空或过于模糊(如"优化一下接口") → 🔴 CRITICAL → 终止并要求提供具体的变更描述
314
+ - **INPUT-DC-002**: 目标规格文档不存在或路径不正确 → 🔴 CRITICAL → 终止并提示检查文档路径
315
+ - **INPUT-DC-003**: 缺少变更依据(无需求变更ID、无问题报告编号) → 🟡 WARN → 记录为"临时变更"并在报告中标注缺少正式变更依据
316
+
317
+ #### Layer 2: 执行检查
318
+ - **EXEC-DC-001**: 未完成影响分析就开始执行修改 → 🔴 CRITICAL → 暂停执行,先完成影响范围评估
319
+ - **EXEC-DC-002**: 修改了文档但未同步更新CHANGELOG → 🟡 WARN → 立即补充变更记录
320
+ - **EXEC-DC-003**: 发现文档间不一致(spec.md改了字段但checklist.md未更新) → 🔴 CRITICAL → 暂停修改,先制定完整的同步修改计划
321
+ - **EXEC-DC-004**: TODO列表中有未完成任务但标记变更为完成 → 🔴 CRITICAL → 修正状态为进行中或部分完成
322
+
323
+ #### Layer 3: 输出检查
324
+ - **OUTPUT-DC-001**: 变更完成报告缺少影响的功能点列表 → 🔴 CRITICAL → 补充受影响的功能点及建议的处理方式
325
+ - **OUTPUT-DC-002**: CHANGELOG与实际修改内容不一致 → 🔴 CRITICAL → 核对并修正CHANGELOG
326
+ - **OUTPUT-DC-003**: 缺少文档一致性校验结果 → 🟡 WARN → 补充一致性检查结果或说明未检查的原因
327
+
328
+ #### 触发Red Flag时的处理流程
329
+ 🔴 CRITICAL → 立即停止,报告问题详情,等待指示 | 🟡 WARN → 记录警告到变更日志,尝试自动修复,在最终报告中标注 | 🔵 INFO → 记录信息,正常继续
330
+
331
+ ### 🇺🇸 Red Flags (English)
332
+
333
+ #### Layer 1: Input Validation Guards / 输入检查防护
334
+ - **INPUT-DC-001**: Change requirement description is empty or too vague (e.g., "optimize the interface") → 🔴 CRITICAL → Terminate and request specific change description / 终止并要求提供具体的变更描述
335
+ - **INPUT-DC-002**: Target specification document does not exist or path is incorrect → 🔴 CRITICAL → Terminate and prompt to check document path / 终止并提示检查文档路径
336
+ - **INPUT-DC-003**: Missing change basis (no requirement change ID, no issue report number) → 🟡 WARN → Record as "temporary change" and note in report that formal change basis is missing / 记录为"临时变更"并在报告中标注缺少正式变更依据
337
+
338
+ #### Layer 2: Execution Validation Guards / 执行检查防护
339
+ - **EXEC-DC-001**: Started modifications without completing impact analysis → 🔴 CRITICAL → Pause execution, complete impact scope assessment first / 暂停执行,先完成影响范围评估
340
+ - **EXEC-DC-002**: Modified document but did not synchronously update CHANGELOG → 🟡 WARN → Immediately supplement change records / 立即补充变更记录
341
+ - **EXEC-DC-003**: Discovered inter-document inconsistency (spec.md field changed but checklist.md not updated) → 🔴 CRITICAL → Pause modification, formulate complete synchronization plan first / 暂停修改,先制定完整的同步修改计划
342
+ - **EXEC-DC-004**: TODO list has incomplete tasks but marked as complete → 🔴 CRITICAL → Correct status to in-progress or partially complete / 修正状态为进行中或部分完成
343
+
344
+ #### Layer 3: Output Validation Guards / 输出检查防护
345
+ - **OUTPUT-DC-001**: Change completion report missing list of affected feature points → 🔴 CRITICAL → Supplement affected feature points and recommended handling methods / 补充受影响的功能点及建议的处理方式
346
+ - **OUTPUT-DC-002**: CHANGELOG inconsistent with actual modification content → 🔴 CRITICAL → Verify and correct CHANGELOG / 核对并修正CHANGELOG
347
+ - **OUTPUT-DC-003**: Missing document consistency verification results → 🟡 WARN → Supplement consistency check results or explain why checks were not performed / 补充一致性检查结果或说明未检查的原因
348
+
349
+ #### Red Flag Trigger Handling / 触发Red Flag时的处理流程
350
+ 🔴 CRITICAL → Stop immediately, report problem details, await instructions / 立即停止,报告问题详情,等待指示 | 🟡 WARN → Record warning in change log, attempt auto-fix, annotate in final report / 记录警告到变更日志,尝试自动修复,在最终报告中标注 | 🔵 INFO → Record information, continue normally / 记录信息,正常继续
@@ -0,0 +1 @@
1
+ {"name": "pdd-doc-change", "version": "1.0.0", "category": "core", "description": "Manage specification document changes within the PDD workflow, tracking modifications and maintaining consistency. Invoke when requirements change, specs need updating, tracking document modifications, or handling change requests. 支持中文触发:文档变更、规格修改、需求变更、变更管理、文档修改。", "triggers": ["文档变更", "规格修改", "需求变更", "变更管理", "文档修改", "doc change", "spec update", "requirement change", "change management", "update spec"]}
@@ -0,0 +1 @@
1
+ [{"name": "SKILL.md-exists", "description": "技能文件存在且格式正确", "type": "structure", "expect": {"exists": true, "hasDescription": true}, "checks": {"file_exists": "SKILL.md"}}, {"name": "_meta.json-valid", "description": "元数据文件格式正确", "type": "structure", "expect": {"exists": true, "hasName": true, "hasVersion": true, "hasTriggers": true}, "checks": {"file_exists": "_meta.json"}}, {"name": "has-behavior-shaping", "description": "包含完整的行为塑造章节", "type": "quality", "expect": {"complete": true}, "contains": ["Iron Law", "Rationalization", "Red Flags"]}, {"name": "change-workflow-defined", "description": "定义了文档变更工作流(请求/审批/执行)", "type": "content", "contains": ["变更", "工作流", "请求", "审批", "跟踪"]}, {"name": "version-tracking-defined", "description": "定义了版本追踪和变更记录机制", "type": "content", "contains": ["版本", "追踪", "记录", "history", "changelog"]}]
@@ -0,0 +1,248 @@
1
+ ---
2
+ name: pdd-doc-gardener
3
+ description: 文档园丁技能,定期扫描识别过时或废弃文档,保持知识库新鲜度。当用户需要文档一致性检查、文档更新或清理时自动触发。支持中文触发:文档清理、文档一致性、更新文档。
4
+ license: MIT
5
+ compatibility: 需要文档目录 (docs/)
6
+ metadata:
7
+ author: "neuqik@hotmail.com"
8
+ version: "1.0"
9
+ parent: pdd-entropy-reduction
10
+ ---
11
+
12
+ # 文档园丁 / Document Gardener (pdd-doc-gardener)
13
+
14
+ ## 核心理念 / Core Philosophy
15
+
16
+ ### 🇨🇳 中文
17
+
18
+ > "文档即代码,保持同步。文档过时即视为技术债务。" —— PDD 黄金原则
19
+
20
+ 定期扫描代码仓库中的 `docs/` 目录,识别不再反映真实代码行为的过时或废弃文档。
21
+
22
+ ### 🇺🇸 English
23
+
24
+ > "Documentation is code — keep it in sync. Outdated documentation is technical debt." —— PDD Golden Principle
25
+
26
+ Periodically scan the `docs/` directory in the code repository to identify outdated or deprecated documents that no longer reflect actual code behavior.
27
+
28
+ ## 检测项 / Detection Items
29
+
30
+ ### 🇨🇳 中文
31
+
32
+ ### 1. 代码与文档不一致
33
+ 解析文档中的代码引用(文件路径/函数名/API端点) → 检查代码是否存在及行为是否一致
34
+
35
+ **示例**: 文档描述"API /api/users返回用户列表" | 实际代码返回用户详情(含订单) → 检测结果:文档过时
36
+
37
+ ### 2. 注释过时
38
+ 扫描TODO/FIXME/HACK注释 → 检查存在时间 → 标记超过N天的注释为过时
39
+
40
+ **示例**: 代码注释"// TODO: implement this later"(30天前创建) → 检测结果:注释过时
41
+
42
+ ### 3. 文档引用的代码已删除
43
+ 解析文档中的文件路径引用 → 检查文件是否存在 → 标记引用已删除文件的文档
44
+
45
+ **示例**: 文档引用"参见src/utils/helper.js" | 实际状态:文件已删除 → 检测结果:引用失效
46
+
47
+ ### 4. API文档与实现不匹配
48
+ 解析API文档端点定义 → 扫描代码实际实现 → 对比参数/返回值/错误码
49
+
50
+ **示例**: API文档:"POST /api/users,参数{name,email}" | 实际代码:"{name,email,phone}" → 检测结果:文档缺失phone参数
51
+
52
+ ### 🇺🇸 English
53
+
54
+ ### 1. Code-Documentation Inconsistency
55
+ Parse code references in documentation (file paths / function names / API endpoints) → Check whether code exists and behavior is consistent
56
+
57
+ **Example**: Document states "API /api/users returns user list" | Actual code returns user details (including orders) → Result: Documentation outdated
58
+
59
+ ### 2. Outdated Comments
60
+ Scan TODO/FIXME/HACK comments → Check creation time → Mark comments older than N days as stale
61
+
62
+ **Example**: Code comment "// TODO: implement this later" (created 30 days ago) → Result: Comment outdated
63
+
64
+ ### 3. Referenced Code Deleted
65
+ Parse file path references in documentation → Check if files exist → Flag documents referencing deleted files
66
+
67
+ **Example**: Document references "see src/utils/helper.js" | Actual status: File deleted → Result: Broken reference
68
+
69
+ ### 4. API Documentation Mismatch
70
+ Parse API endpoint definitions in docs → Scan actual code implementation → Compare parameters / return values / error codes
71
+
72
+ **Example**: API doc: "POST /api/users, params {name,email}" | Actual code: "{name,email,phone}" → Result: Doc missing phone parameter
73
+
74
+ ## 执行流程 / Execution Workflow
75
+
76
+ ### 🇨🇳 中文
77
+
78
+ 扫描(文档目录/代码注释/API文档) → 对比(代码引用/API定义/行为描述) → 分类(问题类型/严重程度/优先级) → 执行(更新文档/创建PR/删除废弃)
79
+
80
+ ### 🇺🇸 English
81
+
82
+ Scan (documentation directory / code comments / API docs) → Compare (code references / API definitions / behavior descriptions) → Classify (issue type / severity / priority) → Execute (update documentation / create PR / delete deprecated)
83
+
84
+ ## 输出格式 / Output Format
85
+
86
+ ### 🇨🇳 中文
87
+
88
+ ### 文档园丁报告
89
+
90
+ ```markdown
91
+ # 文档园丁报告 - YYYY-MM-DD
92
+ ## 扫描范围: docs/(XX文件) / src/
93
+ ## 发现问题
94
+ ### Critical(必须修复): 文件 | 问题 | 建议
95
+ ### Warning(建议修复): 文件 | 问题 | 建议
96
+ ### Info(可选修复): 文件 | 问题 | 建议
97
+ ## 执行结果: 更新X项 | 创建PR X项 | 跳过X项
98
+ ```
99
+
100
+ ### 🇺🇸 English
101
+
102
+ ### Document Gardener Report
103
+
104
+ ```markdown
105
+ # Document Gardener Report - YYYY-MM-DD
106
+ ## Scan Scope: docs/(XX files) / src/
107
+ ## Issues Found
108
+ ### Critical(Must Fix): File | Issue | Suggestion
109
+ ### Warning(Should Fix): File | Issue | Suggestion
110
+ ### Info(Optional Fix): File | Issue | Suggestion
111
+ ## Execution Results: Updated X items | Created PR X items | Skipped X items
112
+ ```
113
+
114
+ ## 配置选项 / Configuration Options (`doc-gardener-config.yaml`)
115
+
116
+ ### 🇨🇳 中文
117
+
118
+ ```yaml
119
+ doc_gardener:
120
+ scan:
121
+ docs_paths: ["docs/", "*.md"]
122
+ code_paths: ["src/"]
123
+ exclude: ["node_modules/", "dist/"]
124
+ staleness:
125
+ todo_max_age_days: 30
126
+ doc_max_age_days: 90
127
+ execution:
128
+ auto_update: true
129
+ create_pr: true
130
+ max_pr_per_run: 3
131
+ ```
132
+
133
+ ### 🇺🇸 English
134
+
135
+ ```yaml
136
+ doc_gardener:
137
+ scan:
138
+ docs_paths: ["docs/", "*.md"]
139
+ code_paths: ["src/"]
140
+ exclude: ["node_modules/", "dist/"]
141
+ staleness:
142
+ todo_max_age_days: 30
143
+ doc_max_age_days: 90
144
+ execution:
145
+ auto_update: true
146
+ create_pr: true
147
+ max_pr_per_run: 3
148
+ ```
149
+
150
+ ## 与其他技能协作 / Integration with Other Skills
151
+
152
+ ### 🇨🇳 中文
153
+
154
+ - **pdd-entropy-reduction**: 作为子技能被协调调用
155
+ - **pdd-doc-change**: 调用此技能创建文档变更PR
156
+ - **expert-entropy-auditor**: 接收审计结果,执行文档修复
157
+
158
+ ### 🇺🇸 English
159
+
160
+ - **pdd-entropy-reduction**: Invoked as a sub-skill by the coordinator
161
+ - **pdd-doc-change**: Called to create documentation change PRs
162
+ - **expert-entropy-auditor**: Receives audit results, executes documentation fixes
163
+
164
+ ---
165
+
166
+ ## Iron Law / 铁律
167
+
168
+ ### 🇨🇳 中文
169
+
170
+ 1. **证据先行**: 标记文档为"过时"前必须有明确证据(代码已删除/API已变更/行为已修改),不得基于猜测判定。
171
+
172
+ 2. **最小化干预**: 文档修复采用最小改动原则,只更新确实过时的部分,不得借机重写整个文档。
173
+
174
+ 3. **分类处置**: 按Critical/Warning/Info三级分类,Critical立即修复,Warning创建任务,Info记录观察。
175
+
176
+ 4. **不删除仅标记**: 废弃文档应标记"Deprecated"而非直接删除,删除需用户确认。
177
+
178
+ 5. **闭环追踪**: 每个问题都必须有明确状态(已修复/待修复/已忽略)和处置记录。
179
+
180
+ **违规示例**: ❌ 因为"看起来很久没更新"就标记过时 | ❌ 发现一个过时就重写整个文档 | ❌ 全部标为Critical | ❌ 直接删除引用已删除文件的段落 | ❌ 生成问题清单但不跟踪
181
+
182
+ **合规示例**: ✅ 标记过时时附证据:"引用的src/utils/helper.js在commit abc123中被删除" | ✅ 只更新过时参数,保留其余部分 | ✅ Critical=影响功能运行,Warning=误导理解,Info=形式问题 | ✅ 先归档到deprecated/目录 | ✅ 报告每个问题都有状态列
183
+
184
+ ### 🇺🇸 English
185
+
186
+ 1. **Evidence First**: Before marking a document as "outdated", there must be clear evidence (code deleted / API changed / behavior modified). Never mark based on speculation.
187
+
188
+ 2. **Minimal Intervention**: Document fixes follow the principle of minimal changes — only update truly outdated parts. Do not use this as an opportunity to rewrite the entire document.
189
+
190
+ 3. **Classified Disposition**: Classify into three levels: Critical / Warning / Info. Critical = fix immediately, Warning = create task, Info = record and observe.
191
+
192
+ 4. **Mark, Don't Delete**: Deprecated documents should be marked "Deprecated" rather than directly deleted. Deletion requires user confirmation.
193
+
194
+ 5. **Closed-Loop Tracking**: Every issue must have a clear status (fixed / pending / ignored) and disposition record.
195
+
196
+ **Violation Examples**: ❌ Mark as outdated because "looks like it hasn't been updated in a while" | ❌ Rewrite entire document upon finding one outdated item | ❌ Mark everything as Critical | ❌ Directly delete paragraphs referencing deleted files | ❌ Generate issue list without tracking
197
+
198
+ **Compliant Examples**: ✅ When marking outdated, attach evidence: "Referenced src/utils/helper.js was deleted in commit abc123" | ✅ Only update outdated parameters, preserve the rest | ✅ Critical = affects functionality, Warning = misleading understanding, Info = formatting issue | ✅ Archive to deprecated/ directory first | ✅ Report includes status column for every issue
199
+
200
+ ---
201
+
202
+ ## Rationalization Table / 理性化对照表
203
+
204
+ | # | Trap / 陷阱 | Question | Action |
205
+ |---|-------------|----------|--------|
206
+ | 1 | "这个文档肯定过时了,直接标吧" / "This doc is definitely outdated, just mark it" | 无证据判断可能错误,误标浪费时间 / Uninformed judgment may be wrong, wasting time on false positives | 必须找到具体的代码/文档不一致证据 / Must find specific code/documentation inconsistency evidence |
207
+ | 2 | "趁机会把文档重写了吧" / "Let's rewrite the doc while we're at it" | 重写会引入新错误且超出职责 / Rewriting introduces new errors and exceeds scope | 只做必要修正,大规模重构单独建议 / Only make necessary fixes; suggest large refactoring separately |
208
+ | 3 | "都是小问题,统一标Warning吧" / "These are all minor, just mark them Warning" | 失去分级导致严重问题得不到及时处理 / Losing severity levels causes serious issues to go unaddressed | 严格按影响程度分级 / Classify strictly by impact severity |
209
+ | 4 | "旧文档占空间,删掉算了" / "Old docs waste space, just delete them" | 删除不可逆,可能丢失有价值信息 / Deletion is irreversible, may lose valuable information | 先归档deprecated/,保留期(如90天)后再确认 / Archive to deprecated/ first, confirm after retention period (e.g., 90 days) |
210
+ | 5 | "报告生成了工作就完成了" / "Report generated, job done" | 发现问题不跟踪等于没做 / Finding issues without tracking is as good as doing nothing | 报告必须含处置建议和跟踪机制 / Report must include disposition suggestions and tracking mechanism |
211
+
212
+ **常见陷阱 / Common Traps**:
213
+
214
+ 1. **"过度标记"陷阱 / "Over-marking" Trap**: 大量非关键问题标记过时,制造"狼来了"效应 → 严格证据标准:每个标记必须附具体证据 / Mass non-critical issues marked outdated creates "cry wolf" effect → Strict evidence standard: every mark must attach specific evidence
215
+
216
+ 2. **"大修诱惑"陷阱 / "Major Overhaul" Trap**: 借清理之名行重构之实 → 单次修改比例上限(如不超过20%) / Using cleanup as excuse for refactoring → Single-change modification cap (e.g., max 20%)
217
+
218
+ 3. **"分级扁平"陷阱 / "Flat Classification" Trap**: 所有问题同一级别 → 量化标准:Critical=影响功能,Warning=误导理解,Info=形式 / All issues same level → Quantified standard: Critical=affects function, Warning=misleading understanding, Info=formatting
219
+
220
+ 4. **"删除冲动"陷阱 / "Deletion Impulse" Trap**: 倾向删除而非归档 → 强制流程:删除前必须移至deprecated并保留一周期 / Tendency to delete rather than archive → Mandatory process: must move to deprecated before deletion with retention period
221
+
222
+ ---
223
+
224
+ ## Red Flags / 红旗警告
225
+
226
+ ### Layer 1: 输入检查 / Input Validation Guards
227
+ - **INPUT-DG-001**: docs/目录不存在或为空 → 🔴 CRITICAL → 终止并提示目录不存在 / Terminate and report directory does not exist
228
+ - **INPUT-DG-002**: src/目录不存在无法交叉验证 → 🟡 WARN → 降级为仅检查文档内部一致性 / Degrade to internal documentation consistency check only
229
+ - **INPUT-DG-003**: doc-gardener-config.yaml缺失 → 🔵 INFO → 使用默认配置 / Use default configuration
230
+
231
+ ### Layer 2: 执行检查 / Execution Validation Guards
232
+ - **EXEC-DG-001**: 标记过时但未提供具体证据 → 🔴 CRITICAL → 补充证据或移除标记 / Provide evidence or remove the mark
233
+ - **EXEC-DG-002**: 单次修改超过文档内容的30% → 🟡 WARN → 警告可能属重构范畴,建议拆分 / Warning: may be refactoring scope, suggest splitting
234
+ - **EXEC-DG-003**: 直接删除文档而非先归档 → 🔴 CRITICAL → 先移至deprecated/并添加Deprecated标记 / Move to deprecated/ first and add Deprecated marker
235
+ - **EXEC-DG-004**: Critical问题未生成修复建议 → 🟡 WARN → 为每个Critical补充人工修复指导 / Add manual fix guidance for each Critical issue
236
+
237
+ ### Layer 3: 输出检查 / Output Validation Guards
238
+ - **OUTPUT-DG-001**: 报告缺少分级统计(Critical/Warning/Info数量) → 🔴 CRITICAL → 补充分级汇总 / Add severity classification summary
239
+ - **OUTPUT-DG-002**: 报告缺少处置建议或后续计划 → 🟡 WARN → 补充建议处理方式 / Add suggested disposition actions
240
+ - **OUTPUT-DG-003**: 执行结果与问题清单不匹配 → 🔴 CRITICAL → 说明未处理原因和状态 / Explain reasons and status for unaddressed items
241
+
242
+ ### 触发Red Flag时的处理流程 / Trigger Handling Workflow
243
+
244
+ 🔴 **CRITICAL** → 立即停止,报告问题详情,等待指示 / Stop immediately, report problem details, await instructions
245
+
246
+ 🟡 **WARN** → 记录警告,尝试自动修复,在报告中标注 / Log warning, attempt auto-fix, annotate in report
247
+
248
+ 🔵 **INFO** → 记录信息,正常继续 / Log information, continue normally
@@ -0,0 +1 @@
1
+ {"name": "pdd-doc-gardener", "version": "1.0.0", "category": "core", "description": "Periodically scan and clean up outdated documentation to keep the knowledge base fresh and consistent with code. Call this Skill when docs become stale, need consistency checks, require pruning, or detecting orphaned documents. 支持中文触发:文档清理、文档一致性、更新文档、文档整理、过时文档。", "triggers": ["文档清理", "文档一致性", "更新文档", "文档整理", "过时文档", "doc cleanup", "doc gardener", "stale docs", "documentation hygiene", "prune docs"]}
@@ -0,0 +1 @@
1
+ [{"name": "SKILL.md-exists", "description": "技能文件存在且格式正确", "type": "structure", "expect": {"exists": true, "hasDescription": true}, "checks": {"file_exists": "SKILL.md"}}, {"name": "_meta.json-valid", "description": "元数据文件格式正确", "type": "structure", "expect": {"exists": true, "hasName": true, "hasVersion": true, "hasTriggers": true}, "checks": {"file_exists": "_meta.json"}}, {"name": "has-behavior-shaping", "description": "包含完整的行为塑造章节", "type": "quality", "expect": {"complete": true}, "contains": ["Iron Law", "Rationalization", "Red Flags"]}, {"name": "scan-rules-defined", "description": "定义了文档扫描规则(过时/废弃/孤立)", "type": "content", "contains": ["扫描", "过时", "废弃", "孤立", "一致"]}, {"name": "cleanup-actions-defined", "description": "定义了文档清理操作类型", "type": "content", "contains": ["清理", "更新", "归档", "删除", "action"]}]