drt-method 1.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 (299) hide show
  1. package/AGENTS.md +45 -0
  2. package/GETTING-STARTED.md +269 -0
  3. package/README.md +233 -0
  4. package/drt-method-1.0.0.tgz +0 -0
  5. package/drt-modules.yaml +1 -0
  6. package/package.json +51 -0
  7. package/scripts/install-from-github.ps1 +22 -0
  8. package/scripts/install-from-github.sh +17 -0
  9. package/src/core-skills/drt-advanced-elicitation/SKILL.md +142 -0
  10. package/src/core-skills/drt-advanced-elicitation/methods.csv +72 -0
  11. package/src/core-skills/drt-brainstorming/SKILL.md +80 -0
  12. package/src/core-skills/drt-brainstorming/assets/brain-icons.json +166 -0
  13. package/src/core-skills/drt-brainstorming/assets/brain-methods.csv +109 -0
  14. package/src/core-skills/drt-brainstorming/assets/brain-selector.html +326 -0
  15. package/src/core-skills/drt-brainstorming/customize.toml +84 -0
  16. package/src/core-skills/drt-brainstorming/references/converge.md +24 -0
  17. package/src/core-skills/drt-brainstorming/references/finalize.md +26 -0
  18. package/src/core-skills/drt-brainstorming/references/headless.md +54 -0
  19. package/src/core-skills/drt-brainstorming/references/in-chat-techniques.md +18 -0
  20. package/src/core-skills/drt-brainstorming/references/mode-autonomous.md +10 -0
  21. package/src/core-skills/drt-brainstorming/references/mode-facilitator.md +11 -0
  22. package/src/core-skills/drt-brainstorming/references/mode-partner.md +16 -0
  23. package/src/core-skills/drt-brainstorming/references/resume.md +5 -0
  24. package/src/core-skills/drt-brainstorming/scripts/brain.py +740 -0
  25. package/src/core-skills/drt-customize/SKILL.md +111 -0
  26. package/src/core-skills/drt-customize/scripts/list_customizable_skills.py +231 -0
  27. package/src/core-skills/drt-editorial-review-prose/SKILL.md +86 -0
  28. package/src/core-skills/drt-editorial-review-structure/SKILL.md +179 -0
  29. package/src/core-skills/drt-forge-idea/SKILL.md +107 -0
  30. package/src/core-skills/drt-forge-idea/customize.toml +42 -0
  31. package/src/core-skills/drt-forge-idea/scripts/resolve_personas.py +270 -0
  32. package/src/core-skills/drt-help/SKILL.md +75 -0
  33. package/src/core-skills/drt-index-docs/SKILL.md +66 -0
  34. package/src/core-skills/drt-party-mode/SKILL.md +60 -0
  35. package/src/core-skills/drt-party-mode/customize.toml +211 -0
  36. package/src/core-skills/drt-party-mode/references/create-party.md +70 -0
  37. package/src/core-skills/drt-party-mode/references/mode-agent-team.md +13 -0
  38. package/src/core-skills/drt-party-mode/references/mode-auto.md +13 -0
  39. package/src/core-skills/drt-party-mode/references/mode-subagent.md +31 -0
  40. package/src/core-skills/drt-party-mode/references/party-memory.md +51 -0
  41. package/src/core-skills/drt-party-mode/scripts/resolve_party.py +272 -0
  42. package/src/core-skills/drt-review-adversarial-general/SKILL.md +37 -0
  43. package/src/core-skills/drt-review-edge-case-hunter/SKILL.md +73 -0
  44. package/src/core-skills/drt-review-edge-case-hunter/references/deletion-check.md +14 -0
  45. package/src/core-skills/drt-review-verification-gap/SKILL.md +106 -0
  46. package/src/core-skills/drt-shard-doc/SKILL.md +105 -0
  47. package/src/core-skills/drt-spec/SKILL.md +160 -0
  48. package/src/core-skills/drt-spec/assets/headless-schemas.md +33 -0
  49. package/src/core-skills/drt-spec/assets/spec-template.md +49 -0
  50. package/src/core-skills/drt-spec/assets/stories-schema.md +44 -0
  51. package/src/core-skills/drt-spec/customize.toml +53 -0
  52. package/src/core-skills/module-help.csv +14 -0
  53. package/src/core-skills/module.yaml +33 -0
  54. package/src/drt-skills/1-analysis/drt-agent-analyst/SKILL.md +76 -0
  55. package/src/drt-skills/1-analysis/drt-agent-analyst/customize.toml +90 -0
  56. package/src/drt-skills/1-analysis/drt-agent-tech-writer/SKILL.md +76 -0
  57. package/src/drt-skills/1-analysis/drt-agent-tech-writer/customize.toml +81 -0
  58. package/src/drt-skills/1-analysis/drt-agent-tech-writer/explain-concept.md +20 -0
  59. package/src/drt-skills/1-analysis/drt-agent-tech-writer/mermaid-gen.md +20 -0
  60. package/src/drt-skills/1-analysis/drt-agent-tech-writer/validate-doc.md +19 -0
  61. package/src/drt-skills/1-analysis/drt-agent-tech-writer/write-document.md +20 -0
  62. package/src/drt-skills/1-analysis/drt-document-project/SKILL.md +62 -0
  63. package/src/drt-skills/1-analysis/drt-document-project/checklist.md +245 -0
  64. package/src/drt-skills/1-analysis/drt-document-project/customize.toml +41 -0
  65. package/src/drt-skills/1-analysis/drt-document-project/documentation-requirements.csv +12 -0
  66. package/src/drt-skills/1-analysis/drt-document-project/instructions.md +128 -0
  67. package/src/drt-skills/1-analysis/drt-document-project/templates/deep-dive-template.md +345 -0
  68. package/src/drt-skills/1-analysis/drt-document-project/templates/index-template.md +169 -0
  69. package/src/drt-skills/1-analysis/drt-document-project/templates/project-overview-template.md +103 -0
  70. package/src/drt-skills/1-analysis/drt-document-project/templates/project-scan-report-schema.json +160 -0
  71. package/src/drt-skills/1-analysis/drt-document-project/templates/source-tree-template.md +135 -0
  72. package/src/drt-skills/1-analysis/drt-document-project/workflows/deep-dive-instructions.md +300 -0
  73. package/src/drt-skills/1-analysis/drt-document-project/workflows/deep-dive-workflow.md +34 -0
  74. package/src/drt-skills/1-analysis/drt-document-project/workflows/full-scan-instructions.md +1111 -0
  75. package/src/drt-skills/1-analysis/drt-document-project/workflows/full-scan-workflow.md +34 -0
  76. package/src/drt-skills/1-analysis/drt-prfaq/SKILL.md +135 -0
  77. package/src/drt-skills/1-analysis/drt-prfaq/agents/artifact-analyzer.md +60 -0
  78. package/src/drt-skills/1-analysis/drt-prfaq/agents/web-researcher.md +49 -0
  79. package/src/drt-skills/1-analysis/drt-prfaq/assets/prfaq-template.md +62 -0
  80. package/src/drt-skills/1-analysis/drt-prfaq/bmad-manifest.json +16 -0
  81. package/src/drt-skills/1-analysis/drt-prfaq/customize.toml +41 -0
  82. package/src/drt-skills/1-analysis/drt-prfaq/references/customer-faq.md +55 -0
  83. package/src/drt-skills/1-analysis/drt-prfaq/references/internal-faq.md +51 -0
  84. package/src/drt-skills/1-analysis/drt-prfaq/references/press-release.md +60 -0
  85. package/src/drt-skills/1-analysis/drt-prfaq/references/verdict.md +83 -0
  86. package/src/drt-skills/1-analysis/drt-product-brief/SKILL.md +91 -0
  87. package/src/drt-skills/1-analysis/drt-product-brief/assets/brief-template.md +41 -0
  88. package/src/drt-skills/1-analysis/drt-product-brief/customize.toml +99 -0
  89. package/src/drt-skills/1-analysis/research/drt-domain-research/SKILL.md +96 -0
  90. package/src/drt-skills/1-analysis/research/drt-domain-research/customize.toml +41 -0
  91. package/src/drt-skills/1-analysis/research/drt-domain-research/domain-steps/step-01-init.md +137 -0
  92. package/src/drt-skills/1-analysis/research/drt-domain-research/domain-steps/step-02-domain-analysis.md +229 -0
  93. package/src/drt-skills/1-analysis/research/drt-domain-research/domain-steps/step-03-competitive-landscape.md +238 -0
  94. package/src/drt-skills/1-analysis/research/drt-domain-research/domain-steps/step-04-regulatory-focus.md +206 -0
  95. package/src/drt-skills/1-analysis/research/drt-domain-research/domain-steps/step-05-technical-trends.md +234 -0
  96. package/src/drt-skills/1-analysis/research/drt-domain-research/domain-steps/step-06-research-synthesis.md +450 -0
  97. package/src/drt-skills/1-analysis/research/drt-domain-research/research.template.md +29 -0
  98. package/src/drt-skills/1-analysis/research/drt-market-research/SKILL.md +96 -0
  99. package/src/drt-skills/1-analysis/research/drt-market-research/customize.toml +41 -0
  100. package/src/drt-skills/1-analysis/research/drt-market-research/research.template.md +29 -0
  101. package/src/drt-skills/1-analysis/research/drt-market-research/steps/step-01-init.md +184 -0
  102. package/src/drt-skills/1-analysis/research/drt-market-research/steps/step-02-customer-behavior.md +239 -0
  103. package/src/drt-skills/1-analysis/research/drt-market-research/steps/step-03-customer-pain-points.md +251 -0
  104. package/src/drt-skills/1-analysis/research/drt-market-research/steps/step-04-customer-decisions.md +261 -0
  105. package/src/drt-skills/1-analysis/research/drt-market-research/steps/step-05-competitive-analysis.md +173 -0
  106. package/src/drt-skills/1-analysis/research/drt-market-research/steps/step-06-research-completion.md +484 -0
  107. package/src/drt-skills/1-analysis/research/drt-technical-research/SKILL.md +96 -0
  108. package/src/drt-skills/1-analysis/research/drt-technical-research/customize.toml +41 -0
  109. package/src/drt-skills/1-analysis/research/drt-technical-research/research.template.md +29 -0
  110. package/src/drt-skills/1-analysis/research/drt-technical-research/technical-steps/step-01-init.md +137 -0
  111. package/src/drt-skills/1-analysis/research/drt-technical-research/technical-steps/step-02-technical-overview.md +239 -0
  112. package/src/drt-skills/1-analysis/research/drt-technical-research/technical-steps/step-03-integration-patterns.md +248 -0
  113. package/src/drt-skills/1-analysis/research/drt-technical-research/technical-steps/step-04-architectural-patterns.md +202 -0
  114. package/src/drt-skills/1-analysis/research/drt-technical-research/technical-steps/step-05-implementation-research.md +233 -0
  115. package/src/drt-skills/1-analysis/research/drt-technical-research/technical-steps/step-06-research-synthesis.md +493 -0
  116. package/src/drt-skills/2-plan-workflows/drt-agent-pm/SKILL.md +76 -0
  117. package/src/drt-skills/2-plan-workflows/drt-agent-pm/customize.toml +75 -0
  118. package/src/drt-skills/2-plan-workflows/drt-agent-ux-designer/SKILL.md +76 -0
  119. package/src/drt-skills/2-plan-workflows/drt-agent-ux-designer/customize.toml +60 -0
  120. package/src/drt-skills/2-plan-workflows/drt-create-prd/SKILL.md +30 -0
  121. package/src/drt-skills/2-plan-workflows/drt-create-prd/customize.toml +41 -0
  122. package/src/drt-skills/2-plan-workflows/drt-edit-prd/SKILL.md +30 -0
  123. package/src/drt-skills/2-plan-workflows/drt-edit-prd/customize.toml +42 -0
  124. package/src/drt-skills/2-plan-workflows/drt-prd/SKILL.md +92 -0
  125. package/src/drt-skills/2-plan-workflows/drt-prd/assets/headless-schemas.md +76 -0
  126. package/src/drt-skills/2-plan-workflows/drt-prd/assets/prd-template.md +165 -0
  127. package/src/drt-skills/2-plan-workflows/drt-prd/assets/prd-validation-checklist.md +135 -0
  128. package/src/drt-skills/2-plan-workflows/drt-prd/assets/validation-report-template.html +325 -0
  129. package/src/drt-skills/2-plan-workflows/drt-prd/customize.toml +147 -0
  130. package/src/drt-skills/2-plan-workflows/drt-prd/references/headless.md +39 -0
  131. package/src/drt-skills/2-plan-workflows/drt-prd/references/validate.md +97 -0
  132. package/src/drt-skills/2-plan-workflows/drt-ux/SKILL.md +90 -0
  133. package/src/drt-skills/2-plan-workflows/drt-ux/assets/color-themes.md +9 -0
  134. package/src/drt-skills/2-plan-workflows/drt-ux/assets/design-directions.md +9 -0
  135. package/src/drt-skills/2-plan-workflows/drt-ux/assets/design-example-editorial.md +158 -0
  136. package/src/drt-skills/2-plan-workflows/drt-ux/assets/design-example-mobile.md +93 -0
  137. package/src/drt-skills/2-plan-workflows/drt-ux/assets/design-example-shadcn.md +109 -0
  138. package/src/drt-skills/2-plan-workflows/drt-ux/assets/excalidraw-wireframe.md +19 -0
  139. package/src/drt-skills/2-plan-workflows/drt-ux/assets/experience-example-mobile.md +112 -0
  140. package/src/drt-skills/2-plan-workflows/drt-ux/assets/experience-example-shadcn.md +133 -0
  141. package/src/drt-skills/2-plan-workflows/drt-ux/assets/headless-schemas.md +84 -0
  142. package/src/drt-skills/2-plan-workflows/drt-ux/assets/key-screens.md +29 -0
  143. package/src/drt-skills/2-plan-workflows/drt-ux/assets/validation-report-template.html +319 -0
  144. package/src/drt-skills/2-plan-workflows/drt-ux/customize.toml +100 -0
  145. package/src/drt-skills/2-plan-workflows/drt-ux/references/creative-tools.md +19 -0
  146. package/src/drt-skills/2-plan-workflows/drt-ux/references/design-md-spec.md +50 -0
  147. package/src/drt-skills/2-plan-workflows/drt-ux/references/headless.md +37 -0
  148. package/src/drt-skills/2-plan-workflows/drt-ux/references/validate.md +115 -0
  149. package/src/drt-skills/2-plan-workflows/drt-validate-prd/SKILL.md +30 -0
  150. package/src/drt-skills/2-plan-workflows/drt-validate-prd/customize.toml +42 -0
  151. package/src/drt-skills/3-solutioning/drt-agent-architect/SKILL.md +76 -0
  152. package/src/drt-skills/3-solutioning/drt-agent-architect/customize.toml +65 -0
  153. package/src/drt-skills/3-solutioning/drt-architecture/SKILL.md +85 -0
  154. package/src/drt-skills/3-solutioning/drt-architecture/assets/spine-template.md +79 -0
  155. package/src/drt-skills/3-solutioning/drt-architecture/customize.toml +100 -0
  156. package/src/drt-skills/3-solutioning/drt-architecture/references/headless.md +26 -0
  157. package/src/drt-skills/3-solutioning/drt-architecture/references/reviewer-gate.md +13 -0
  158. package/src/drt-skills/3-solutioning/drt-architecture/scripts/lint_spine.py +257 -0
  159. package/src/drt-skills/3-solutioning/drt-check-implementation-readiness/SKILL.md +91 -0
  160. package/src/drt-skills/3-solutioning/drt-check-implementation-readiness/customize.toml +41 -0
  161. package/src/drt-skills/3-solutioning/drt-check-implementation-readiness/steps/step-01-document-discovery.md +179 -0
  162. package/src/drt-skills/3-solutioning/drt-check-implementation-readiness/steps/step-02-prd-analysis.md +168 -0
  163. package/src/drt-skills/3-solutioning/drt-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +169 -0
  164. package/src/drt-skills/3-solutioning/drt-check-implementation-readiness/steps/step-04-ux-alignment.md +129 -0
  165. package/src/drt-skills/3-solutioning/drt-check-implementation-readiness/steps/step-05-epic-quality-review.md +241 -0
  166. package/src/drt-skills/3-solutioning/drt-check-implementation-readiness/steps/step-06-final-assessment.md +132 -0
  167. package/src/drt-skills/3-solutioning/drt-check-implementation-readiness/templates/readiness-report-template.md +4 -0
  168. package/src/drt-skills/3-solutioning/drt-create-architecture/SKILL.md +30 -0
  169. package/src/drt-skills/3-solutioning/drt-create-architecture/customize.toml +41 -0
  170. package/src/drt-skills/3-solutioning/drt-create-epics-and-stories/SKILL.md +93 -0
  171. package/src/drt-skills/3-solutioning/drt-create-epics-and-stories/customize.toml +41 -0
  172. package/src/drt-skills/3-solutioning/drt-create-epics-and-stories/steps/step-01-validate-prerequisites.md +263 -0
  173. package/src/drt-skills/3-solutioning/drt-create-epics-and-stories/steps/step-02-design-epics.md +242 -0
  174. package/src/drt-skills/3-solutioning/drt-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
  175. package/src/drt-skills/3-solutioning/drt-create-epics-and-stories/steps/step-04-final-validation.md +143 -0
  176. package/src/drt-skills/3-solutioning/drt-create-epics-and-stories/templates/epics-template.md +61 -0
  177. package/src/drt-skills/3-solutioning/drt-generate-project-context/SKILL.md +81 -0
  178. package/src/drt-skills/3-solutioning/drt-generate-project-context/customize.toml +41 -0
  179. package/src/drt-skills/3-solutioning/drt-generate-project-context/project-context-template.md +21 -0
  180. package/src/drt-skills/3-solutioning/drt-generate-project-context/steps/step-01-discover.md +186 -0
  181. package/src/drt-skills/3-solutioning/drt-generate-project-context/steps/step-02-generate.md +321 -0
  182. package/src/drt-skills/3-solutioning/drt-generate-project-context/steps/step-03-complete.md +284 -0
  183. package/src/drt-skills/4-implementation/drt-agent-dev/SKILL.md +76 -0
  184. package/src/drt-skills/4-implementation/drt-agent-dev/customize.toml +95 -0
  185. package/src/drt-skills/4-implementation/drt-checkpoint-preview/SKILL.md +68 -0
  186. package/src/drt-skills/4-implementation/drt-checkpoint-preview/customize.toml +41 -0
  187. package/src/drt-skills/4-implementation/drt-checkpoint-preview/generate-trail.md +38 -0
  188. package/src/drt-skills/4-implementation/drt-checkpoint-preview/step-01-orientation.md +105 -0
  189. package/src/drt-skills/4-implementation/drt-checkpoint-preview/step-02-walkthrough.md +89 -0
  190. package/src/drt-skills/4-implementation/drt-checkpoint-preview/step-03-detail-pass.md +106 -0
  191. package/src/drt-skills/4-implementation/drt-checkpoint-preview/step-04-testing.md +74 -0
  192. package/src/drt-skills/4-implementation/drt-checkpoint-preview/step-05-wrapup.md +30 -0
  193. package/src/drt-skills/4-implementation/drt-code-review/SKILL.md +90 -0
  194. package/src/drt-skills/4-implementation/drt-code-review/customize.toml +93 -0
  195. package/src/drt-skills/4-implementation/drt-code-review/steps/step-01-gather-context.md +84 -0
  196. package/src/drt-skills/4-implementation/drt-code-review/steps/step-02-review.md +32 -0
  197. package/src/drt-skills/4-implementation/drt-code-review/steps/step-03-triage.md +50 -0
  198. package/src/drt-skills/4-implementation/drt-code-review/steps/step-04-present.md +132 -0
  199. package/src/drt-skills/4-implementation/drt-correct-course/SKILL.md +301 -0
  200. package/src/drt-skills/4-implementation/drt-correct-course/checklist.md +288 -0
  201. package/src/drt-skills/4-implementation/drt-correct-course/customize.toml +41 -0
  202. package/src/drt-skills/4-implementation/drt-create-story/SKILL.md +432 -0
  203. package/src/drt-skills/4-implementation/drt-create-story/checklist.md +357 -0
  204. package/src/drt-skills/4-implementation/drt-create-story/customize.toml +41 -0
  205. package/src/drt-skills/4-implementation/drt-create-story/discover-inputs.md +88 -0
  206. package/src/drt-skills/4-implementation/drt-create-story/template.md +49 -0
  207. package/src/drt-skills/4-implementation/drt-dev-auto/SKILL.md +123 -0
  208. package/src/drt-skills/4-implementation/drt-dev-auto/compile-epic-context.md +62 -0
  209. package/src/drt-skills/4-implementation/drt-dev-auto/customize.toml +108 -0
  210. package/src/drt-skills/4-implementation/drt-dev-auto/spec-template.md +98 -0
  211. package/src/drt-skills/4-implementation/drt-dev-auto/step-01-clarify-and-route.md +84 -0
  212. package/src/drt-skills/4-implementation/drt-dev-auto/step-02-plan.md +31 -0
  213. package/src/drt-skills/4-implementation/drt-dev-auto/step-03-implement.md +42 -0
  214. package/src/drt-skills/4-implementation/drt-dev-auto/step-04-review.md +95 -0
  215. package/src/drt-skills/4-implementation/drt-dev-story/SKILL.md +500 -0
  216. package/src/drt-skills/4-implementation/drt-dev-story/checklist.md +80 -0
  217. package/src/drt-skills/4-implementation/drt-dev-story/customize.toml +41 -0
  218. package/src/drt-skills/4-implementation/drt-implement-task/SKILL.md +101 -0
  219. package/src/drt-skills/4-implementation/drt-implement-task/assets/task-spec-template.md +60 -0
  220. package/src/drt-skills/4-implementation/drt-implement-task/customize.toml +17 -0
  221. package/src/drt-skills/4-implementation/drt-implement-task/steps/step-01-gather-intent.md +42 -0
  222. package/src/drt-skills/4-implementation/drt-implement-task/steps/step-02-plan-and-approve.md +43 -0
  223. package/src/drt-skills/4-implementation/drt-implement-task/steps/step-03-confirm-dependencies.md +38 -0
  224. package/src/drt-skills/4-implementation/drt-implement-task/steps/step-04-implement.md +42 -0
  225. package/src/drt-skills/4-implementation/drt-implement-task/steps/step-05-qc-test.md +31 -0
  226. package/src/drt-skills/4-implementation/drt-implement-task/steps/step-06-quality-review.md +30 -0
  227. package/src/drt-skills/4-implementation/drt-implement-task/steps/step-07-fix-findings.md +33 -0
  228. package/src/drt-skills/4-implementation/drt-implement-task/steps/step-08-complete.md +35 -0
  229. package/src/drt-skills/4-implementation/drt-qa-generate-e2e-tests/SKILL.md +176 -0
  230. package/src/drt-skills/4-implementation/drt-qa-generate-e2e-tests/checklist.md +33 -0
  231. package/src/drt-skills/4-implementation/drt-qa-generate-e2e-tests/customize.toml +41 -0
  232. package/src/drt-skills/4-implementation/drt-quick-dev/SKILL.md +13 -0
  233. package/src/drt-skills/4-implementation/drt-quick-dev/compile-epic-context.md +62 -0
  234. package/src/drt-skills/4-implementation/drt-quick-dev/customize.toml +83 -0
  235. package/src/drt-skills/4-implementation/drt-quick-dev/render.js +206 -0
  236. package/src/drt-skills/4-implementation/drt-quick-dev/spec-template.md +89 -0
  237. package/src/drt-skills/4-implementation/drt-quick-dev/step-01-clarify-and-route.md +103 -0
  238. package/src/drt-skills/4-implementation/drt-quick-dev/step-02-plan.md +47 -0
  239. package/src/drt-skills/4-implementation/drt-quick-dev/step-03-implement.md +45 -0
  240. package/src/drt-skills/4-implementation/drt-quick-dev/step-04-review.md +55 -0
  241. package/src/drt-skills/4-implementation/drt-quick-dev/step-05-present.md +78 -0
  242. package/src/drt-skills/4-implementation/drt-quick-dev/step-oneshot.md +78 -0
  243. package/src/drt-skills/4-implementation/drt-quick-dev/sync-sprint-status.md +19 -0
  244. package/src/drt-skills/4-implementation/drt-quick-dev/workflow.md +85 -0
  245. package/src/drt-skills/4-implementation/drt-retrospective/SKILL.md +1527 -0
  246. package/src/drt-skills/4-implementation/drt-retrospective/customize.toml +41 -0
  247. package/src/drt-skills/4-implementation/drt-sprint-planning/SKILL.md +319 -0
  248. package/src/drt-skills/4-implementation/drt-sprint-planning/checklist.md +34 -0
  249. package/src/drt-skills/4-implementation/drt-sprint-planning/customize.toml +41 -0
  250. package/src/drt-skills/4-implementation/drt-sprint-planning/sprint-status-template.yaml +69 -0
  251. package/src/drt-skills/4-implementation/drt-sprint-status/SKILL.md +311 -0
  252. package/src/drt-skills/4-implementation/drt-sprint-status/customize.toml +41 -0
  253. package/src/drt-skills/module-help.csv +32 -0
  254. package/src/drt-skills/module.yaml +95 -0
  255. package/src/scripts/lib/load-toml.js +43 -0
  256. package/src/scripts/lib/merge-utils.js +89 -0
  257. package/src/scripts/memlog.js +184 -0
  258. package/src/scripts/package.json +7 -0
  259. package/src/scripts/resolve-config.js +56 -0
  260. package/src/scripts/resolve-customization.js +77 -0
  261. package/tools/installer/cli-utils.js +53 -0
  262. package/tools/installer/commands/install.js +149 -0
  263. package/tools/installer/commands/status.js +65 -0
  264. package/tools/installer/commands/uninstall.js +167 -0
  265. package/tools/installer/core/config.js +73 -0
  266. package/tools/installer/core/existing-install.js +121 -0
  267. package/tools/installer/core/install-paths.js +132 -0
  268. package/tools/installer/core/installer.js +1762 -0
  269. package/tools/installer/core/legacy-warnings.js +151 -0
  270. package/tools/installer/core/manifest-generator.js +859 -0
  271. package/tools/installer/core/manifest.js +433 -0
  272. package/tools/installer/core/uv-check.js +97 -0
  273. package/tools/installer/core/wsl-node-check.js +109 -0
  274. package/tools/installer/drt-cli.js +104 -0
  275. package/tools/installer/file-ops.js +204 -0
  276. package/tools/installer/fs-native.js +116 -0
  277. package/tools/installer/ide/_config-driven.js +972 -0
  278. package/tools/installer/ide/manager.js +324 -0
  279. package/tools/installer/ide/platform-codes.js +80 -0
  280. package/tools/installer/ide/platform-codes.yaml +343 -0
  281. package/tools/installer/ide/shared/installed-skills.js +50 -0
  282. package/tools/installer/ide/shared/path-utils.js +217 -0
  283. package/tools/installer/ide/shared/skill-manifest.js +57 -0
  284. package/tools/installer/install-messages.yaml +29 -0
  285. package/tools/installer/list-options.js +210 -0
  286. package/tools/installer/message-loader.js +83 -0
  287. package/tools/installer/modules/channel-plan.js +203 -0
  288. package/tools/installer/modules/channel-resolver.js +241 -0
  289. package/tools/installer/modules/custom-module-manager.js +918 -0
  290. package/tools/installer/modules/external-manager.js +667 -0
  291. package/tools/installer/modules/module-help-schema.js +13 -0
  292. package/tools/installer/modules/official-modules.js +2257 -0
  293. package/tools/installer/modules/plugin-resolver.js +398 -0
  294. package/tools/installer/modules/version-resolver.js +336 -0
  295. package/tools/installer/project-root.js +224 -0
  296. package/tools/installer/prompts.js +852 -0
  297. package/tools/installer/set-overrides.js +330 -0
  298. package/tools/installer/ui.js +2090 -0
  299. package/tools/installer/yaml-format.js +245 -0
