@dtt_siye/atool 1.1.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 (463) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +235 -0
  3. package/VERSION +1 -0
  4. package/agents/code-reviewer.md +29 -0
  5. package/bin/atool.js +235 -0
  6. package/bin/postinstall.js +23 -0
  7. package/hooks/doc-sync-reminder +155 -0
  8. package/hooks/hooks-cursor.json +37 -0
  9. package/hooks/hooks.json +37 -0
  10. package/hooks/prompt-guard +135 -0
  11. package/hooks/session-start +286 -0
  12. package/install.sh +603 -0
  13. package/lib/analyze-source.sh +1265 -0
  14. package/lib/common.sh +1041 -0
  15. package/lib/compute-importance.sh +598 -0
  16. package/lib/detect-stack.sh +354 -0
  17. package/lib/generate-visualization.sh +266 -0
  18. package/lib/install-claude.sh +43 -0
  19. package/lib/install-cursor.sh +281 -0
  20. package/lib/install-hooks.sh +285 -0
  21. package/lib/install-kiro.sh +543 -0
  22. package/lib/install-mcp.sh +99 -0
  23. package/lib/install-skills.sh +129 -0
  24. package/lib/knowledge-graph.sh +1014 -0
  25. package/lib/multi-dimensional-analysis.sh +413 -0
  26. package/lib/pre-scan.sh +1045 -0
  27. package/lib/project-init.sh +552 -0
  28. package/lib/visualization-template.html +545 -0
  29. package/mcp/recommended.json +24 -0
  30. package/package.json +39 -0
  31. package/skills/_superpowers/.claude-plugin/marketplace.json +20 -0
  32. package/skills/_superpowers/.claude-plugin/plugin.json +20 -0
  33. package/skills/_superpowers/.codex/INSTALL.md +67 -0
  34. package/skills/_superpowers/.cursor-plugin/plugin.json +25 -0
  35. package/skills/_superpowers/.gitattributes +18 -0
  36. package/skills/_superpowers/.github/FUNDING.yml +3 -0
  37. package/skills/_superpowers/.github/ISSUE_TEMPLATE/bug_report.md +52 -0
  38. package/skills/_superpowers/.github/ISSUE_TEMPLATE/config.yml +5 -0
  39. package/skills/_superpowers/.github/ISSUE_TEMPLATE/feature_request.md +34 -0
  40. package/skills/_superpowers/.github/ISSUE_TEMPLATE/platform_support.md +23 -0
  41. package/skills/_superpowers/.github/PULL_REQUEST_TEMPLATE.md +87 -0
  42. package/skills/_superpowers/.opencode/INSTALL.md +83 -0
  43. package/skills/_superpowers/.opencode/plugins/superpowers.js +107 -0
  44. package/skills/_superpowers/CHANGELOG.md +13 -0
  45. package/skills/_superpowers/CODE_OF_CONDUCT.md +128 -0
  46. package/skills/_superpowers/GEMINI.md +2 -0
  47. package/skills/_superpowers/LICENSE +21 -0
  48. package/skills/_superpowers/README.md +187 -0
  49. package/skills/_superpowers/RELEASE-NOTES.md +1083 -0
  50. package/skills/_superpowers/agents/code-reviewer.md +48 -0
  51. package/skills/_superpowers/commands/brainstorm.md +5 -0
  52. package/skills/_superpowers/commands/execute-plan.md +5 -0
  53. package/skills/_superpowers/commands/write-plan.md +5 -0
  54. package/skills/_superpowers/docs/README.codex.md +126 -0
  55. package/skills/_superpowers/docs/README.opencode.md +130 -0
  56. package/skills/_superpowers/docs/plans/2025-11-22-opencode-support-design.md +294 -0
  57. package/skills/_superpowers/docs/plans/2025-11-22-opencode-support-implementation.md +1095 -0
  58. package/skills/_superpowers/docs/plans/2025-11-28-skills-improvements-from-user-feedback.md +711 -0
  59. package/skills/_superpowers/docs/plans/2026-01-17-visual-brainstorming.md +571 -0
  60. package/skills/_superpowers/docs/superpowers/plans/2026-01-22-document-review-system.md +301 -0
  61. package/skills/_superpowers/docs/superpowers/plans/2026-02-19-visual-brainstorming-refactor.md +523 -0
  62. package/skills/_superpowers/docs/superpowers/plans/2026-03-11-zero-dep-brainstorm-server.md +479 -0
  63. package/skills/_superpowers/docs/superpowers/plans/2026-03-23-codex-app-compatibility.md +564 -0
  64. package/skills/_superpowers/docs/superpowers/specs/2026-01-22-document-review-system-design.md +136 -0
  65. package/skills/_superpowers/docs/superpowers/specs/2026-02-19-visual-brainstorming-refactor-design.md +162 -0
  66. package/skills/_superpowers/docs/superpowers/specs/2026-03-11-zero-dep-brainstorm-server-design.md +118 -0
  67. package/skills/_superpowers/docs/superpowers/specs/2026-03-23-codex-app-compatibility-design.md +244 -0
  68. package/skills/_superpowers/docs/testing.md +303 -0
  69. package/skills/_superpowers/docs/windows/polyglot-hooks.md +212 -0
  70. package/skills/_superpowers/gemini-extension.json +6 -0
  71. package/skills/_superpowers/hooks/hooks-cursor.json +10 -0
  72. package/skills/_superpowers/hooks/hooks.json +16 -0
  73. package/skills/_superpowers/hooks/run-hook.cmd +46 -0
  74. package/skills/_superpowers/hooks/session-start +57 -0
  75. package/skills/_superpowers/package.json +6 -0
  76. package/skills/_superpowers/skills/brainstorming/SKILL.md +164 -0
  77. package/skills/_superpowers/skills/brainstorming/scripts/frame-template.html +214 -0
  78. package/skills/_superpowers/skills/brainstorming/scripts/helper.js +88 -0
  79. package/skills/_superpowers/skills/brainstorming/scripts/server.cjs +354 -0
  80. package/skills/_superpowers/skills/brainstorming/scripts/start-server.sh +148 -0
  81. package/skills/_superpowers/skills/brainstorming/scripts/stop-server.sh +56 -0
  82. package/skills/_superpowers/skills/brainstorming/spec-document-reviewer-prompt.md +49 -0
  83. package/skills/_superpowers/skills/brainstorming/visual-companion.md +287 -0
  84. package/skills/_superpowers/skills/dispatching-parallel-agents/SKILL.md +182 -0
  85. package/skills/_superpowers/skills/executing-plans/SKILL.md +70 -0
  86. package/skills/_superpowers/skills/finishing-a-development-branch/SKILL.md +200 -0
  87. package/skills/_superpowers/skills/receiving-code-review/SKILL.md +213 -0
  88. package/skills/_superpowers/skills/requesting-code-review/SKILL.md +105 -0
  89. package/skills/_superpowers/skills/requesting-code-review/code-reviewer.md +146 -0
  90. package/skills/_superpowers/skills/subagent-driven-development/SKILL.md +277 -0
  91. package/skills/_superpowers/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
  92. package/skills/_superpowers/skills/subagent-driven-development/implementer-prompt.md +113 -0
  93. package/skills/_superpowers/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  94. package/skills/_superpowers/skills/systematic-debugging/CREATION-LOG.md +119 -0
  95. package/skills/_superpowers/skills/systematic-debugging/SKILL.md +296 -0
  96. package/skills/_superpowers/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  97. package/skills/_superpowers/skills/systematic-debugging/condition-based-waiting.md +115 -0
  98. package/skills/_superpowers/skills/systematic-debugging/defense-in-depth.md +122 -0
  99. package/skills/_superpowers/skills/systematic-debugging/find-polluter.sh +63 -0
  100. package/skills/_superpowers/skills/systematic-debugging/root-cause-tracing.md +169 -0
  101. package/skills/_superpowers/skills/systematic-debugging/test-academic.md +14 -0
  102. package/skills/_superpowers/skills/systematic-debugging/test-pressure-1.md +58 -0
  103. package/skills/_superpowers/skills/systematic-debugging/test-pressure-2.md +68 -0
  104. package/skills/_superpowers/skills/systematic-debugging/test-pressure-3.md +69 -0
  105. package/skills/_superpowers/skills/test-driven-development/SKILL.md +371 -0
  106. package/skills/_superpowers/skills/test-driven-development/testing-anti-patterns.md +299 -0
  107. package/skills/_superpowers/skills/using-git-worktrees/SKILL.md +218 -0
  108. package/skills/_superpowers/skills/using-superpowers/SKILL.md +115 -0
  109. package/skills/_superpowers/skills/using-superpowers/references/codex-tools.md +100 -0
  110. package/skills/_superpowers/skills/using-superpowers/references/gemini-tools.md +33 -0
  111. package/skills/_superpowers/skills/verification-before-completion/SKILL.md +139 -0
  112. package/skills/_superpowers/skills/writing-plans/SKILL.md +152 -0
  113. package/skills/_superpowers/skills/writing-plans/plan-document-reviewer-prompt.md +49 -0
  114. package/skills/_superpowers/skills/writing-skills/SKILL.md +655 -0
  115. package/skills/_superpowers/skills/writing-skills/anthropic-best-practices.md +1150 -0
  116. package/skills/_superpowers/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
  117. package/skills/_superpowers/skills/writing-skills/graphviz-conventions.dot +172 -0
  118. package/skills/_superpowers/skills/writing-skills/persuasion-principles.md +187 -0
  119. package/skills/_superpowers/skills/writing-skills/render-graphs.js +168 -0
  120. package/skills/_superpowers/skills/writing-skills/testing-skills-with-subagents.md +384 -0
  121. package/skills/_superpowers/tests/brainstorm-server/package-lock.json +36 -0
  122. package/skills/_superpowers/tests/brainstorm-server/package.json +10 -0
  123. package/skills/_superpowers/tests/brainstorm-server/server.test.js +427 -0
  124. package/skills/_superpowers/tests/brainstorm-server/windows-lifecycle.test.sh +351 -0
  125. package/skills/_superpowers/tests/brainstorm-server/ws-protocol.test.js +392 -0
  126. package/skills/_superpowers/tests/claude-code/README.md +158 -0
  127. package/skills/_superpowers/tests/claude-code/analyze-token-usage.py +168 -0
  128. package/skills/_superpowers/tests/claude-code/run-skill-tests.sh +187 -0
  129. package/skills/_superpowers/tests/claude-code/test-document-review-system.sh +177 -0
  130. package/skills/_superpowers/tests/claude-code/test-helpers.sh +202 -0
  131. package/skills/_superpowers/tests/claude-code/test-subagent-driven-development-integration.sh +314 -0
  132. package/skills/_superpowers/tests/claude-code/test-subagent-driven-development.sh +165 -0
  133. package/skills/_superpowers/tests/explicit-skill-requests/prompts/action-oriented.txt +3 -0
  134. package/skills/_superpowers/tests/explicit-skill-requests/prompts/after-planning-flow.txt +17 -0
  135. package/skills/_superpowers/tests/explicit-skill-requests/prompts/claude-suggested-it.txt +11 -0
  136. package/skills/_superpowers/tests/explicit-skill-requests/prompts/i-know-what-sdd-means.txt +8 -0
  137. package/skills/_superpowers/tests/explicit-skill-requests/prompts/mid-conversation-execute-plan.txt +3 -0
  138. package/skills/_superpowers/tests/explicit-skill-requests/prompts/please-use-brainstorming.txt +1 -0
  139. package/skills/_superpowers/tests/explicit-skill-requests/prompts/skip-formalities.txt +3 -0
  140. package/skills/_superpowers/tests/explicit-skill-requests/prompts/subagent-driven-development-please.txt +1 -0
  141. package/skills/_superpowers/tests/explicit-skill-requests/prompts/use-systematic-debugging.txt +1 -0
  142. package/skills/_superpowers/tests/explicit-skill-requests/run-all.sh +70 -0
  143. package/skills/_superpowers/tests/explicit-skill-requests/run-claude-describes-sdd.sh +100 -0
  144. package/skills/_superpowers/tests/explicit-skill-requests/run-extended-multiturn-test.sh +113 -0
  145. package/skills/_superpowers/tests/explicit-skill-requests/run-haiku-test.sh +144 -0
  146. package/skills/_superpowers/tests/explicit-skill-requests/run-multiturn-test.sh +143 -0
  147. package/skills/_superpowers/tests/explicit-skill-requests/run-test.sh +136 -0
  148. package/skills/_superpowers/tests/opencode/run-tests.sh +163 -0
  149. package/skills/_superpowers/tests/opencode/setup.sh +73 -0
  150. package/skills/_superpowers/tests/opencode/test-plugin-loading.sh +72 -0
  151. package/skills/_superpowers/tests/opencode/test-priority.sh +198 -0
  152. package/skills/_superpowers/tests/opencode/test-tools.sh +104 -0
  153. package/skills/_superpowers/tests/skill-triggering/prompts/dispatching-parallel-agents.txt +8 -0
  154. package/skills/_superpowers/tests/skill-triggering/prompts/executing-plans.txt +1 -0
  155. package/skills/_superpowers/tests/skill-triggering/prompts/requesting-code-review.txt +3 -0
  156. package/skills/_superpowers/tests/skill-triggering/prompts/systematic-debugging.txt +11 -0
  157. package/skills/_superpowers/tests/skill-triggering/prompts/test-driven-development.txt +7 -0
  158. package/skills/_superpowers/tests/skill-triggering/prompts/writing-plans.txt +10 -0
  159. package/skills/_superpowers/tests/skill-triggering/run-all.sh +60 -0
  160. package/skills/_superpowers/tests/skill-triggering/run-test.sh +88 -0
  161. package/skills/_superpowers/tests/subagent-driven-dev/go-fractals/design.md +81 -0
  162. package/skills/_superpowers/tests/subagent-driven-dev/go-fractals/plan.md +172 -0
  163. package/skills/_superpowers/tests/subagent-driven-dev/go-fractals/scaffold.sh +45 -0
  164. package/skills/_superpowers/tests/subagent-driven-dev/run-test.sh +106 -0
  165. package/skills/_superpowers/tests/subagent-driven-dev/svelte-todo/design.md +70 -0
  166. package/skills/_superpowers/tests/subagent-driven-dev/svelte-todo/plan.md +222 -0
  167. package/skills/_superpowers/tests/subagent-driven-dev/svelte-todo/scaffold.sh +46 -0
  168. package/skills/ai-project-architecture/SKILL.md +632 -0
  169. package/skills/ai-project-architecture/reference/structure-rules.md +406 -0
  170. package/skills/ai-project-architecture/templates/compliance-report.md +300 -0
  171. package/skills/ai-project-architecture/templates/migration-plan.md +433 -0
  172. package/skills/ai-project-architecture/templates/verification-checklist.md +408 -0
  173. package/skills/android-conventions/SKILL.md +125 -0
  174. package/skills/atool-init/SKILL.md +141 -0
  175. package/skills/clarify-before-build/SKILL.md +107 -0
  176. package/skills/code-review/SKILL.md +406 -0
  177. package/skills/code-review/rules/architecture.md +285 -0
  178. package/skills/code-review/rules/coupling-cohesion.md +309 -0
  179. package/skills/code-review/rules/dead-code.md +115 -0
  180. package/skills/code-review/rules/deprecation-debt.md +279 -0
  181. package/skills/code-review/rules/duplication.md +104 -0
  182. package/skills/code-review/rules/error-security.md +143 -0
  183. package/skills/code-review/rules/maintainability.md +203 -0
  184. package/skills/code-review/rules/quality.md +158 -0
  185. package/skills/devops-conventions/SKILL.md +205 -0
  186. package/skills/doc-coauthoring/SKILL.md +392 -0
  187. package/skills/doc-standards-enforcer/SKILL.md +290 -0
  188. package/skills/doc-standards-enforcer/examples/valid-document-example.md +67 -0
  189. package/skills/doc-standards-enforcer/references/101-standards-summary.md +318 -0
  190. package/skills/doc-standards-enforcer/scripts/check_references.py +175 -0
  191. package/skills/doc-standards-enforcer/scripts/fix_common_issues.py +303 -0
  192. package/skills/doc-standards-enforcer/scripts/validate_doc_standards.py +332 -0
  193. package/skills/docx/LICENSE.txt +30 -0
  194. package/skills/docx/SKILL.md +200 -0
  195. package/skills/docx/docx-js.md +350 -0
  196. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  197. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  198. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  199. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  200. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  201. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  202. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  203. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  204. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  205. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  206. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  207. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  208. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  209. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  210. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  211. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  212. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  213. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  214. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  215. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  216. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  217. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  218. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  219. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  220. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  221. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  222. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  223. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  224. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  225. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  226. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  227. package/skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
  228. package/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  229. package/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  230. package/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  231. package/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  232. package/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  233. package/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  234. package/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  235. package/skills/docx/ooxml/scripts/pack.py +159 -0
  236. package/skills/docx/ooxml/scripts/unpack.py +29 -0
  237. package/skills/docx/ooxml/scripts/validate.py +69 -0
  238. package/skills/docx/ooxml/scripts/validation/__init__.py +15 -0
  239. package/skills/docx/ooxml/scripts/validation/base.py +951 -0
  240. package/skills/docx/ooxml/scripts/validation/docx.py +274 -0
  241. package/skills/docx/ooxml/scripts/validation/pptx.py +315 -0
  242. package/skills/docx/ooxml/scripts/validation/redlining.py +279 -0
  243. package/skills/docx/ooxml.md +610 -0
  244. package/skills/docx/scripts/__init__.py +1 -0
  245. package/skills/docx/scripts/document.py +1276 -0
  246. package/skills/docx/scripts/templates/comments.xml +3 -0
  247. package/skills/docx/scripts/templates/commentsExtended.xml +3 -0
  248. package/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  249. package/skills/docx/scripts/templates/commentsIds.xml +3 -0
  250. package/skills/docx/scripts/templates/people.xml +3 -0
  251. package/skills/docx/scripts/utilities.py +374 -0
  252. package/skills/flutter-conventions/SKILL.md +70 -0
  253. package/skills/go-conventions/SKILL.md +230 -0
  254. package/skills/harmony-conventions/SKILL.md +156 -0
  255. package/skills/java-conventions/SKILL.md +277 -0
  256. package/skills/pdf/LICENSE.txt +30 -0
  257. package/skills/pdf/SKILL.md +297 -0
  258. package/skills/pdf/forms.md +205 -0
  259. package/skills/pdf/reference.md +612 -0
  260. package/skills/pdf/scripts/check_bounding_boxes.py +70 -0
  261. package/skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  262. package/skills/pdf/scripts/check_fillable_fields.py +12 -0
  263. package/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  264. package/skills/pdf/scripts/create_validation_image.py +41 -0
  265. package/skills/pdf/scripts/extract_form_field_info.py +152 -0
  266. package/skills/pdf/scripts/fill_fillable_fields.py +114 -0
  267. package/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  268. package/skills/pptx/LICENSE.txt +30 -0
  269. package/skills/pptx/SKILL.md +487 -0
  270. package/skills/pptx/html2pptx.md +625 -0
  271. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  272. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  273. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  274. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  275. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  276. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  277. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  278. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  279. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  280. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  281. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  282. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  283. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  284. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  285. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  286. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  287. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  288. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  289. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  290. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  291. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  292. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  293. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  294. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  295. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  296. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  297. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  298. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  299. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  300. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  301. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  302. package/skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  303. package/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  304. package/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  305. package/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  306. package/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  307. package/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  308. package/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  309. package/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  310. package/skills/pptx/ooxml/scripts/pack.py +159 -0
  311. package/skills/pptx/ooxml/scripts/unpack.py +29 -0
  312. package/skills/pptx/ooxml/scripts/validate.py +69 -0
  313. package/skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
  314. package/skills/pptx/ooxml/scripts/validation/base.py +951 -0
  315. package/skills/pptx/ooxml/scripts/validation/docx.py +274 -0
  316. package/skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
  317. package/skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
  318. package/skills/pptx/ooxml.md +427 -0
  319. package/skills/pptx/scripts/html2pptx.js +979 -0
  320. package/skills/pptx/scripts/inventory.py +1020 -0
  321. package/skills/pptx/scripts/rearrange.py +231 -0
  322. package/skills/pptx/scripts/replace.py +385 -0
  323. package/skills/pptx/scripts/thumbnail.py +450 -0
  324. package/skills/project-analyze/SKILL.md +270 -0
  325. package/skills/project-analyze/phases/phase0-discovery.md +278 -0
  326. package/skills/project-analyze/phases/phase0.5-prescan.md +139 -0
  327. package/skills/project-analyze/phases/phase1-inventory.md +94 -0
  328. package/skills/project-analyze/phases/phase2-deep-analysis.md +249 -0
  329. package/skills/project-analyze/phases/phase2a-l4-analysis.md +94 -0
  330. package/skills/project-analyze/phases/phase2b-l5-analysis.md +97 -0
  331. package/skills/project-analyze/phases/phase3-knowledge-graph.md +120 -0
  332. package/skills/project-analyze/phases/phase3a-multi-dimensional.md +61 -0
  333. package/skills/project-analyze/phases/phase4-code-quality.md +81 -0
  334. package/skills/project-analyze/phases/phase5-synthesis.md +284 -0
  335. package/skills/project-analyze/phases/phase6-validation.md +179 -0
  336. package/skills/project-analyze/prompts/code-review-agent.md +122 -0
  337. package/skills/project-analyze/prompts/deep-analysis-agent.md +107 -0
  338. package/skills/project-analyze/prompts/inventory-agent.md +67 -0
  339. package/skills/project-analyze/prompts/l4-analysis-agent.md +98 -0
  340. package/skills/project-analyze/rules/android.md +282 -0
  341. package/skills/project-analyze/rules/devops.md +443 -0
  342. package/skills/project-analyze/rules/generic.md +243 -0
  343. package/skills/project-analyze/rules/go.md +289 -0
  344. package/skills/project-analyze/rules/harmony.md +257 -0
  345. package/skills/project-analyze/rules/java.md +507 -0
  346. package/skills/project-analyze/rules/mobile-flutter.md +315 -0
  347. package/skills/project-analyze/rules/mobile-react-native.md +283 -0
  348. package/skills/project-analyze/rules/mobile-swift.md +323 -0
  349. package/skills/project-analyze/rules/python.md +317 -0
  350. package/skills/project-analyze/rules/rust-tauri.md +243 -0
  351. package/skills/project-analyze/rules/rust.md +296 -0
  352. package/skills/project-analyze/rules/web-nextjs.md +364 -0
  353. package/skills/project-analyze/rules/web-react.md +298 -0
  354. package/skills/project-analyze/rules/web-vue.md +378 -0
  355. package/skills/project-analyze/rules/web.md +390 -0
  356. package/skills/project-query/SKILL.md +224 -0
  357. package/skills/project-query/rules/query-templates.md +212 -0
  358. package/skills/python-conventions/SKILL.md +169 -0
  359. package/skills/react-native-conventions/SKILL.md +73 -0
  360. package/skills/requirements-writer/README.md +153 -0
  361. package/skills/requirements-writer/SKILL.md +341 -0
  362. package/skills/requirements-writer/examples/prd-outline-example.md +217 -0
  363. package/skills/requirements-writer/templates/module-prd-template.md +362 -0
  364. package/skills/requirements-writer/templates/prd-outline-template.md +185 -0
  365. package/skills/requirements-writer/templates/user-story-template.md +1125 -0
  366. package/skills/rust-conventions/SKILL.md +361 -0
  367. package/skills/smart-dispatch/SKILL.md +296 -0
  368. package/skills/smart-dispatch/implementer-prompt.md +146 -0
  369. package/skills/smart-dispatch/reviewer-prompt.md +199 -0
  370. package/skills/software-architecture/SKILL.md +278 -0
  371. package/skills/swift-conventions/SKILL.md +72 -0
  372. package/skills/ui-ux-pro/SKILL.md +140 -0
  373. package/skills/verification-before-completion/SKILL.md +119 -0
  374. package/skills/web-conventions/SKILL.md +259 -0
  375. package/skills/webapp-testing/LICENSE.txt +202 -0
  376. package/skills/webapp-testing/SKILL.md +97 -0
  377. package/skills/webapp-testing/examples/console_logging.py +35 -0
  378. package/skills/webapp-testing/examples/element_discovery.py +40 -0
  379. package/skills/webapp-testing/examples/static_html_automation.py +33 -0
  380. package/skills/webapp-testing/scripts/with_server.py +106 -0
  381. package/skills/writing-plans/SKILL.md +144 -0
  382. package/skills/xlsx/LICENSE.txt +30 -0
  383. package/skills/xlsx/SKILL.md +292 -0
  384. package/skills/xlsx/recalc.py +178 -0
  385. package/templates/CLAUDE.md.android +57 -0
  386. package/templates/CLAUDE.md.devops +50 -0
  387. package/templates/CLAUDE.md.generic +34 -0
  388. package/templates/CLAUDE.md.go +67 -0
  389. package/templates/CLAUDE.md.harmony +54 -0
  390. package/templates/CLAUDE.md.java +56 -0
  391. package/templates/CLAUDE.md.mobile-flutter +38 -0
  392. package/templates/CLAUDE.md.mobile-react-native +37 -0
  393. package/templates/CLAUDE.md.mobile-swift +40 -0
  394. package/templates/CLAUDE.md.python +65 -0
  395. package/templates/CLAUDE.md.rust +68 -0
  396. package/templates/CLAUDE.md.rust-tauri +120 -0
  397. package/templates/CLAUDE.md.web +63 -0
  398. package/templates/COMPONENT.md.android +58 -0
  399. package/templates/COMPONENT.md.devops +54 -0
  400. package/templates/COMPONENT.md.generic +35 -0
  401. package/templates/COMPONENT.md.go +59 -0
  402. package/templates/COMPONENT.md.harmony +63 -0
  403. package/templates/COMPONENT.md.java +69 -0
  404. package/templates/COMPONENT.md.mobile-flutter +56 -0
  405. package/templates/COMPONENT.md.mobile-react-native +55 -0
  406. package/templates/COMPONENT.md.mobile-swift +56 -0
  407. package/templates/COMPONENT.md.python +67 -0
  408. package/templates/COMPONENT.md.rust +57 -0
  409. package/templates/COMPONENT.md.rust-tauri +66 -0
  410. package/templates/COMPONENT.md.web +39 -0
  411. package/templates/README.md.android +71 -0
  412. package/templates/README.md.devops +68 -0
  413. package/templates/README.md.generic +39 -0
  414. package/templates/README.md.go +70 -0
  415. package/templates/README.md.harmony +72 -0
  416. package/templates/README.md.java +73 -0
  417. package/templates/README.md.mobile-flutter +69 -0
  418. package/templates/README.md.mobile-react-native +65 -0
  419. package/templates/README.md.mobile-swift +69 -0
  420. package/templates/README.md.monorepo +59 -0
  421. package/templates/README.md.python +66 -0
  422. package/templates/README.md.rust +69 -0
  423. package/templates/README.md.rust-tauri +149 -0
  424. package/templates/README.md.web +94 -0
  425. package/templates/UI_STYLE.md.android +74 -0
  426. package/templates/UI_STYLE.md.devops +50 -0
  427. package/templates/UI_STYLE.md.generic +31 -0
  428. package/templates/UI_STYLE.md.go +49 -0
  429. package/templates/UI_STYLE.md.harmony +71 -0
  430. package/templates/UI_STYLE.md.java +61 -0
  431. package/templates/UI_STYLE.md.mobile-flutter +70 -0
  432. package/templates/UI_STYLE.md.mobile-react-native +71 -0
  433. package/templates/UI_STYLE.md.mobile-swift +71 -0
  434. package/templates/UI_STYLE.md.python +58 -0
  435. package/templates/UI_STYLE.md.rust +52 -0
  436. package/templates/UI_STYLE.md.rust-tauri +102 -0
  437. package/templates/UI_STYLE.md.web +92 -0
  438. package/templates/cursor-rules.android.mdc +33 -0
  439. package/templates/cursor-rules.devops.mdc +32 -0
  440. package/templates/cursor-rules.generic.mdc +25 -0
  441. package/templates/cursor-rules.go.mdc +34 -0
  442. package/templates/cursor-rules.harmony.mdc +30 -0
  443. package/templates/cursor-rules.java.mdc +30 -0
  444. package/templates/cursor-rules.mobile-flutter.mdc +42 -0
  445. package/templates/cursor-rules.mobile-react-native.mdc +43 -0
  446. package/templates/cursor-rules.mobile-swift.mdc +42 -0
  447. package/templates/cursor-rules.python.mdc +33 -0
  448. package/templates/cursor-rules.rust-tauri.mdc +67 -0
  449. package/templates/cursor-rules.rust.mdc +30 -0
  450. package/templates/cursor-rules.web.mdc +30 -0
  451. package/templates/kiro-steering.android.md +39 -0
  452. package/templates/kiro-steering.devops.md +32 -0
  453. package/templates/kiro-steering.generic.md +28 -0
  454. package/templates/kiro-steering.go.md +41 -0
  455. package/templates/kiro-steering.harmony.md +36 -0
  456. package/templates/kiro-steering.java.md +37 -0
  457. package/templates/kiro-steering.mobile-flutter.md +73 -0
  458. package/templates/kiro-steering.mobile-react-native.md +71 -0
  459. package/templates/kiro-steering.mobile-swift.md +62 -0
  460. package/templates/kiro-steering.python.md +34 -0
  461. package/templates/kiro-steering.rust-tauri.md +50 -0
  462. package/templates/kiro-steering.rust.md +36 -0
  463. package/templates/kiro-steering.web.md +41 -0
