@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.
- package/LICENSE +21 -0
- package/README.md +235 -0
- package/VERSION +1 -0
- package/agents/code-reviewer.md +29 -0
- package/bin/atool.js +235 -0
- package/bin/postinstall.js +23 -0
- package/hooks/doc-sync-reminder +155 -0
- package/hooks/hooks-cursor.json +37 -0
- package/hooks/hooks.json +37 -0
- package/hooks/prompt-guard +135 -0
- package/hooks/session-start +286 -0
- package/install.sh +603 -0
- package/lib/analyze-source.sh +1265 -0
- package/lib/common.sh +1041 -0
- package/lib/compute-importance.sh +598 -0
- package/lib/detect-stack.sh +354 -0
- package/lib/generate-visualization.sh +266 -0
- package/lib/install-claude.sh +43 -0
- package/lib/install-cursor.sh +281 -0
- package/lib/install-hooks.sh +285 -0
- package/lib/install-kiro.sh +543 -0
- package/lib/install-mcp.sh +99 -0
- package/lib/install-skills.sh +129 -0
- package/lib/knowledge-graph.sh +1014 -0
- package/lib/multi-dimensional-analysis.sh +413 -0
- package/lib/pre-scan.sh +1045 -0
- package/lib/project-init.sh +552 -0
- package/lib/visualization-template.html +545 -0
- package/mcp/recommended.json +24 -0
- package/package.json +39 -0
- package/skills/_superpowers/.claude-plugin/marketplace.json +20 -0
- package/skills/_superpowers/.claude-plugin/plugin.json +20 -0
- package/skills/_superpowers/.codex/INSTALL.md +67 -0
- package/skills/_superpowers/.cursor-plugin/plugin.json +25 -0
- package/skills/_superpowers/.gitattributes +18 -0
- package/skills/_superpowers/.github/FUNDING.yml +3 -0
- package/skills/_superpowers/.github/ISSUE_TEMPLATE/bug_report.md +52 -0
- package/skills/_superpowers/.github/ISSUE_TEMPLATE/config.yml +5 -0
- package/skills/_superpowers/.github/ISSUE_TEMPLATE/feature_request.md +34 -0
- package/skills/_superpowers/.github/ISSUE_TEMPLATE/platform_support.md +23 -0
- package/skills/_superpowers/.github/PULL_REQUEST_TEMPLATE.md +87 -0
- package/skills/_superpowers/.opencode/INSTALL.md +83 -0
- package/skills/_superpowers/.opencode/plugins/superpowers.js +107 -0
- package/skills/_superpowers/CHANGELOG.md +13 -0
- package/skills/_superpowers/CODE_OF_CONDUCT.md +128 -0
- package/skills/_superpowers/GEMINI.md +2 -0
- package/skills/_superpowers/LICENSE +21 -0
- package/skills/_superpowers/README.md +187 -0
- package/skills/_superpowers/RELEASE-NOTES.md +1083 -0
- package/skills/_superpowers/agents/code-reviewer.md +48 -0
- package/skills/_superpowers/commands/brainstorm.md +5 -0
- package/skills/_superpowers/commands/execute-plan.md +5 -0
- package/skills/_superpowers/commands/write-plan.md +5 -0
- package/skills/_superpowers/docs/README.codex.md +126 -0
- package/skills/_superpowers/docs/README.opencode.md +130 -0
- package/skills/_superpowers/docs/plans/2025-11-22-opencode-support-design.md +294 -0
- package/skills/_superpowers/docs/plans/2025-11-22-opencode-support-implementation.md +1095 -0
- package/skills/_superpowers/docs/plans/2025-11-28-skills-improvements-from-user-feedback.md +711 -0
- package/skills/_superpowers/docs/plans/2026-01-17-visual-brainstorming.md +571 -0
- package/skills/_superpowers/docs/superpowers/plans/2026-01-22-document-review-system.md +301 -0
- package/skills/_superpowers/docs/superpowers/plans/2026-02-19-visual-brainstorming-refactor.md +523 -0
- package/skills/_superpowers/docs/superpowers/plans/2026-03-11-zero-dep-brainstorm-server.md +479 -0
- package/skills/_superpowers/docs/superpowers/plans/2026-03-23-codex-app-compatibility.md +564 -0
- package/skills/_superpowers/docs/superpowers/specs/2026-01-22-document-review-system-design.md +136 -0
- package/skills/_superpowers/docs/superpowers/specs/2026-02-19-visual-brainstorming-refactor-design.md +162 -0
- package/skills/_superpowers/docs/superpowers/specs/2026-03-11-zero-dep-brainstorm-server-design.md +118 -0
- package/skills/_superpowers/docs/superpowers/specs/2026-03-23-codex-app-compatibility-design.md +244 -0
- package/skills/_superpowers/docs/testing.md +303 -0
- package/skills/_superpowers/docs/windows/polyglot-hooks.md +212 -0
- package/skills/_superpowers/gemini-extension.json +6 -0
- package/skills/_superpowers/hooks/hooks-cursor.json +10 -0
- package/skills/_superpowers/hooks/hooks.json +16 -0
- package/skills/_superpowers/hooks/run-hook.cmd +46 -0
- package/skills/_superpowers/hooks/session-start +57 -0
- package/skills/_superpowers/package.json +6 -0
- package/skills/_superpowers/skills/brainstorming/SKILL.md +164 -0
- package/skills/_superpowers/skills/brainstorming/scripts/frame-template.html +214 -0
- package/skills/_superpowers/skills/brainstorming/scripts/helper.js +88 -0
- package/skills/_superpowers/skills/brainstorming/scripts/server.cjs +354 -0
- package/skills/_superpowers/skills/brainstorming/scripts/start-server.sh +148 -0
- package/skills/_superpowers/skills/brainstorming/scripts/stop-server.sh +56 -0
- package/skills/_superpowers/skills/brainstorming/spec-document-reviewer-prompt.md +49 -0
- package/skills/_superpowers/skills/brainstorming/visual-companion.md +287 -0
- package/skills/_superpowers/skills/dispatching-parallel-agents/SKILL.md +182 -0
- package/skills/_superpowers/skills/executing-plans/SKILL.md +70 -0
- package/skills/_superpowers/skills/finishing-a-development-branch/SKILL.md +200 -0
- package/skills/_superpowers/skills/receiving-code-review/SKILL.md +213 -0
- package/skills/_superpowers/skills/requesting-code-review/SKILL.md +105 -0
- package/skills/_superpowers/skills/requesting-code-review/code-reviewer.md +146 -0
- package/skills/_superpowers/skills/subagent-driven-development/SKILL.md +277 -0
- package/skills/_superpowers/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
- package/skills/_superpowers/skills/subagent-driven-development/implementer-prompt.md +113 -0
- package/skills/_superpowers/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/skills/_superpowers/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/skills/_superpowers/skills/systematic-debugging/SKILL.md +296 -0
- package/skills/_superpowers/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/skills/_superpowers/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/skills/_superpowers/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/skills/_superpowers/skills/systematic-debugging/find-polluter.sh +63 -0
- package/skills/_superpowers/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/skills/_superpowers/skills/systematic-debugging/test-academic.md +14 -0
- package/skills/_superpowers/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/skills/_superpowers/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/skills/_superpowers/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/skills/_superpowers/skills/test-driven-development/SKILL.md +371 -0
- package/skills/_superpowers/skills/test-driven-development/testing-anti-patterns.md +299 -0
- package/skills/_superpowers/skills/using-git-worktrees/SKILL.md +218 -0
- package/skills/_superpowers/skills/using-superpowers/SKILL.md +115 -0
- package/skills/_superpowers/skills/using-superpowers/references/codex-tools.md +100 -0
- package/skills/_superpowers/skills/using-superpowers/references/gemini-tools.md +33 -0
- package/skills/_superpowers/skills/verification-before-completion/SKILL.md +139 -0
- package/skills/_superpowers/skills/writing-plans/SKILL.md +152 -0
- package/skills/_superpowers/skills/writing-plans/plan-document-reviewer-prompt.md +49 -0
- package/skills/_superpowers/skills/writing-skills/SKILL.md +655 -0
- package/skills/_superpowers/skills/writing-skills/anthropic-best-practices.md +1150 -0
- package/skills/_superpowers/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
- package/skills/_superpowers/skills/writing-skills/graphviz-conventions.dot +172 -0
- package/skills/_superpowers/skills/writing-skills/persuasion-principles.md +187 -0
- package/skills/_superpowers/skills/writing-skills/render-graphs.js +168 -0
- package/skills/_superpowers/skills/writing-skills/testing-skills-with-subagents.md +384 -0
- package/skills/_superpowers/tests/brainstorm-server/package-lock.json +36 -0
- package/skills/_superpowers/tests/brainstorm-server/package.json +10 -0
- package/skills/_superpowers/tests/brainstorm-server/server.test.js +427 -0
- package/skills/_superpowers/tests/brainstorm-server/windows-lifecycle.test.sh +351 -0
- package/skills/_superpowers/tests/brainstorm-server/ws-protocol.test.js +392 -0
- package/skills/_superpowers/tests/claude-code/README.md +158 -0
- package/skills/_superpowers/tests/claude-code/analyze-token-usage.py +168 -0
- package/skills/_superpowers/tests/claude-code/run-skill-tests.sh +187 -0
- package/skills/_superpowers/tests/claude-code/test-document-review-system.sh +177 -0
- package/skills/_superpowers/tests/claude-code/test-helpers.sh +202 -0
- package/skills/_superpowers/tests/claude-code/test-subagent-driven-development-integration.sh +314 -0
- package/skills/_superpowers/tests/claude-code/test-subagent-driven-development.sh +165 -0
- package/skills/_superpowers/tests/explicit-skill-requests/prompts/action-oriented.txt +3 -0
- package/skills/_superpowers/tests/explicit-skill-requests/prompts/after-planning-flow.txt +17 -0
- package/skills/_superpowers/tests/explicit-skill-requests/prompts/claude-suggested-it.txt +11 -0
- package/skills/_superpowers/tests/explicit-skill-requests/prompts/i-know-what-sdd-means.txt +8 -0
- package/skills/_superpowers/tests/explicit-skill-requests/prompts/mid-conversation-execute-plan.txt +3 -0
- package/skills/_superpowers/tests/explicit-skill-requests/prompts/please-use-brainstorming.txt +1 -0
- package/skills/_superpowers/tests/explicit-skill-requests/prompts/skip-formalities.txt +3 -0
- package/skills/_superpowers/tests/explicit-skill-requests/prompts/subagent-driven-development-please.txt +1 -0
- package/skills/_superpowers/tests/explicit-skill-requests/prompts/use-systematic-debugging.txt +1 -0
- package/skills/_superpowers/tests/explicit-skill-requests/run-all.sh +70 -0
- package/skills/_superpowers/tests/explicit-skill-requests/run-claude-describes-sdd.sh +100 -0
- package/skills/_superpowers/tests/explicit-skill-requests/run-extended-multiturn-test.sh +113 -0
- package/skills/_superpowers/tests/explicit-skill-requests/run-haiku-test.sh +144 -0
- package/skills/_superpowers/tests/explicit-skill-requests/run-multiturn-test.sh +143 -0
- package/skills/_superpowers/tests/explicit-skill-requests/run-test.sh +136 -0
- package/skills/_superpowers/tests/opencode/run-tests.sh +163 -0
- package/skills/_superpowers/tests/opencode/setup.sh +73 -0
- package/skills/_superpowers/tests/opencode/test-plugin-loading.sh +72 -0
- package/skills/_superpowers/tests/opencode/test-priority.sh +198 -0
- package/skills/_superpowers/tests/opencode/test-tools.sh +104 -0
- package/skills/_superpowers/tests/skill-triggering/prompts/dispatching-parallel-agents.txt +8 -0
- package/skills/_superpowers/tests/skill-triggering/prompts/executing-plans.txt +1 -0
- package/skills/_superpowers/tests/skill-triggering/prompts/requesting-code-review.txt +3 -0
- package/skills/_superpowers/tests/skill-triggering/prompts/systematic-debugging.txt +11 -0
- package/skills/_superpowers/tests/skill-triggering/prompts/test-driven-development.txt +7 -0
- package/skills/_superpowers/tests/skill-triggering/prompts/writing-plans.txt +10 -0
- package/skills/_superpowers/tests/skill-triggering/run-all.sh +60 -0
- package/skills/_superpowers/tests/skill-triggering/run-test.sh +88 -0
- package/skills/_superpowers/tests/subagent-driven-dev/go-fractals/design.md +81 -0
- package/skills/_superpowers/tests/subagent-driven-dev/go-fractals/plan.md +172 -0
- package/skills/_superpowers/tests/subagent-driven-dev/go-fractals/scaffold.sh +45 -0
- package/skills/_superpowers/tests/subagent-driven-dev/run-test.sh +106 -0
- package/skills/_superpowers/tests/subagent-driven-dev/svelte-todo/design.md +70 -0
- package/skills/_superpowers/tests/subagent-driven-dev/svelte-todo/plan.md +222 -0
- package/skills/_superpowers/tests/subagent-driven-dev/svelte-todo/scaffold.sh +46 -0
- package/skills/ai-project-architecture/SKILL.md +632 -0
- package/skills/ai-project-architecture/reference/structure-rules.md +406 -0
- package/skills/ai-project-architecture/templates/compliance-report.md +300 -0
- package/skills/ai-project-architecture/templates/migration-plan.md +433 -0
- package/skills/ai-project-architecture/templates/verification-checklist.md +408 -0
- package/skills/android-conventions/SKILL.md +125 -0
- package/skills/atool-init/SKILL.md +141 -0
- package/skills/clarify-before-build/SKILL.md +107 -0
- package/skills/code-review/SKILL.md +406 -0
- package/skills/code-review/rules/architecture.md +285 -0
- package/skills/code-review/rules/coupling-cohesion.md +309 -0
- package/skills/code-review/rules/dead-code.md +115 -0
- package/skills/code-review/rules/deprecation-debt.md +279 -0
- package/skills/code-review/rules/duplication.md +104 -0
- package/skills/code-review/rules/error-security.md +143 -0
- package/skills/code-review/rules/maintainability.md +203 -0
- package/skills/code-review/rules/quality.md +158 -0
- package/skills/devops-conventions/SKILL.md +205 -0
- package/skills/doc-coauthoring/SKILL.md +392 -0
- package/skills/doc-standards-enforcer/SKILL.md +290 -0
- package/skills/doc-standards-enforcer/examples/valid-document-example.md +67 -0
- package/skills/doc-standards-enforcer/references/101-standards-summary.md +318 -0
- package/skills/doc-standards-enforcer/scripts/check_references.py +175 -0
- package/skills/doc-standards-enforcer/scripts/fix_common_issues.py +303 -0
- package/skills/doc-standards-enforcer/scripts/validate_doc_standards.py +332 -0
- package/skills/docx/LICENSE.txt +30 -0
- package/skills/docx/SKILL.md +200 -0
- package/skills/docx/docx-js.md +350 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/skills/docx/ooxml/scripts/pack.py +159 -0
- package/skills/docx/ooxml/scripts/unpack.py +29 -0
- package/skills/docx/ooxml/scripts/validate.py +69 -0
- package/skills/docx/ooxml/scripts/validation/__init__.py +15 -0
- package/skills/docx/ooxml/scripts/validation/base.py +951 -0
- package/skills/docx/ooxml/scripts/validation/docx.py +274 -0
- package/skills/docx/ooxml/scripts/validation/pptx.py +315 -0
- package/skills/docx/ooxml/scripts/validation/redlining.py +279 -0
- package/skills/docx/ooxml.md +610 -0
- package/skills/docx/scripts/__init__.py +1 -0
- package/skills/docx/scripts/document.py +1276 -0
- package/skills/docx/scripts/templates/comments.xml +3 -0
- package/skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/skills/docx/scripts/templates/people.xml +3 -0
- package/skills/docx/scripts/utilities.py +374 -0
- package/skills/flutter-conventions/SKILL.md +70 -0
- package/skills/go-conventions/SKILL.md +230 -0
- package/skills/harmony-conventions/SKILL.md +156 -0
- package/skills/java-conventions/SKILL.md +277 -0
- package/skills/pdf/LICENSE.txt +30 -0
- package/skills/pdf/SKILL.md +297 -0
- package/skills/pdf/forms.md +205 -0
- package/skills/pdf/reference.md +612 -0
- package/skills/pdf/scripts/check_bounding_boxes.py +70 -0
- package/skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
- package/skills/pdf/scripts/check_fillable_fields.py +12 -0
- package/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
- package/skills/pdf/scripts/create_validation_image.py +41 -0
- package/skills/pdf/scripts/extract_form_field_info.py +152 -0
- package/skills/pdf/scripts/fill_fillable_fields.py +114 -0
- package/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/skills/pptx/LICENSE.txt +30 -0
- package/skills/pptx/SKILL.md +487 -0
- package/skills/pptx/html2pptx.md +625 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/skills/pptx/ooxml/scripts/pack.py +159 -0
- package/skills/pptx/ooxml/scripts/unpack.py +29 -0
- package/skills/pptx/ooxml/scripts/validate.py +69 -0
- package/skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/skills/pptx/ooxml/scripts/validation/base.py +951 -0
- package/skills/pptx/ooxml/scripts/validation/docx.py +274 -0
- package/skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/skills/pptx/ooxml.md +427 -0
- package/skills/pptx/scripts/html2pptx.js +979 -0
- package/skills/pptx/scripts/inventory.py +1020 -0
- package/skills/pptx/scripts/rearrange.py +231 -0
- package/skills/pptx/scripts/replace.py +385 -0
- package/skills/pptx/scripts/thumbnail.py +450 -0
- package/skills/project-analyze/SKILL.md +270 -0
- package/skills/project-analyze/phases/phase0-discovery.md +278 -0
- package/skills/project-analyze/phases/phase0.5-prescan.md +139 -0
- package/skills/project-analyze/phases/phase1-inventory.md +94 -0
- package/skills/project-analyze/phases/phase2-deep-analysis.md +249 -0
- package/skills/project-analyze/phases/phase2a-l4-analysis.md +94 -0
- package/skills/project-analyze/phases/phase2b-l5-analysis.md +97 -0
- package/skills/project-analyze/phases/phase3-knowledge-graph.md +120 -0
- package/skills/project-analyze/phases/phase3a-multi-dimensional.md +61 -0
- package/skills/project-analyze/phases/phase4-code-quality.md +81 -0
- package/skills/project-analyze/phases/phase5-synthesis.md +284 -0
- package/skills/project-analyze/phases/phase6-validation.md +179 -0
- package/skills/project-analyze/prompts/code-review-agent.md +122 -0
- package/skills/project-analyze/prompts/deep-analysis-agent.md +107 -0
- package/skills/project-analyze/prompts/inventory-agent.md +67 -0
- package/skills/project-analyze/prompts/l4-analysis-agent.md +98 -0
- package/skills/project-analyze/rules/android.md +282 -0
- package/skills/project-analyze/rules/devops.md +443 -0
- package/skills/project-analyze/rules/generic.md +243 -0
- package/skills/project-analyze/rules/go.md +289 -0
- package/skills/project-analyze/rules/harmony.md +257 -0
- package/skills/project-analyze/rules/java.md +507 -0
- package/skills/project-analyze/rules/mobile-flutter.md +315 -0
- package/skills/project-analyze/rules/mobile-react-native.md +283 -0
- package/skills/project-analyze/rules/mobile-swift.md +323 -0
- package/skills/project-analyze/rules/python.md +317 -0
- package/skills/project-analyze/rules/rust-tauri.md +243 -0
- package/skills/project-analyze/rules/rust.md +296 -0
- package/skills/project-analyze/rules/web-nextjs.md +364 -0
- package/skills/project-analyze/rules/web-react.md +298 -0
- package/skills/project-analyze/rules/web-vue.md +378 -0
- package/skills/project-analyze/rules/web.md +390 -0
- package/skills/project-query/SKILL.md +224 -0
- package/skills/project-query/rules/query-templates.md +212 -0
- package/skills/python-conventions/SKILL.md +169 -0
- package/skills/react-native-conventions/SKILL.md +73 -0
- package/skills/requirements-writer/README.md +153 -0
- package/skills/requirements-writer/SKILL.md +341 -0
- package/skills/requirements-writer/examples/prd-outline-example.md +217 -0
- package/skills/requirements-writer/templates/module-prd-template.md +362 -0
- package/skills/requirements-writer/templates/prd-outline-template.md +185 -0
- package/skills/requirements-writer/templates/user-story-template.md +1125 -0
- package/skills/rust-conventions/SKILL.md +361 -0
- package/skills/smart-dispatch/SKILL.md +296 -0
- package/skills/smart-dispatch/implementer-prompt.md +146 -0
- package/skills/smart-dispatch/reviewer-prompt.md +199 -0
- package/skills/software-architecture/SKILL.md +278 -0
- package/skills/swift-conventions/SKILL.md +72 -0
- package/skills/ui-ux-pro/SKILL.md +140 -0
- package/skills/verification-before-completion/SKILL.md +119 -0
- package/skills/web-conventions/SKILL.md +259 -0
- package/skills/webapp-testing/LICENSE.txt +202 -0
- package/skills/webapp-testing/SKILL.md +97 -0
- package/skills/webapp-testing/examples/console_logging.py +35 -0
- package/skills/webapp-testing/examples/element_discovery.py +40 -0
- package/skills/webapp-testing/examples/static_html_automation.py +33 -0
- package/skills/webapp-testing/scripts/with_server.py +106 -0
- package/skills/writing-plans/SKILL.md +144 -0
- package/skills/xlsx/LICENSE.txt +30 -0
- package/skills/xlsx/SKILL.md +292 -0
- package/skills/xlsx/recalc.py +178 -0
- package/templates/CLAUDE.md.android +57 -0
- package/templates/CLAUDE.md.devops +50 -0
- package/templates/CLAUDE.md.generic +34 -0
- package/templates/CLAUDE.md.go +67 -0
- package/templates/CLAUDE.md.harmony +54 -0
- package/templates/CLAUDE.md.java +56 -0
- package/templates/CLAUDE.md.mobile-flutter +38 -0
- package/templates/CLAUDE.md.mobile-react-native +37 -0
- package/templates/CLAUDE.md.mobile-swift +40 -0
- package/templates/CLAUDE.md.python +65 -0
- package/templates/CLAUDE.md.rust +68 -0
- package/templates/CLAUDE.md.rust-tauri +120 -0
- package/templates/CLAUDE.md.web +63 -0
- package/templates/COMPONENT.md.android +58 -0
- package/templates/COMPONENT.md.devops +54 -0
- package/templates/COMPONENT.md.generic +35 -0
- package/templates/COMPONENT.md.go +59 -0
- package/templates/COMPONENT.md.harmony +63 -0
- package/templates/COMPONENT.md.java +69 -0
- package/templates/COMPONENT.md.mobile-flutter +56 -0
- package/templates/COMPONENT.md.mobile-react-native +55 -0
- package/templates/COMPONENT.md.mobile-swift +56 -0
- package/templates/COMPONENT.md.python +67 -0
- package/templates/COMPONENT.md.rust +57 -0
- package/templates/COMPONENT.md.rust-tauri +66 -0
- package/templates/COMPONENT.md.web +39 -0
- package/templates/README.md.android +71 -0
- package/templates/README.md.devops +68 -0
- package/templates/README.md.generic +39 -0
- package/templates/README.md.go +70 -0
- package/templates/README.md.harmony +72 -0
- package/templates/README.md.java +73 -0
- package/templates/README.md.mobile-flutter +69 -0
- package/templates/README.md.mobile-react-native +65 -0
- package/templates/README.md.mobile-swift +69 -0
- package/templates/README.md.monorepo +59 -0
- package/templates/README.md.python +66 -0
- package/templates/README.md.rust +69 -0
- package/templates/README.md.rust-tauri +149 -0
- package/templates/README.md.web +94 -0
- package/templates/UI_STYLE.md.android +74 -0
- package/templates/UI_STYLE.md.devops +50 -0
- package/templates/UI_STYLE.md.generic +31 -0
- package/templates/UI_STYLE.md.go +49 -0
- package/templates/UI_STYLE.md.harmony +71 -0
- package/templates/UI_STYLE.md.java +61 -0
- package/templates/UI_STYLE.md.mobile-flutter +70 -0
- package/templates/UI_STYLE.md.mobile-react-native +71 -0
- package/templates/UI_STYLE.md.mobile-swift +71 -0
- package/templates/UI_STYLE.md.python +58 -0
- package/templates/UI_STYLE.md.rust +52 -0
- package/templates/UI_STYLE.md.rust-tauri +102 -0
- package/templates/UI_STYLE.md.web +92 -0
- package/templates/cursor-rules.android.mdc +33 -0
- package/templates/cursor-rules.devops.mdc +32 -0
- package/templates/cursor-rules.generic.mdc +25 -0
- package/templates/cursor-rules.go.mdc +34 -0
- package/templates/cursor-rules.harmony.mdc +30 -0
- package/templates/cursor-rules.java.mdc +30 -0
- package/templates/cursor-rules.mobile-flutter.mdc +42 -0
- package/templates/cursor-rules.mobile-react-native.mdc +43 -0
- package/templates/cursor-rules.mobile-swift.mdc +42 -0
- package/templates/cursor-rules.python.mdc +33 -0
- package/templates/cursor-rules.rust-tauri.mdc +67 -0
- package/templates/cursor-rules.rust.mdc +30 -0
- package/templates/cursor-rules.web.mdc +30 -0
- package/templates/kiro-steering.android.md +39 -0
- package/templates/kiro-steering.devops.md +32 -0
- package/templates/kiro-steering.generic.md +28 -0
- package/templates/kiro-steering.go.md +41 -0
- package/templates/kiro-steering.harmony.md +36 -0
- package/templates/kiro-steering.java.md +37 -0
- package/templates/kiro-steering.mobile-flutter.md +73 -0
- package/templates/kiro-steering.mobile-react-native.md +71 -0
- package/templates/kiro-steering.mobile-swift.md +62 -0
- package/templates/kiro-steering.python.md +34 -0
- package/templates/kiro-steering.rust-tauri.md +50 -0
- package/templates/kiro-steering.rust.md +36 -0
- 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.
|
package/skills/_superpowers/docs/superpowers/specs/2026-01-22-document-review-system-design.md
ADDED
|
@@ -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
|