@@ -0,0 +1,111 @@
1
+ ---
2
+ name: drt-customize
3
+ description: Authors and updates customization overrides for installed DRT skills. Use when the user says 'customize drt', 'override a skill', 'change agent behavior', or 'customize a workflow'.
4
+ ---
5
+
6
+ # DRT Customize
7
+
8
+ Translate the user's intent into a correctly-placed TOML override file under `{project-root}/_drt/custom/` for a customizable agent or workflow skill. Discover, route, author, write, verify.
9
+
10
+ Scope v1: per-skill `[agent]` overrides (`drt-agent-<role>.toml` / `.user.toml`) and per-skill `[workflow]` overrides (`drt-<workflow>.toml` / `.user.toml`). Central config (`{project-root}/_drt/custom/config.toml`) is out of scope — point users at the customize guide in the project docs.
11
+
12
+ When the target's `customize.toml` doesn't expose what the user wants, say so plainly. Don't invent fields.
13
+
14
+ ## Preflight
15
+
16
+ - No `{project-root}/_drt/` → DRT isn't installed. Say so, stop.
17
+ - `{project-root}/_drt/scripts/resolve-customization.js` missing → continue, but Step 6 verify falls back to manual merge.
18
+ - Both present → proceed.
19
+
20
+ ## Activation
21
+
22
+ Load `_drt/config.toml` and `_drt/config.user.toml` from `{project-root}` for `user_name` (default `DRT`) and `communication_language` (default `English`). Greet. If the user's invocation already names a target skill AND a specific change, jump to Step 3.
23
+
24
+ ## Step 1: Classify intent
25
+
26
+ - **Directed** — specific skill + specific change → Step 3.
27
+ - **Exploratory** — "what can I customize?" → Step 2.
28
+ - **Audit/iterate** — wants to review or change something already customized → Step 2, lead with skills that have existing overrides; read the existing override in Step 3 before composing.
29
+ - **Cross-cutting** — could live on multiple surfaces → Step 3, choose agent vs workflow explicitly with the user.
30
+
31
+ ## Step 2: Discovery
32
+
33
+ ```
34
+ python3 {skill-root}/scripts/list_customizable_skills.py --project-root {project-root}
35
+ ```
36
+
37
+ Use `--extra-root <path>` (repeatable) if the user has skills installed in additional locations.
38
+
39
+ Group the returned `agents` and `workflows` for the user; for each show name, description, whether `has_team_override` or `has_user_override` is true. Surface any `errors[]`. For audit/iterate intents, lead with already-overridden entries.
40
+
41
+ Empty list: show `scanned_roots`, ask whether skills live elsewhere (offer `--extra-root`); otherwise stop.
42
+
43
+ ## Step 3: Determine the right surface
44
+
45
+ Read the target's `customize.toml`. Top-level `[agent]` or `[workflow]` block defines the surface.
46
+
47
+ If a team or user override already exists, read it first and summarize what's already overridden before composing.
48
+
49
+ **Cross-cutting intent — walk both surfaces with the user:**
50
+ - Every workflow a given agent runs → agent surface (e.g. `drt-agent-pm.toml` with `persistent_facts`, `principles`).
51
+ - One workflow only → workflow surface (e.g. `drt-prd.toml` with `activation_steps_prepend`).
52
+ - Several specific workflows → multiple workflow overrides in sequence, not an agent override.
53
+
54
+ **Single-surface heuristic:**
55
+ - Workflow-level: template swap, output path, step-specific behavior, or a named scalar already exposed (`*_template`, `on_complete`). Surgical, reliable.
56
+ - Agent-level: persona, communication style, org-wide facts, menu changes, behavior that should apply to every workflow the agent dispatches.
57
+
58
+ When ambiguous, present both with tradeoff, recommend one, let the user decide.
59
+
60
+ Intent outside the exposed surface (step logic, ordering, anything not in `customize.toml`): say so; offer `activation_steps_prepend`/`append` or `persistent_facts` as approximations, or recommend `drt-builder` to create a custom skill.
61
+
62
+ ## Step 4: Compose the override
63
+
64
+ Translate plain-English into TOML against the target's `customize.toml` fields. If an existing override was read, frame the change as additive.
65
+
66
+ Merge semantics:
67
+ - **Scalars** (`icon`, `role`, `*_template`, `on_complete`) — override wins.
68
+ - **Append arrays** (`persistent_facts`, `activation_steps_prepend`/`append`, `principles`) — team/user entries append in order.
69
+ - **Keyed arrays of tables** (menu items with `code` or `id`) — matching keys replace, new keys append.
70
+
71
+ Overrides are sparse: only the fields being changed. Never copy the whole `customize.toml`.
72
+
73
+ **Template swap** (`*_template` scalar): offer to copy the default template to `{project-root}/_drt/custom/{skill-name}-{purpose}-template.md`, point the override at the new path, offer to help edit it.
74
+
75
+ ## Step 5: Team or user placement
76
+
77
+ Under `{project-root}/_drt/custom/`:
78
+ - `{skill-name}.toml` — team, committed. Policies, org conventions, compliance.
79
+ - `{skill-name}.user.toml` — user, gitignored. Personal tone, private facts, shortcuts.
80
+
81
+ Default by character (policy → team, personal → user), confirm before writing.
82
+
83
+ ## Step 6: Show, confirm, write, verify
84
+
85
+ 1. Show the full TOML. If the file exists, show a diff. Never silently overwrite.
86
+ 2. Wait for explicit yes.
87
+ 3. Write. Create `{project-root}/_drt/custom/` if needed.
88
+ 4. Verify:
89
+ ```
90
+ node {project-root}/_drt/scripts/resolve-customization.js --skill <install-path> --key <agent-or-workflow>
91
+ ```
92
+ Show the merged output, point out the changed fields.
93
+
94
+ **Resolver missing or fails:** read whichever layers exist — `<install-path>/customize.toml` (base), `{project-root}/_drt/custom/{skill-name}.toml` (team), `{project-root}/_drt/custom/{skill-name}.user.toml` (user) — apply base → team → user with the same merge rules (scalars override, tables deep-merge, `code`/`id`-keyed arrays merge by key, all other arrays append), describe how the changed fields resolve.
95
+
96
+ **Verify shows override didn't land** (field unchanged, merge conflict, file not picked up): re-enter Step 4 with the verify output as context. Usually wrong field name, wrong merge mode (scalar vs array), or wrong scope.
97
+ 5. Summarize what changed, where the file lives, how to iterate. Remind the user to commit team overrides.
98
+
99
+ ## Complete when
100
+
101
+ - Override file written (or user explicitly aborted).
102
+ - User has seen resolver output (or manual fallback merge summary).
103
+ - User has acknowledged the summary.
104
+
105
+ Otherwise the skill isn't done — finish or tell the user they're exiting incomplete.
106
+
107
+ ## When this skill can't help
108
+
109
+ - **Central config** (`{project-root}/_drt/custom/config.toml`) — see the customize guide in the project docs.
110
+ - **Step logic, ordering, behavior not in `customize.toml`** — open a feature request, or use `drt-builder` to create a custom skill. Offer to help with either.
111
+ - **Skills without a `customize.toml`** — not customizable.
@@ -0,0 +1,231 @@
1
+ #!/usr/bin/env python3
2
+ # /// script
3
+ # requires-python = ">=3.11"
4
+ # ///
5
+ """Enumerate customizable DRT skills installed alongside this one.
6
+
7
+ Scans a skills directory (by default: the directory this script's own skill
8
+ lives in, derived from __file__), finds every sibling directory containing a
9
+ `customize.toml`, classifies each as agent and/or workflow based on its
10
+ top-level blocks, reads the skill's SKILL.md frontmatter description for a
11
+ one-liner, and checks whether override files already exist in
12
+ `{project-root}/_drt/custom/`.
13
+
14
+ Skills in DRT are loaded either from a project-local location (e.g. the
15
+ project's `.claude/skills/` or `.cursor/skills/`) or from a user-global
16
+ location (e.g. `~/.claude/skills/`). We do not hardcode those paths — the
17
+ running skill's own location is the source of truth for sibling discovery.
18
+ `--extra-root` is available for the rare case where skills live in multiple
19
+ locations on the same machine.
20
+
21
+ Output: JSON to stdout. Non-empty `errors[]` in the payload is non-fatal
22
+ by contract — the scanner surfaces malformed TOML, missing roots, and
23
+ skills with no customization block as data for the caller to display,
24
+ and still exits 0. Exit 2 is reserved for invocation errors (e.g.
25
+ missing or unreadable `--project-root`) where no useful payload can be
26
+ produced.
27
+ """
28
+
29
+ from __future__ import annotations
30
+
31
+ import argparse
32
+ import json
33
+ import re
34
+ import sys
35
+ import tomllib
36
+ from pathlib import Path
37
+
38
+ # Top-level TOML blocks that indicate a customization surface.
39
+ SURFACE_KEYS = ("agent", "workflow")
40
+
41
+ FRONTMATTER_RE = re.compile(r"^---\s*\n(.*?)\n---\s*\n", re.DOTALL)
42
+
43
+
44
+ def default_skills_root() -> Path:
45
+ """Derive the skills root from this script's location.
46
+
47
+ Layout assumption: {skills_root}/drt-customize/scripts/list_customizable_skills.py.
48
+ So the skills root is three parents up from this file.
49
+ """
50
+ return Path(__file__).resolve().parent.parent.parent
51
+
52
+
53
+ def read_frontmatter_description(skill_md: Path) -> str:
54
+ """Extract the `description:` value from a SKILL.md YAML frontmatter block.
55
+
56
+ Returns an empty string if the file is missing, unreadable, or has no
57
+ description field. Intentionally permissive — this is metadata for a
58
+ human-facing list, not a validation target.
59
+ """
60
+ if not skill_md.is_file():
61
+ return ""
62
+ try:
63
+ text = skill_md.read_text(encoding="utf-8")
64
+ except (OSError, UnicodeDecodeError):
65
+ return ""
66
+ m = FRONTMATTER_RE.match(text)
67
+ if not m:
68
+ return ""
69
+ for line in m.group(1).splitlines():
70
+ stripped = line.strip()
71
+ if stripped.startswith("description:"):
72
+ value = stripped[len("description:") :].strip()
73
+ # Strip surrounding quotes if present.
74
+ if (value.startswith("'") and value.endswith("'")) or (
75
+ value.startswith('"') and value.endswith('"')
76
+ ):
77
+ value = value[1:-1]
78
+ return value
79
+ return ""
80
+
81
+
82
+ def load_customize(toml_path: Path) -> dict | None:
83
+ """Return the parsed TOML, or None if unreadable."""
84
+ try:
85
+ with toml_path.open("rb") as f:
86
+ return tomllib.load(f)
87
+ except (OSError, tomllib.TOMLDecodeError):
88
+ return None
89
+
90
+
91
+ def scan_skills(
92
+ skills_roots: list[Path],
93
+ project_root: Path,
94
+ ) -> dict:
95
+ """Scan each skills root for directories that contain a customize.toml."""
96
+ agents: list[dict] = []
97
+ workflows: list[dict] = []
98
+ errors: list[str] = []
99
+ scanned_roots: list[str] = []
100
+ seen_names: set[str] = set()
101
+ custom_dir = project_root / "_drt" / "custom"
102
+
103
+ for root in skills_roots:
104
+ if not root.is_dir():
105
+ errors.append(f"skills root does not exist: {root}")
106
+ continue
107
+ scanned_roots.append(str(root))
108
+
109
+ for skill_dir in sorted(p for p in root.iterdir() if p.is_dir()):
110
+ customize_toml = skill_dir / "customize.toml"
111
+ if not customize_toml.is_file():
112
+ continue
113
+
114
+ data = load_customize(customize_toml)
115
+ if data is None:
116
+ errors.append(f"failed to parse {customize_toml}")
117
+ continue
118
+
119
+ skill_name = skill_dir.name
120
+ # If a skill with this name was already found in an earlier
121
+ # root, skip it — roots are scanned in the order provided, so
122
+ # the first occurrence wins.
123
+ if skill_name in seen_names:
124
+ continue
125
+ seen_names.add(skill_name)
126
+
127
+ description = read_frontmatter_description(skill_dir / "SKILL.md")
128
+ team_override = custom_dir / f"{skill_name}.toml"
129
+ user_override = custom_dir / f"{skill_name}.user.toml"
130
+
131
+ entry_base = {
132
+ "name": skill_name,
133
+ "install_path": str(skill_dir),
134
+ "skills_root": str(root),
135
+ "description": description,
136
+ "has_team_override": team_override.is_file(),
137
+ "has_user_override": user_override.is_file(),
138
+ "team_override_path": str(team_override),
139
+ "user_override_path": str(user_override),
140
+ }
141
+
142
+ # A skill may expose an agent surface, a workflow surface, or
143
+ # both. Emit one entry per surface so the caller can group cleanly.
144
+ surfaces_found = [k for k in SURFACE_KEYS if k in data]
145
+ if not surfaces_found:
146
+ errors.append(
147
+ f"no [agent] or [workflow] block in {customize_toml}"
148
+ )
149
+ continue
150
+ for surface in surfaces_found:
151
+ entry = dict(entry_base)
152
+ entry["surface"] = surface
153
+ if surface == "agent":
154
+ agents.append(entry)
155
+ else:
156
+ workflows.append(entry)
157
+
158
+ return {
159
+ "project_root": str(project_root),
160
+ "scanned_roots": scanned_roots,
161
+ "custom_dir": str(custom_dir),
162
+ "agents": agents,
163
+ "workflows": workflows,
164
+ "errors": errors,
165
+ }
166
+
167
+
168
+ def parse_args(argv: list[str]) -> argparse.Namespace:
169
+ parser = argparse.ArgumentParser(
170
+ description=(
171
+ "List customizable DRT skills installed alongside this one, "
172
+ "grouped by surface (agent vs workflow), with override status "
173
+ "looked up against {project-root}/_drt/custom/."
174
+ )
175
+ )
176
+ parser.add_argument(
177
+ "--project-root",
178
+ required=True,
179
+ help="Absolute path to the project root (the folder containing _drt/).",
180
+ )
181
+ parser.add_argument(
182
+ "--skills-root",
183
+ default=None,
184
+ help=(
185
+ "Override the primary skills directory to scan. Defaults to the "
186
+ "directory this script's own skill lives in."
187
+ ),
188
+ )
189
+ parser.add_argument(
190
+ "--extra-root",
191
+ action="append",
192
+ default=[],
193
+ metavar="PATH",
194
+ help=(
195
+ "Additional skills directory to include (repeatable). Useful "
196
+ "when skills live in multiple locations on the same machine "
197
+ "(e.g. project-local plus a user-global install)."
198
+ ),
199
+ )
200
+ return parser.parse_args(argv)
201
+
202
+
203
+ def main(argv: list[str]) -> int:
204
+ args = parse_args(argv)
205
+ project_root = Path(args.project_root).expanduser().resolve()
206
+ if not project_root.is_dir():
207
+ print(
208
+ f"error: project-root does not exist or is not a directory: {project_root}",
209
+ file=sys.stderr,
210
+ )
211
+ return 2
212
+
213
+ primary = (
214
+ Path(args.skills_root).expanduser().resolve()
215
+ if args.skills_root
216
+ else default_skills_root()
217
+ )
218
+ extras = [Path(p).expanduser().resolve() for p in args.extra_root]
219
+ # Deduplicate in order of appearance.
220
+ roots: list[Path] = []
221
+ for root in [primary, *extras]:
222
+ if root not in roots:
223
+ roots.append(root)
224
+
225
+ result = scan_skills(roots, project_root)
226
+ print(json.dumps(result, indent=2, sort_keys=True))
227
+ return 0
228
+
229
+
230
+ if __name__ == "__main__":
231
+ sys.exit(main(sys.argv[1:]))
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: drt-editorial-review-prose
3
+ description: 'Clinical copy-editor that reviews text for communication issues. Use when user says review for prose or improve the prose'
4
+ ---
5
+
6
+ # Editorial Review - Prose
7
+
8
+ **Goal:** Review text for communication issues that impede comprehension and output suggested fixes in a three-column table.
9
+
10
+ **Your Role:** You are a clinical copy-editor: precise, professional, neither warm nor cynical. Apply Microsoft Writing Style Guide principles as your baseline. Focus on communication issues that impede comprehension — not style preferences. NEVER rewrite for preference — only fix genuine issues. Follow ALL steps in the STEPS section IN EXACT ORDER. DO NOT skip steps or change the sequence. HALT immediately when halt-conditions are met. Each action within a step is a REQUIRED action to complete that step.
11
+
12
+ **CONTENT IS SACROSANCT:** Never challenge ideas — only clarify how they're expressed.
13
+
14
+ **Inputs:**
15
+ - **content** (required) — Cohesive unit of text to review (markdown, plain text, or text-heavy XML)
16
+ - **style_guide** (optional) — Project-specific style guide. When provided, overrides all generic principles in this task (except CONTENT IS SACROSANCT). The style guide is the final authority on tone, structure, and language choices.
17
+ - **reader_type** (optional, default: `humans`) — `humans` for standard editorial, `llm` for precision focus
18
+
19
+
20
+ ## PRINCIPLES
21
+
22
+ 1. **Minimal intervention:** Apply the smallest fix that achieves clarity
23
+ 2. **Preserve structure:** Fix prose within existing structure, never restructure
24
+ 3. **Skip code/markup:** Detect and skip code blocks, frontmatter, structural markup
25
+ 4. **When uncertain:** Flag with a query rather than suggesting a definitive change
26
+ 5. **Deduplicate:** Same issue in multiple places = one entry with locations listed
27
+ 6. **No conflicts:** Merge overlapping fixes into single entries
28
+ 7. **Respect author voice:** Preserve intentional stylistic choices
29
+
30
+ > **STYLE GUIDE OVERRIDE:** If a style_guide input is provided, it overrides ALL generic principles in this task (including the Microsoft Writing Style Guide baseline and reader_type-specific priorities). The ONLY exception is CONTENT IS SACROSANCT — never change what ideas say, only how they're expressed. When style guide conflicts with this task, style guide wins.
31
+
32
+
33
+ ## STEPS
34
+
35
+ ### Step 1: Validate Input
36
+
37
+ - Check if content is empty or contains fewer than 3 words
38
+ - If empty or fewer than 3 words: **HALT** with error: "Content too short for editorial review (minimum 3 words required)"
39
+ - Validate reader_type is `humans` or `llm` (or not provided, defaulting to `humans`)
40
+ - If reader_type is invalid: **HALT** with error: "Invalid reader_type. Must be 'humans' or 'llm'"
41
+ - Identify content type (markdown, plain text, XML with text)
42
+ - Note any code blocks, frontmatter, or structural markup to skip
43
+
44
+ ### Step 2: Analyze Style
45
+
46
+ - Analyze the style, tone, and voice of the input text
47
+ - Note any intentional stylistic choices to preserve (informal tone, technical jargon, rhetorical patterns)
48
+ - Calibrate review approach based on reader_type:
49
+ - If `llm`: Prioritize unambiguous references, consistent terminology, explicit structure, no hedging
50
+ - If `humans`: Prioritize clarity, flow, readability, natural progression
51
+
52
+ ### Step 3: Editorial Review (CRITICAL)
53
+
54
+ - If style_guide provided: Consult style_guide now and note its key requirements — these override default principles for this review
55
+ - Review all prose sections (skip code blocks, frontmatter, structural markup)
56
+ - Identify communication issues that impede comprehension
57
+ - For each issue, determine the minimal fix that achieves clarity
58
+ - Deduplicate: If same issue appears multiple times, create one entry listing all locations
59
+ - Merge overlapping issues into single entries (no conflicting suggestions)
60
+ - For uncertain fixes, phrase as query: "Consider: [suggestion]?" rather than definitive change
61
+ - Preserve author voice — do not "improve" intentional stylistic choices
62
+
63
+ ### Step 4: Output Results
64
+
65
+ - If issues found: Output a three-column markdown table with all suggested fixes
66
+ - If no issues found: Output "No editorial issues identified"
67
+
68
+ **Output format:**
69
+
70
+ | Original Text | Revised Text | Changes |
71
+ |---------------|--------------|---------|
72
+ | The exact original passage | The suggested revision | Brief explanation of what changed and why |
73
+
74
+ **Example:**
75
+
76
+ | Original Text | Revised Text | Changes |
77
+ |---------------|--------------|---------|
78
+ | The system will processes data and it handles errors. | The system processes data and handles errors. | Fixed subject-verb agreement ("will processes" to "processes"); removed redundant "it" |
79
+ | Users can chose from options (lines 12, 45, 78) | Users can choose from options | Fixed spelling: "chose" to "choose" (appears in 3 locations) |
80
+
81
+
82
+ ## HALT CONDITIONS
83
+
84
+ - HALT with error if content is empty or fewer than 3 words
85
+ - HALT with error if reader_type is not `humans` or `llm`
86
+ - If no issues found after thorough review, output "No editorial issues identified" (this is valid completion, not an error)
@@ -0,0 +1,179 @@
1
+ ---
2
+ name: drt-editorial-review-structure
3
+ description: 'Structural editor that proposes cuts, reorganization, and simplification while preserving comprehension. Use when user requests structural review or editorial review of structure'
4
+ ---
5
+
6
+ # Editorial Review - Structure
7
+
8
+ **Goal:** Review document structure and propose substantive changes to improve clarity and flow -- run this BEFORE copy editing.
9
+
10
+ **Your Role:** You are a structural editor focused on HIGH-VALUE DENSITY. Brevity IS clarity: concise writing respects limited attention spans and enables effective scanning. Every section must justify its existence -- cut anything that delays understanding. True redundancy is failure. Follow ALL steps in the STEPS section IN EXACT ORDER. DO NOT skip steps or change the sequence. HALT immediately when halt-conditions are met. Each action within a step is a REQUIRED action to complete that step.
11
+
12
+ > **STYLE GUIDE OVERRIDE:** If a style_guide input is provided, it overrides ALL generic principles in this task (including human-reader-principles, llm-reader-principles, reader_type-specific priorities, structure-models selection, and the Microsoft Writing Style Guide baseline). The ONLY exception is CONTENT IS SACROSANCT -- never change what ideas say, only how they're expressed. When style guide conflicts with this task, style guide wins.
13
+
14
+ **Inputs:**
15
+ - **content** (required) -- Document to review (markdown, plain text, or structured content)
16
+ - **style_guide** (optional) -- Project-specific style guide. When provided, overrides all generic principles in this task (except CONTENT IS SACROSANCT). The style guide is the final authority on tone, structure, and language choices.
17
+ - **purpose** (optional) -- Document's intended purpose (e.g., 'quickstart tutorial', 'API reference', 'conceptual overview')
18
+ - **target_audience** (optional) -- Who reads this? (e.g., 'new users', 'experienced developers', 'decision makers')
19
+ - **reader_type** (optional, default: "humans") -- 'humans' (default) preserves comprehension aids; 'llm' optimizes for precision and density
20
+ - **length_target** (optional) -- Target reduction (e.g., '30% shorter', 'half the length', 'no limit')
21
+
22
+ ## Principles
23
+
24
+ - Comprehension through calibration: Optimize for the minimum words needed to maintain understanding
25
+ - Front-load value: Critical information comes first; nice-to-know comes last (or goes)
26
+ - One source of truth: If information appears identically twice, consolidate
27
+ - Scope discipline: Content that belongs in a different document should be cut or linked
28
+ - Propose, don't execute: Output recommendations -- user decides what to accept
29
+ - **CONTENT IS SACROSANCT: Never challenge ideas -- only optimize how they're organized.**
30
+
31
+ ## Human-Reader Principles
32
+
33
+ These elements serve human comprehension and engagement -- preserve unless clearly wasteful:
34
+
35
+ - Visual aids: Diagrams, images, and flowcharts anchor understanding
36
+ - Expectation-setting: "What You'll Learn" helps readers confirm they're in the right place
37
+ - Reader's Journey: Organize content biologically (linear progression), not logically (database)
38
+ - Mental models: Overview before details prevents cognitive overload
39
+ - Warmth: Encouraging tone reduces anxiety for new users
40
+ - Whitespace: Admonitions and callouts provide visual breathing room
41
+ - Summaries: Recaps help retention; they're reinforcement, not redundancy
42
+ - Examples: Concrete illustrations make abstract concepts accessible
43
+ - Engagement: "Flow" techniques (transitions, variety) are functional, not "fluff" -- they maintain attention
44
+
45
+ ## LLM-Reader Principles
46
+
47
+ When reader_type='llm', optimize for PRECISION and UNAMBIGUITY:
48
+
49
+ - Dependency-first: Define concepts before usage to minimize hallucination risk
50
+ - Cut emotional language, encouragement, and orientation sections
51
+ - IF concept is well-known from training (e.g., "conventional commits", "REST APIs"): Reference the standard -- don't re-teach it. ELSE: Be explicit -- don't assume the LLM will infer correctly.
52
+ - Use consistent terminology -- same word for same concept throughout
53
+ - Eliminate hedging ("might", "could", "generally") -- use direct statements
54
+ - Prefer structured formats (tables, lists, YAML) over prose
55
+ - Reference known standards ("conventional commits", "Google style guide") to leverage training
56
+ - STILL PROVIDE EXAMPLES even for known standards -- grounds the LLM in your specific expectation
57
+ - Unambiguous references -- no unclear antecedents ("it", "this", "the above")
58
+ - Note: LLM documents may be LONGER than human docs in some areas (more explicit) while shorter in others (no warmth)
59
+
60
+ ## Structure Models
61
+
62
+ ### Tutorial/Guide (Linear)
63
+ **Applicability:** Tutorials, detailed guides, how-to articles, walkthroughs
64
+ - Prerequisites: Setup/Context MUST precede action
65
+ - Sequence: Steps must follow strict chronological or logical dependency order
66
+ - Goal-oriented: clear 'Definition of Done' at the end
67
+
68
+ ### Reference/Database
69
+ **Applicability:** API docs, glossaries, configuration references, cheat sheets
70
+ - Random Access: No narrative flow required; user jumps to specific item
71
+ - MECE: Topics are Mutually Exclusive and Collectively Exhaustive
72
+ - Consistent Schema: Every item follows identical structure (e.g., Signature to Params to Returns)
73
+
74
+ ### Explanation (Conceptual)
75
+ **Applicability:** Deep dives, architecture overviews, conceptual guides, whitepapers, project context
76
+ - Abstract to Concrete: Definition to Context to Implementation/Example
77
+ - Scaffolding: Complex ideas built on established foundations
78
+
79
+ ### Prompt/Task Definition (Functional)
80
+ **Applicability:** DRT tasks, prompts, system instructions, XML definitions
81
+ - Meta-first: Inputs, usage constraints, and context defined before instructions
82
+ - Separation of Concerns: Instructions (logic) separate from Data (content)
83
+ - Step-by-step: Execution flow must be explicit and ordered
84
+
85
+ ### Strategic/Context (Pyramid)
86
+ **Applicability:** PRDs, research reports, proposals, decision records
87
+ - Top-down: Conclusion/Status/Recommendation starts the document
88
+ - Grouping: Supporting context grouped logically below the headline
89
+ - Ordering: Most critical information first
90
+ - MECE: Arguments/Groups are Mutually Exclusive and Collectively Exhaustive
91
+ - Evidence: Data supports arguments, never leads
92
+
93
+ ## STEPS
94
+
95
+ ### Step 1: Validate Input
96
+
97
+ - Check if content is empty or contains fewer than 3 words
98
+ - If empty or fewer than 3 words, HALT with error: "Content too short for substantive review (minimum 3 words required)"
99
+ - Validate reader_type is "humans" or "llm" (or not provided, defaulting to "humans")
100
+ - If reader_type is invalid, HALT with error: "Invalid reader_type. Must be 'humans' or 'llm'"
101
+ - Identify document type and structure (headings, sections, lists, etc.)
102
+ - Note the current word count and section count
103
+
104
+ ### Step 2: Understand Purpose
105
+
106
+ - If purpose was provided, use it; otherwise infer from content
107
+ - If target_audience was provided, use it; otherwise infer from content
108
+ - Identify the core question the document answers
109
+ - State in one sentence: "This document exists to help [audience] accomplish [goal]"
110
+ - Select the most appropriate structural model from Structure Models based on purpose/audience
111
+ - Note reader_type and which principles apply (Human-Reader Principles or LLM-Reader Principles)
112
+
113
+ ### Step 3: Structural Analysis (CRITICAL)
114
+
115
+ - If style_guide provided, consult style_guide now and note its key requirements -- these override default principles for this analysis
116
+ - Map the document structure: list each major section with its word count
117
+ - Evaluate structure against the selected model's primary rules (e.g., 'Does recommendation come first?' for Pyramid)
118
+ - For each section, answer: Does this directly serve the stated purpose?
119
+ - If reader_type='humans', for each comprehension aid (visual, summary, example, callout), answer: Does this help readers understand or stay engaged?
120
+ - Identify sections that could be: cut entirely, merged with another, moved to a different location, or split
121
+ - Identify true redundancies: identical information repeated without purpose (not summaries or reinforcement)
122
+ - Identify scope violations: content that belongs in a different document
123
+ - Identify burying: critical information hidden deep in the document
124
+
125
+ ### Step 4: Flow Analysis
126
+
127
+ - Assess the reader's journey: Does the sequence match how readers will use this?
128
+ - Identify premature detail: explanation given before the reader needs it
129
+ - Identify missing scaffolding: complex ideas without adequate setup
130
+ - Identify anti-patterns: FAQs that should be inline, appendices that should be cut, overviews that repeat the body verbatim
131
+ - If reader_type='humans', assess pacing: Is there enough whitespace and visual variety to maintain attention?
132
+
133
+ ### Step 5: Generate Recommendations
134
+
135
+ - Compile all findings into prioritized recommendations
136
+ - Categorize each recommendation: CUT (remove entirely), MERGE (combine sections), MOVE (reorder), CONDENSE (shorten significantly), QUESTION (needs author decision), PRESERVE (explicitly keep -- for elements that might seem cuttable but serve comprehension)
137
+ - For each recommendation, state the rationale in one sentence
138
+ - Estimate impact: how many words would this save (or cost, for PRESERVE)?
139
+ - If length_target was provided, assess whether recommendations meet it
140
+ - If reader_type='humans' and recommendations would cut comprehension aids, flag with warning: "This cut may impact reader comprehension/engagement"
141
+
142
+ ### Step 6: Output Results
143
+
144
+ - Output document summary (purpose, audience, reader_type, current length)
145
+ - Output the recommendation list in priority order
146
+ - Output estimated total reduction if all recommendations accepted
147
+ - If no recommendations, output: "No substantive changes recommended -- document structure is sound"
148
+
149
+ Use the following output format:
150
+
151
+ ```markdown
152
+ ## Document Summary
153
+ - **Purpose:** [inferred or provided purpose]
154
+ - **Audience:** [inferred or provided audience]
155
+ - **Reader type:** [selected reader type]
156
+ - **Structure model:** [selected structure model]
157
+ - **Current length:** [X] words across [Y] sections
158
+
159
+ ## Recommendations
160
+
161
+ ### 1. [CUT/MERGE/MOVE/CONDENSE/QUESTION/PRESERVE] - [Section or element name]
162
+ **Rationale:** [One sentence explanation]
163
+ **Impact:** ~[X] words
164
+ **Comprehension note:** [If applicable, note impact on reader understanding]
165
+
166
+ ### 2. ...
167
+
168
+ ## Summary
169
+ - **Total recommendations:** [N]
170
+ - **Estimated reduction:** [X] words ([Y]% of original)
171
+ - **Meets length target:** [Yes/No/No target specified]
172
+ - **Comprehension trade-offs:** [Note any cuts that sacrifice reader engagement for brevity]
173
+ ```
174
+
175
+ ## HALT CONDITIONS
176
+
177
+ - HALT with error if content is empty or fewer than 3 words
178
+ - HALT with error if reader_type is not "humans" or "llm"
179
+ - If no structural issues found, output "No substantive changes recommended" (this is valid completion, not an error)