@@ -0,0 +1,564 @@
1
+ # Codex App Compatibility Implementation Plan
2
+
3
+ > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
4
+
5
+ **Goal:** Make `using-git-worktrees`, `finishing-a-development-branch`, and related skills work in the Codex App's sandboxed worktree environment without breaking existing behavior.
6
+
7
+ **Architecture:** Read-only environment detection (`git-dir` vs `git-common-dir`) at the start of two skills. If already in a linked worktree, skip creation. If on detached HEAD, emit a handoff payload instead of the 4-option menu. Sandbox fallback catches permission errors during worktree creation.
8
+
9
+ **Tech Stack:** Git, Markdown (skill files are instruction documents, not executable code)
10
+
11
+ **Spec:** `docs/superpowers/specs/2026-03-23-codex-app-compatibility-design.md`
12
+
13
+ ---
14
+
15
+ ## File Structure
16
+
17
+ | File | Responsibility | Action |
18
+ |---|---|---|
19
+ | `skills/using-git-worktrees/SKILL.md` | Worktree creation + isolation | Add Step 0 detection + sandbox fallback |
20
+ | `skills/finishing-a-development-branch/SKILL.md` | Branch finishing workflow | Add Step 1.5 detection + cleanup guard |
21
+ | `skills/subagent-driven-development/SKILL.md` | Plan execution with subagents | Update Integration description |
22
+ | `skills/executing-plans/SKILL.md` | Plan execution inline | Update Integration description |
23
+ | `skills/using-superpowers/references/codex-tools.md` | Codex platform reference | Add detection + finishing docs |
24
+
25
+ ---
26
+
27
+ ### Task 1: Add Step 0 to `using-git-worktrees`
28
+
29
+ **Files:**
30
+ - Modify: `skills/using-git-worktrees/SKILL.md:14-15` (insert after Overview, before Directory Selection Process)
31
+
32
+ - [ ] **Step 1: Read the current skill file**
33
+
34
+ Read `skills/using-git-worktrees/SKILL.md` in full. Identify the exact insertion point: after the "Announce at start" line (line 14) and before "## Directory Selection Process" (line 16).
35
+
36
+ - [ ] **Step 2: Insert Step 0 section**
37
+
38
+ Insert the following between the Overview section and "## Directory Selection Process":
39
+
40
+ ```markdown
41
+ ## Step 0: Check if Already in an Isolated Workspace
42
+
43
+ Before creating a worktree, check if one already exists:
44
+
45
+ ```bash
46
+ GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
47
+ GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
48
+ BRANCH=$(git branch --show-current)
49
+ ```
50
+
51
+ **If `GIT_DIR` differs from `GIT_COMMON`:** You are already inside a linked worktree (created by the Codex App, Claude Code's Agent tool, a previous skill run, or the user). Do NOT create another worktree. Instead:
52
+
53
+ 1. Run project setup (auto-detect package manager as in "Run Project Setup" below)
54
+ 2. Verify clean baseline (run tests as in "Verify Clean Baseline" below)
55
+ 3. Report with branch state:
56
+ - On a branch: "Already in an isolated workspace at `<path>` on branch `<name>`. Tests passing. Ready to implement."
57
+ - Detached HEAD: "Already in an isolated workspace at `<path>` (detached HEAD, externally managed). Tests passing. Note: branch creation needed at finish time. Ready to implement."
58
+
59
+ After reporting, STOP. Do not continue to Directory Selection or Creation Steps.
60
+
61
+ **If `GIT_DIR` equals `GIT_COMMON`:** Proceed with the full worktree creation flow below.
62
+
63
+ **Sandbox fallback:** If you proceed to Creation Steps but `git worktree add -b` fails with a permission error (e.g., "Operation not permitted"), treat this as a late-detected restricted environment. Fall back to the behavior above — run setup and baseline tests in the current directory, report accordingly, and STOP.
64
+ ```
65
+
66
+ - [ ] **Step 3: Verify the insertion**
67
+
68
+ Read the file again. Confirm:
69
+ - Step 0 appears between Overview and Directory Selection Process
70
+ - The rest of the file (Directory Selection, Safety Verification, Creation Steps, etc.) is unchanged
71
+ - No duplicate sections or broken markdown
72
+
73
+ - [ ] **Step 4: Commit**
74
+
75
+ ```bash
76
+ git add skills/using-git-worktrees/SKILL.md
77
+ git commit -m "feat(using-git-worktrees): add Step 0 environment detection (PRI-823)
78
+
79
+ Skip worktree creation when already in a linked worktree. Includes
80
+ sandbox fallback for permission errors on git worktree add."
81
+ ```
82
+
83
+ ---
84
+
85
+ ### Task 2: Update `using-git-worktrees` Integration section
86
+
87
+ **Files:**
88
+ - Modify: `skills/using-git-worktrees/SKILL.md:211-215` (Integration > Called by)
89
+
90
+ - [ ] **Step 1: Update the three "Called by" entries**
91
+
92
+ Change lines 212-214 from:
93
+
94
+ ```markdown
95
+ - **brainstorming** (Phase 4) - REQUIRED when design is approved and implementation follows
96
+ - **subagent-driven-development** - REQUIRED before executing any tasks
97
+ - **executing-plans** - REQUIRED before executing any tasks
98
+ ```
99
+
100
+ To:
101
+
102
+ ```markdown
103
+ - **brainstorming** - REQUIRED: Ensures isolated workspace (creates one or verifies existing)
104
+ - **subagent-driven-development** - REQUIRED: Ensures isolated workspace (creates one or verifies existing)
105
+ - **executing-plans** - REQUIRED: Ensures isolated workspace (creates one or verifies existing)
106
+ ```
107
+
108
+ - [ ] **Step 2: Verify the Integration section**
109
+
110
+ Read the Integration section. Confirm all three entries are updated, "Pairs with" is unchanged.
111
+
112
+ - [ ] **Step 3: Commit**
113
+
114
+ ```bash
115
+ git add skills/using-git-worktrees/SKILL.md
116
+ git commit -m "docs(using-git-worktrees): update Integration descriptions (PRI-823)
117
+
118
+ Clarify that skill ensures a workspace exists, not that it always creates one."
119
+ ```
120
+
121
+ ---
122
+
123
+ ### Task 3: Add Step 1.5 to `finishing-a-development-branch`
124
+
125
+ **Files:**
126
+ - Modify: `skills/finishing-a-development-branch/SKILL.md:38` (insert after Step 1, before Step 2)
127
+
128
+ - [ ] **Step 1: Read the current skill file**
129
+
130
+ Read `skills/finishing-a-development-branch/SKILL.md` in full. Identify the insertion point: after "**If tests pass:** Continue to Step 2." (line 38) and before "### Step 2: Determine Base Branch" (line 40).
131
+
132
+ - [ ] **Step 2: Insert Step 1.5 section**
133
+
134
+ Insert the following between Step 1 and Step 2:
135
+
136
+ ```markdown
137
+ ### Step 1.5: Detect Environment
138
+
139
+ ```bash
140
+ GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
141
+ GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
142
+ BRANCH=$(git branch --show-current)
143
+ ```
144
+
145
+ **Path A — `GIT_DIR` differs from `GIT_COMMON` AND `BRANCH` is empty (externally managed worktree, detached HEAD):**
146
+
147
+ First, ensure all work is staged and committed (`git add` + `git commit`).
148
+
149
+ Then present this to the user (do NOT present the 4-option menu):
150
+
151
+ ```
152
+ Implementation complete. All tests passing.
153
+ Current HEAD: <full-commit-sha>
154
+
155
+ This workspace is externally managed (detached HEAD).
156
+ I cannot create branches, push, or open PRs from here.
157
+
158
+ ⚠ These commits are on a detached HEAD. If you do not create a branch,
159
+ they may be lost when this workspace is cleaned up.
160
+
161
+ If your host application provides these controls:
162
+ - "Create branch" — to name a branch, then commit/push/PR
163
+ - "Hand off to local" — to move changes to your local checkout
164
+
165
+ Suggested branch name: <ticket-id/short-description>
166
+ Suggested commit message: <summary-of-work>
167
+ ```
168
+
169
+ Branch name: use ticket ID if available (e.g., `pri-823/codex-compat`), otherwise slugify the first 5 words of the plan title, otherwise omit. Avoid sensitive content in branch names.
170
+
171
+ Skip to Step 5 (cleanup is a no-op — see guard below).
172
+
173
+ **Path B — `GIT_DIR` differs from `GIT_COMMON` AND `BRANCH` exists (externally managed worktree, named branch):**
174
+
175
+ Proceed to Step 2 and present the 4-option menu as normal.
176
+
177
+ **Path C — `GIT_DIR` equals `GIT_COMMON` (normal environment):**
178
+
179
+ Proceed to Step 2 and present the 4-option menu as normal.
180
+ ```
181
+
182
+ - [ ] **Step 3: Verify the insertion**
183
+
184
+ Read the file again. Confirm:
185
+ - Step 1.5 appears between Step 1 and Step 2
186
+ - Steps 2-5 are unchanged
187
+ - Path A handoff includes commit SHA and data loss warning
188
+ - Paths B and C proceed to Step 2 normally
189
+
190
+ - [ ] **Step 4: Commit**
191
+
192
+ ```bash
193
+ git add skills/finishing-a-development-branch/SKILL.md
194
+ git commit -m "feat(finishing-a-development-branch): add Step 1.5 environment detection (PRI-823)
195
+
196
+ Detect externally managed worktrees with detached HEAD and emit handoff
197
+ payload instead of 4-option menu. Includes commit SHA and data loss warning."
198
+ ```
199
+
200
+ ---
201
+
202
+ ### Task 4: Add Step 5 cleanup guard to `finishing-a-development-branch`
203
+
204
+ **Files:**
205
+ - Modify: `skills/finishing-a-development-branch/SKILL.md` (Step 5: Cleanup Worktree — find by section heading, line numbers will have shifted after Task 3)
206
+
207
+ - [ ] **Step 1: Read the current Step 5 section**
208
+
209
+ Find the "### Step 5: Cleanup Worktree" section in `skills/finishing-a-development-branch/SKILL.md` (line numbers will have shifted after Task 3's insertion). The current Step 5 is:
210
+
211
+ ```markdown
212
+ ### Step 5: Cleanup Worktree
213
+
214
+ **For Options 1, 2, 4:**
215
+
216
+ Check if in worktree:
217
+ ```bash
218
+ git worktree list | grep $(git branch --show-current)
219
+ ```
220
+
221
+ If yes:
222
+ ```bash
223
+ git worktree remove <worktree-path>
224
+ ```
225
+
226
+ **For Option 3:** Keep worktree.
227
+ ```
228
+
229
+ - [ ] **Step 2: Add the cleanup guard before existing logic**
230
+
231
+ Replace the Step 5 section with:
232
+
233
+ ```markdown
234
+ ### Step 5: Cleanup Worktree
235
+
236
+ **First, check if worktree is externally managed:**
237
+
238
+ ```bash
239
+ GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
240
+ GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
241
+ ```
242
+
243
+ If `GIT_DIR` differs from `GIT_COMMON`: skip worktree removal — the host environment owns this workspace.
244
+
245
+ **Otherwise, for Options 1 and 4:**
246
+
247
+ Check if in worktree:
248
+ ```bash
249
+ git worktree list | grep $(git branch --show-current)
250
+ ```
251
+
252
+ If yes:
253
+ ```bash
254
+ git worktree remove <worktree-path>
255
+ ```
256
+
257
+ **For Option 3:** Keep worktree.
258
+ ```
259
+
260
+ Note: the original text said "For Options 1, 2, 4" but the Quick Reference table and Common Mistakes section say "Options 1 & 4 only." This edit aligns Step 5 with those sections.
261
+
262
+ - [ ] **Step 3: Verify the replacement**
263
+
264
+ Read Step 5. Confirm:
265
+ - Cleanup guard (re-detection) appears first
266
+ - Existing removal logic preserved for non-externally-managed worktrees
267
+ - "Options 1 and 4" (not "1, 2, 4") matches Quick Reference and Common Mistakes
268
+
269
+ - [ ] **Step 4: Commit**
270
+
271
+ ```bash
272
+ git add skills/finishing-a-development-branch/SKILL.md
273
+ git commit -m "feat(finishing-a-development-branch): add Step 5 cleanup guard (PRI-823)
274
+
275
+ Re-detect externally managed worktree at cleanup time and skip removal.
276
+ Also fixes pre-existing inconsistency: cleanup now correctly says
277
+ Options 1 and 4 only, matching Quick Reference and Common Mistakes."
278
+ ```
279
+
280
+ ---
281
+
282
+ ### Task 5: Update Integration lines in `subagent-driven-development` and `executing-plans`
283
+
284
+ **Files:**
285
+ - Modify: `skills/subagent-driven-development/SKILL.md:268`
286
+ - Modify: `skills/executing-plans/SKILL.md:68`
287
+
288
+ - [ ] **Step 1: Update `subagent-driven-development`**
289
+
290
+ Change line 268 from:
291
+ ```
292
+ - **superpowers:using-git-worktrees** - REQUIRED: Set up isolated workspace before starting
293
+ ```
294
+ To:
295
+ ```
296
+ - **superpowers:using-git-worktrees** - REQUIRED: Ensures isolated workspace (creates one or verifies existing)
297
+ ```
298
+
299
+ - [ ] **Step 2: Update `executing-plans`**
300
+
301
+ Change line 68 from:
302
+ ```
303
+ - **superpowers:using-git-worktrees** - REQUIRED: Set up isolated workspace before starting
304
+ ```
305
+ To:
306
+ ```
307
+ - **superpowers:using-git-worktrees** - REQUIRED: Ensures isolated workspace (creates one or verifies existing)
308
+ ```
309
+
310
+ - [ ] **Step 3: Verify both files**
311
+
312
+ Read line 268 of `skills/subagent-driven-development/SKILL.md` and line 68 of `skills/executing-plans/SKILL.md`. Confirm both say "Ensures isolated workspace (creates one or verifies existing)".
313
+
314
+ - [ ] **Step 4: Commit**
315
+
316
+ ```bash
317
+ git add skills/subagent-driven-development/SKILL.md skills/executing-plans/SKILL.md
318
+ git commit -m "docs(sdd, executing-plans): update worktree Integration descriptions (PRI-823)
319
+
320
+ Clarify that using-git-worktrees ensures a workspace exists rather than
321
+ always creating one."
322
+ ```
323
+
324
+ ---
325
+
326
+ ### Task 6: Add environment detection docs to `codex-tools.md`
327
+
328
+ **Files:**
329
+ - Modify: `skills/using-superpowers/references/codex-tools.md:25` (append at end)
330
+
331
+ - [ ] **Step 1: Read the current file**
332
+
333
+ Read `skills/using-superpowers/references/codex-tools.md` in full. Confirm it ends at line 25-26 after the multi_agent section.
334
+
335
+ - [ ] **Step 2: Append two new sections**
336
+
337
+ Add at the end of the file:
338
+
339
+ ```markdown
340
+
341
+ ## Environment Detection
342
+
343
+ Skills that create worktrees or finish branches should detect their
344
+ environment with read-only git commands before proceeding:
345
+
346
+ ```bash
347
+ GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
348
+ GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
349
+ BRANCH=$(git branch --show-current)
350
+ ```
351
+
352
+ - `GIT_DIR != GIT_COMMON` → already in a linked worktree (skip creation)
353
+ - `BRANCH` empty → detached HEAD (cannot branch/push/PR from sandbox)
354
+
355
+ See `using-git-worktrees` Step 0 and `finishing-a-development-branch`
356
+ Step 1.5 for how each skill uses these signals.
357
+
358
+ ## Codex App Finishing
359
+
360
+ When the sandbox blocks branch/push operations (detached HEAD in an
361
+ externally managed worktree), the agent commits all work and informs
362
+ the user to use the App's native controls:
363
+
364
+ - **"Create branch"** — names the branch, then commit/push/PR via App UI
365
+ - **"Hand off to local"** — transfers work to the user's local checkout
366
+
367
+ The agent can still run tests, stage files, and output suggested branch
368
+ names, commit messages, and PR descriptions for the user to copy.
369
+ ```
370
+
371
+ - [ ] **Step 3: Verify the additions**
372
+
373
+ Read the full file. Confirm:
374
+ - Two new sections appear after the existing content
375
+ - Bash code block renders correctly (not escaped)
376
+ - Cross-references to Step 0 and Step 1.5 are present
377
+
378
+ - [ ] **Step 4: Commit**
379
+
380
+ ```bash
381
+ git add skills/using-superpowers/references/codex-tools.md
382
+ git commit -m "docs(codex-tools): add environment detection and App finishing docs (PRI-823)
383
+
384
+ Document the git-dir vs git-common-dir detection pattern and the Codex
385
+ App's native finishing flow for skills that need to adapt."
386
+ ```
387
+
388
+ ---
389
+
390
+ ### Task 7: Automated test — environment detection
391
+
392
+ **Files:**
393
+ - Create: `tests/codex-app-compat/test-environment-detection.sh`
394
+
395
+ - [ ] **Step 1: Create test directory**
396
+
397
+ ```bash
398
+ mkdir -p tests/codex-app-compat
399
+ ```
400
+
401
+ - [ ] **Step 2: Write the detection test script**
402
+
403
+ Create `tests/codex-app-compat/test-environment-detection.sh`:
404
+
405
+ ```bash
406
+ #!/usr/bin/env bash
407
+ set -euo pipefail
408
+
409
+ # Test environment detection logic from PRI-823
410
+ # Tests the git-dir vs git-common-dir comparison used by
411
+ # using-git-worktrees Step 0 and finishing-a-development-branch Step 1.5
412
+
413
+ PASS=0
414
+ FAIL=0
415
+ TEMP_DIR=$(mktemp -d)
416
+ trap "rm -rf $TEMP_DIR" EXIT
417
+
418
+ log_pass() { echo " PASS: $1"; PASS=$((PASS + 1)); }
419
+ log_fail() { echo " FAIL: $1"; FAIL=$((FAIL + 1)); }
420
+
421
+ # Helper: run detection and return "linked" or "normal"
422
+ detect_worktree() {
423
+ local git_dir git_common
424
+ git_dir=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
425
+ git_common=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
426
+ if [ "$git_dir" != "$git_common" ]; then
427
+ echo "linked"
428
+ else
429
+ echo "normal"
430
+ fi
431
+ }
432
+
433
+ echo "=== Test 1: Normal repo detection ==="
434
+ cd "$TEMP_DIR"
435
+ git init test-repo > /dev/null 2>&1
436
+ cd test-repo
437
+ git commit --allow-empty -m "init" > /dev/null 2>&1
438
+ result=$(detect_worktree)
439
+ if [ "$result" = "normal" ]; then
440
+ log_pass "Normal repo detected as normal"
441
+ else
442
+ log_fail "Normal repo detected as '$result' (expected 'normal')"
443
+ fi
444
+
445
+ echo "=== Test 2: Linked worktree detection ==="
446
+ git worktree add "$TEMP_DIR/test-wt" -b test-branch > /dev/null 2>&1
447
+ cd "$TEMP_DIR/test-wt"
448
+ result=$(detect_worktree)
449
+ if [ "$result" = "linked" ]; then
450
+ log_pass "Linked worktree detected as linked"
451
+ else
452
+ log_fail "Linked worktree detected as '$result' (expected 'linked')"
453
+ fi
454
+
455
+ echo "=== Test 3: Detached HEAD detection ==="
456
+ git checkout --detach HEAD > /dev/null 2>&1
457
+ branch=$(git branch --show-current)
458
+ if [ -z "$branch" ]; then
459
+ log_pass "Detached HEAD: branch is empty"
460
+ else
461
+ log_fail "Detached HEAD: branch is '$branch' (expected empty)"
462
+ fi
463
+
464
+ echo "=== Test 4: Linked worktree + detached HEAD (Codex App simulation) ==="
465
+ result=$(detect_worktree)
466
+ branch=$(git branch --show-current)
467
+ if [ "$result" = "linked" ] && [ -z "$branch" ]; then
468
+ log_pass "Codex App simulation: linked + detached HEAD"
469
+ else
470
+ log_fail "Codex App simulation: result='$result', branch='$branch'"
471
+ fi
472
+
473
+ echo "=== Test 5: Cleanup guard — linked worktree should NOT remove ==="
474
+ cd "$TEMP_DIR/test-wt"
475
+ result=$(detect_worktree)
476
+ if [ "$result" = "linked" ]; then
477
+ log_pass "Cleanup guard: linked worktree correctly detected (would skip removal)"
478
+ else
479
+ log_fail "Cleanup guard: expected 'linked', got '$result'"
480
+ fi
481
+
482
+ echo "=== Test 6: Cleanup guard — main repo SHOULD remove ==="
483
+ cd "$TEMP_DIR/test-repo"
484
+ result=$(detect_worktree)
485
+ if [ "$result" = "normal" ]; then
486
+ log_pass "Cleanup guard: main repo correctly detected (would proceed with removal)"
487
+ else
488
+ log_fail "Cleanup guard: expected 'normal', got '$result'"
489
+ fi
490
+
491
+ # Cleanup worktree before temp dir removal
492
+ cd "$TEMP_DIR/test-repo"
493
+ git worktree remove "$TEMP_DIR/test-wt" > /dev/null 2>&1 || true
494
+
495
+ echo ""
496
+ echo "=== Results: $PASS passed, $FAIL failed ==="
497
+ if [ "$FAIL" -gt 0 ]; then
498
+ exit 1
499
+ fi
500
+ ```
501
+
502
+ - [ ] **Step 3: Make it executable and run it**
503
+
504
+ ```bash
505
+ chmod +x tests/codex-app-compat/test-environment-detection.sh
506
+ ./tests/codex-app-compat/test-environment-detection.sh
507
+ ```
508
+
509
+ Expected output: 6 passed, 0 failed.
510
+
511
+ - [ ] **Step 4: Commit**
512
+
513
+ ```bash
514
+ git add tests/codex-app-compat/test-environment-detection.sh
515
+ git commit -m "test: add environment detection tests for Codex App compat (PRI-823)
516
+
517
+ Tests git-dir vs git-common-dir comparison in normal repo, linked
518
+ worktree, detached HEAD, and cleanup guard scenarios."
519
+ ```
520
+
521
+ ---
522
+
523
+ ### Task 8: Final verification
524
+
525
+ **Files:**
526
+ - Read: all 5 modified skill files
527
+
528
+ - [ ] **Step 1: Run the automated detection tests**
529
+
530
+ ```bash
531
+ ./tests/codex-app-compat/test-environment-detection.sh
532
+ ```
533
+
534
+ Expected: 6 passed, 0 failed.
535
+
536
+ - [ ] **Step 2: Read each modified file and verify changes**
537
+
538
+ Read each file end-to-end:
539
+ - `skills/using-git-worktrees/SKILL.md` — Step 0 present, rest unchanged
540
+ - `skills/finishing-a-development-branch/SKILL.md` — Step 1.5 present, cleanup guard present, rest unchanged
541
+ - `skills/subagent-driven-development/SKILL.md` — line 268 updated
542
+ - `skills/executing-plans/SKILL.md` — line 68 updated
543
+ - `skills/using-superpowers/references/codex-tools.md` — two new sections at end
544
+
545
+ - [ ] **Step 3: Verify no unintended changes**
546
+
547
+ ```bash
548
+ git diff --stat HEAD~7
549
+ ```
550
+
551
+ Should show exactly 6 files changed (5 skill files + 1 test file). No other files modified.
552
+
553
+ - [ ] **Step 4: Run existing test suite**
554
+
555
+ If test runner exists:
556
+ ```bash
557
+ # Run skill-triggering tests
558
+ ./tests/skill-triggering/run-all.sh 2>/dev/null || echo "Skill triggering tests not available in this environment"
559
+
560
+ # Run SDD integration test
561
+ ./tests/claude-code/test-subagent-driven-development-integration.sh 2>/dev/null || echo "SDD integration test not available in this environment"
562
+ ```
563
+
564
+ Note: these tests require Claude Code with `--dangerously-skip-permissions`. If not available, document that regression tests should be run manually.
@@ -0,0 +1,136 @@
1
+ # Document Review System Design
2
+
3
+ ## Overview
4
+
5
+ Add two new review stages to the superpowers workflow:
6
+
7
+ 1. **Spec Document Review** - After brainstorming, before writing-plans
8
+ 2. **Plan Document Review** - After writing-plans, before implementation
9
+
10
+ Both follow the iterative loop pattern used by implementation reviews.
11
+
12
+ ## Spec Document Reviewer
13
+
14
+ **Purpose:** Verify the spec is complete, consistent, and ready for implementation planning.
15
+
16
+ **Location:** `skills/brainstorming/spec-document-reviewer-prompt.md`
17
+
18
+ **What it checks for:**
19
+
20
+ | Category | What to Look For |
21
+ |----------|------------------|
22
+ | Completeness | TODOs, placeholders, "TBD", incomplete sections |
23
+ | Coverage | Missing error handling, edge cases, integration points |
24
+ | Consistency | Internal contradictions, conflicting requirements |
25
+ | Clarity | Ambiguous requirements |
26
+ | YAGNI | Unrequested features, over-engineering |
27
+
28
+ **Output format:**
29
+ ```
30
+ ## Spec Review
31
+
32
+ **Status:** Approved | Issues Found
33
+
34
+ **Issues (if any):**
35
+ - [Section X]: [issue] - [why it matters]
36
+
37
+ **Recommendations (advisory):**
38
+ - [suggestions that don't block approval]
39
+ ```
40
+
41
+ **Review loop:** Issues found -> brainstorming agent fixes -> re-review -> repeat until approved.
42
+
43
+ **Dispatch mechanism:** Use the Task tool with `subagent_type: general-purpose`. The reviewer prompt template provides the full prompt. The brainstorming skill's controller dispatches the reviewer.
44
+
45
+ ## Plan Document Reviewer
46
+
47
+ **Purpose:** Verify the plan is complete, matches the spec, and has proper task decomposition.
48
+
49
+ **Location:** `skills/writing-plans/plan-document-reviewer-prompt.md`
50
+
51
+ **What it checks for:**
52
+
53
+ | Category | What to Look For |
54
+ |----------|------------------|
55
+ | Completeness | TODOs, placeholders, incomplete tasks |
56
+ | Spec Alignment | Plan covers spec requirements, no scope creep |
57
+ | Task Decomposition | Tasks atomic, clear boundaries |
58
+ | Task Syntax | Checkbox syntax on tasks and steps |
59
+ | Chunk Size | Each chunk under 1000 lines |
60
+
61
+ **Chunk definition:** A chunk is a logical grouping of tasks within the plan document, delimited by `## Chunk N: <name>` headings. The writing-plans skill creates these boundaries based on logical phases (e.g., "Foundation", "Core Features", "Integration"). Each chunk should be self-contained enough to review independently.
62
+
63
+ **Spec alignment verification:** The reviewer receives both:
64
+ 1. The plan document (or current chunk)
65
+ 2. The path to the spec document for reference
66
+
67
+ The reviewer reads both and compares requirements coverage.
68
+
69
+ **Output format:** Same as spec reviewer, but scoped to the current chunk.
70
+
71
+ **Review process (chunk-by-chunk):**
72
+ 1. Writing-plans creates chunk N
73
+ 2. Controller dispatches plan-document-reviewer with chunk N content and spec path
74
+ 3. Reviewer reads chunk and spec, returns verdict
75
+ 4. If issues: writing-plans agent fixes chunk N, goto step 2
76
+ 5. If approved: proceed to chunk N+1
77
+ 6. Repeat until all chunks approved
78
+
79
+ **Dispatch mechanism:** Same as spec reviewer - Task tool with `subagent_type: general-purpose`.
80
+
81
+ ## Updated Workflow
82
+
83
+ ```
84
+ brainstorming -> spec -> SPEC REVIEW LOOP -> writing-plans -> plan -> PLAN REVIEW LOOP -> implementation
85
+ ```
86
+
87
+ **Spec Review Loop:**
88
+ 1. Spec complete
89
+ 2. Dispatch reviewer
90
+ 3. If issues: fix -> goto 2
91
+ 4. If approved: proceed
92
+
93
+ **Plan Review Loop:**
94
+ 1. Chunk N complete
95
+ 2. Dispatch reviewer for chunk N
96
+ 3. If issues: fix -> goto 2
97
+ 4. If approved: next chunk or implementation
98
+
99
+ ## Markdown Task Syntax
100
+
101
+ Tasks and steps use checkbox syntax:
102
+
103
+ ```markdown
104
+ - [ ] ### Task 1: Name
105
+
106
+ - [ ] **Step 1:** Description
107
+ - File: path
108
+ - Command: cmd
109
+ ```
110
+
111
+ ## Error Handling
112
+
113
+ **Review loop termination:**
114
+ - No hard iteration limit - loops continue until reviewer approves
115
+ - If loop exceeds 5 iterations, the controller should surface this to the human for guidance
116
+ - The human can choose to: continue iterating, approve with known issues, or abort
117
+
118
+ **Disagreement handling:**
119
+ - Reviewers are advisory - they flag issues but don't block
120
+ - If the agent believes reviewer feedback is incorrect, it should explain why in its fix
121
+ - If disagreement persists after 3 iterations on the same issue, surface to human
122
+
123
+ **Malformed reviewer output:**
124
+ - Controller should validate reviewer output has required fields (Status, Issues if applicable)
125
+ - If malformed, re-dispatch reviewer with a note about expected format
126
+ - After 2 malformed responses, surface to human
127
+
128
+ ## Files to Change
129
+
130
+ **New files:**
131
+ - `skills/brainstorming/spec-document-reviewer-prompt.md`
132
+ - `skills/writing-plans/plan-document-reviewer-prompt.md`
133
+
134
+ **Modified files:**
135
+ - `skills/brainstorming/SKILL.md` - add review loop after spec written
136
+ - `skills/writing-plans/SKILL.md` - add chunk-by-chunk review loop, update task syntax examples