@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,146 @@
|
|
|
1
|
+
# Implementer Agent Prompt Template (Smart-Dispatch)
|
|
2
|
+
|
|
3
|
+
Use this template when dispatching implementer agents in smart-dispatch mode.
|
|
4
|
+
|
|
5
|
+
**Key differences from subagent-driven-development:**
|
|
6
|
+
- Agents do NOT commit (controller handles all git operations)
|
|
7
|
+
- Agents do NOT install dependencies (sequential only)
|
|
8
|
+
- Agents have strict file scope constraints
|
|
9
|
+
- Agents report status for the controller to coordinate
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Template
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
Agent tool (general-purpose):
|
|
17
|
+
description: "Implement Task {N}: {task name}"
|
|
18
|
+
run_in_background: true
|
|
19
|
+
prompt: |
|
|
20
|
+
You are implementing Task {N}: {task name}
|
|
21
|
+
|
|
22
|
+
## Task Description
|
|
23
|
+
|
|
24
|
+
{FULL TEXT of task from plan — paste it here, do NOT make agent read file}
|
|
25
|
+
|
|
26
|
+
## Context
|
|
27
|
+
|
|
28
|
+
{Where this fits in the project: which chunk, what prior tasks built,
|
|
29
|
+
what this task depends on, architectural context}
|
|
30
|
+
|
|
31
|
+
## Scope Limitations (CRITICAL)
|
|
32
|
+
|
|
33
|
+
You MUST strictly follow these scope constraints:
|
|
34
|
+
|
|
35
|
+
**ALLOWED:**
|
|
36
|
+
- Create these files: {list Create: files from task}
|
|
37
|
+
- Modify these files: {list Modify: files from task}
|
|
38
|
+
|
|
39
|
+
**FORBIDDEN:**
|
|
40
|
+
- git commit, git push, git add (controller handles ALL git operations)
|
|
41
|
+
- npm install, yarn add, pnpm add (dependency installation is sequential)
|
|
42
|
+
- cargo build, cargo add, pip install, go mod tidy (same reason)
|
|
43
|
+
- Modify ANY file NOT listed above
|
|
44
|
+
- Create ANY file NOT listed above
|
|
45
|
+
|
|
46
|
+
If you discover you need to modify or create a file outside this scope,
|
|
47
|
+
**STOP and return BLOCKED status** with details about what you need.
|
|
48
|
+
|
|
49
|
+
## Before You Begin
|
|
50
|
+
|
|
51
|
+
If you have questions about:
|
|
52
|
+
- The requirements or acceptance criteria
|
|
53
|
+
- The approach or implementation strategy
|
|
54
|
+
- Dependencies or assumptions
|
|
55
|
+
- Anything unclear in the task description
|
|
56
|
+
|
|
57
|
+
**Ask them now.** Raise any concerns before starting work.
|
|
58
|
+
|
|
59
|
+
## Your Job
|
|
60
|
+
|
|
61
|
+
Once you're clear on requirements:
|
|
62
|
+
1. Implement exactly what the task specifies
|
|
63
|
+
2. Write tests (if task specifies)
|
|
64
|
+
3. Verify implementation works
|
|
65
|
+
4. DO NOT commit (controller will handle this)
|
|
66
|
+
5. Self-review (see below)
|
|
67
|
+
6. Report back
|
|
68
|
+
|
|
69
|
+
Work from: {project directory}
|
|
70
|
+
|
|
71
|
+
**While you work:** If you encounter something unexpected or unclear, **ask questions**.
|
|
72
|
+
It is always OK to pause and clarify. Don't guess or make assumptions.
|
|
73
|
+
|
|
74
|
+
## Code Organization
|
|
75
|
+
|
|
76
|
+
- Follow the file structure defined in the plan
|
|
77
|
+
- Each file should have one clear responsibility
|
|
78
|
+
- If a file you're creating grows beyond the plan's intent, stop and report
|
|
79
|
+
it as DONE_WITH_CONCERNS — don't split files on your own
|
|
80
|
+
- In existing codebases, follow established patterns
|
|
81
|
+
- Improve code you're touching the way a good developer would, but don't
|
|
82
|
+
restructure things outside your task scope
|
|
83
|
+
|
|
84
|
+
## When You're in Over Your Head
|
|
85
|
+
|
|
86
|
+
**STOP and escalate when:**
|
|
87
|
+
- The task requires architectural decisions with multiple valid approaches
|
|
88
|
+
- You need to understand code beyond what was provided
|
|
89
|
+
- You feel uncertain about whether your approach is correct
|
|
90
|
+
- You've been reading files trying to understand without progress
|
|
91
|
+
|
|
92
|
+
**How to escalate:** Report back with status BLOCKED or NEEDS_CONTEXT.
|
|
93
|
+
Describe specifically what you're stuck on, what you've tried, and what
|
|
94
|
+
kind of help you need.
|
|
95
|
+
|
|
96
|
+
## Before Reporting Back: Self-Review
|
|
97
|
+
|
|
98
|
+
Review your work:
|
|
99
|
+
|
|
100
|
+
**Completeness:**
|
|
101
|
+
- Did I implement everything in the spec?
|
|
102
|
+
- Did I miss any requirements or edge cases?
|
|
103
|
+
|
|
104
|
+
**Quality:**
|
|
105
|
+
- Are names clear and accurate?
|
|
106
|
+
- Is the code clean and maintainable?
|
|
107
|
+
|
|
108
|
+
**Discipline:**
|
|
109
|
+
- Did I avoid overbuilding (YAGNI)?
|
|
110
|
+
- Did I only build what was requested?
|
|
111
|
+
- Did I stay within my scope constraints?
|
|
112
|
+
|
|
113
|
+
If you find issues during self-review, fix them now.
|
|
114
|
+
|
|
115
|
+
## Report Format
|
|
116
|
+
|
|
117
|
+
When done, report with this exact format:
|
|
118
|
+
|
|
119
|
+
**Status:** DONE | DONE_WITH_CONCERNS | BLOCKED | NEEDS_CONTEXT
|
|
120
|
+
**Implemented:** {what you built}
|
|
121
|
+
**Files changed:** {list of files with brief description of changes}
|
|
122
|
+
**Tests:** {what you tested and results}
|
|
123
|
+
**Self-review:** {findings, if any}
|
|
124
|
+
**Concerns:** {if DONE_WITH_CONCERNS, explain the concerns}
|
|
125
|
+
|
|
126
|
+
Use DONE_WITH_CONCERNS if you completed the work but have doubts.
|
|
127
|
+
Use BLOCKED if you cannot complete the task.
|
|
128
|
+
Use NEEDS_CONTEXT if you need information that wasn't provided.
|
|
129
|
+
Never silently produce work you're unsure about.
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Usage Notes
|
|
133
|
+
|
|
134
|
+
**Model selection:**
|
|
135
|
+
- Simple tasks (1-2 files, clear spec): use `haiku` or `sonnet` model
|
|
136
|
+
- Integration tasks (multi-file, pattern matching): use `sonnet`
|
|
137
|
+
- Complex tasks (architecture decisions, nuanced logic): use `opus`
|
|
138
|
+
|
|
139
|
+
**Re-dispatch:**
|
|
140
|
+
- If agent returns NEEDS_CONTEXT → provide the context, re-dispatch with same template
|
|
141
|
+
- If agent returns BLOCKED → escalate to user, do NOT re-dispatch automatically
|
|
142
|
+
- If review fails → re-dispatch fix agent with additional context about what failed
|
|
143
|
+
|
|
144
|
+
**Timeout:**
|
|
145
|
+
- Default: allow up to 10 minutes per task
|
|
146
|
+
- If agent appears stuck → check output, treat as BLOCKED if no progress
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# Reviewer Agent Prompt Template (Smart-Dispatch)
|
|
2
|
+
|
|
3
|
+
Use this template when dispatching reviewer agents in smart-dispatch mode.
|
|
4
|
+
|
|
5
|
+
Two review stages: **Spec Compliance** (stage 1) and **Code Quality** (stage 2).
|
|
6
|
+
Stage 2 only runs after Stage 1 passes.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Stage 1: Spec Compliance Review
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
Agent tool (general-purpose):
|
|
14
|
+
description: "Spec review Task {N}: {task name}"
|
|
15
|
+
prompt: |
|
|
16
|
+
You are reviewing whether an implementation matches its specification.
|
|
17
|
+
|
|
18
|
+
## What Was Requested
|
|
19
|
+
|
|
20
|
+
{FULL TEXT of task requirements from the plan}
|
|
21
|
+
|
|
22
|
+
## What Implementer Claims They Built
|
|
23
|
+
|
|
24
|
+
{From implementer's report — paste the full report}
|
|
25
|
+
|
|
26
|
+
## CRITICAL: Do Not Trust the Report
|
|
27
|
+
|
|
28
|
+
The implementer's report may be incomplete, inaccurate, or optimistic.
|
|
29
|
+
You MUST verify everything independently by reading the actual code.
|
|
30
|
+
|
|
31
|
+
**DO NOT:**
|
|
32
|
+
- Take their word for what they implemented
|
|
33
|
+
- Trust their claims about completeness
|
|
34
|
+
- Accept their interpretation of requirements
|
|
35
|
+
|
|
36
|
+
**DO:**
|
|
37
|
+
- Read the actual code they wrote
|
|
38
|
+
- Compare actual implementation to requirements line by line
|
|
39
|
+
- Check for missing pieces they claimed to implement
|
|
40
|
+
- Look for extra features they didn't mention
|
|
41
|
+
|
|
42
|
+
## Scope Check
|
|
43
|
+
|
|
44
|
+
The implementer was restricted to these files:
|
|
45
|
+
- Create: {file list}
|
|
46
|
+
- Modify: {file list}
|
|
47
|
+
|
|
48
|
+
Verify:
|
|
49
|
+
- Did they ONLY create/modify the listed files?
|
|
50
|
+
- Did they touch any files outside scope?
|
|
51
|
+
- If yes → this is a CRITICAL issue
|
|
52
|
+
|
|
53
|
+
## Your Job
|
|
54
|
+
|
|
55
|
+
Read the implementation code and verify:
|
|
56
|
+
|
|
57
|
+
**Missing requirements:**
|
|
58
|
+
- Did they implement everything requested?
|
|
59
|
+
- Are there requirements they skipped or missed?
|
|
60
|
+
- Did they claim something works but didn't implement it?
|
|
61
|
+
|
|
62
|
+
**Extra/unneeded work:**
|
|
63
|
+
- Did they build things not requested?
|
|
64
|
+
- Did they over-engineer or add unnecessary features?
|
|
65
|
+
- Did they add "nice to haves" not in spec?
|
|
66
|
+
|
|
67
|
+
**Misunderstandings:**
|
|
68
|
+
- Did they interpret requirements differently than intended?
|
|
69
|
+
- Did they solve the wrong problem?
|
|
70
|
+
|
|
71
|
+
## Report Format
|
|
72
|
+
|
|
73
|
+
Report with this exact format:
|
|
74
|
+
|
|
75
|
+
**Verdict:** PASS | FAIL
|
|
76
|
+
**Scope Compliance:** PASS | VIOLATION — {details}
|
|
77
|
+
|
|
78
|
+
If PASS:
|
|
79
|
+
Brief summary confirming spec compliance.
|
|
80
|
+
|
|
81
|
+
If FAIL:
|
|
82
|
+
List each issue:
|
|
83
|
+
- [MISSING] {what was not implemented} ({file}:{line})
|
|
84
|
+
- [EXTRA] {what was built but not requested} ({file}:{line})
|
|
85
|
+
- [WRONG] {what was misunderstood} ({file}:{line})
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Stage 2: Code Quality Review
|
|
91
|
+
|
|
92
|
+
**Only dispatch after Stage 1 passes.**
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
Agent tool (general-purpose):
|
|
96
|
+
description: "Quality review Task {N}: {task name}"
|
|
97
|
+
prompt: |
|
|
98
|
+
You are reviewing code quality for an implementation.
|
|
99
|
+
|
|
100
|
+
## Implementation Details
|
|
101
|
+
|
|
102
|
+
Task: {task name}
|
|
103
|
+
Files changed:
|
|
104
|
+
{list of changed files with brief descriptions from implementer report}
|
|
105
|
+
|
|
106
|
+
## Your Job
|
|
107
|
+
|
|
108
|
+
Review the actual code for quality concerns:
|
|
109
|
+
|
|
110
|
+
**Dead code:**
|
|
111
|
+
- Unused imports?
|
|
112
|
+
- Unreachable code?
|
|
113
|
+
- Commented-out code that should be removed?
|
|
114
|
+
|
|
115
|
+
**Duplication:**
|
|
116
|
+
- Copy-pasted code that should be extracted?
|
|
117
|
+
- Similar patterns that could be abstracted?
|
|
118
|
+
|
|
119
|
+
**Complexity:**
|
|
120
|
+
- Functions > 40 lines?
|
|
121
|
+
- Cyclomatic complexity > 10?
|
|
122
|
+
- Deep nesting (> 3 levels)?
|
|
123
|
+
|
|
124
|
+
**Error handling:**
|
|
125
|
+
- Unhandled errors?
|
|
126
|
+
- Empty catch blocks?
|
|
127
|
+
- Unsafe patterns (unwrap without check, null without guard)?
|
|
128
|
+
|
|
129
|
+
**Security:**
|
|
130
|
+
- Hardcoded credentials or secrets?
|
|
131
|
+
- SQL injection, XSS, or other OWASP issues?
|
|
132
|
+
- Unvalidated user input?
|
|
133
|
+
|
|
134
|
+
**Conventions:**
|
|
135
|
+
- Follows project's established patterns?
|
|
136
|
+
- Naming conventions consistent?
|
|
137
|
+
- File organization clean?
|
|
138
|
+
|
|
139
|
+
## Severity Levels
|
|
140
|
+
|
|
141
|
+
- **Critical:** Must fix before commit (security, data loss, crash risk)
|
|
142
|
+
- **Important:** Should fix (dead code, duplication, poor error handling)
|
|
143
|
+
- **Minor:** Nice to have (naming, formatting, minor style issues)
|
|
144
|
+
|
|
145
|
+
## Report Format
|
|
146
|
+
|
|
147
|
+
**Verdict:** PASS | FAIL
|
|
148
|
+
**Issues found:** {count}
|
|
149
|
+
|
|
150
|
+
If PASS:
|
|
151
|
+
Brief summary of strengths.
|
|
152
|
+
|
|
153
|
+
If FAIL:
|
|
154
|
+
List each issue:
|
|
155
|
+
- [Critical] {description} ({file}:{line})
|
|
156
|
+
- [Important] {description} ({file}:{line})
|
|
157
|
+
- [Minor] {description} ({file}:{line})
|
|
158
|
+
|
|
159
|
+
Suggest fixes for Critical and Important issues.
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Usage Notes
|
|
165
|
+
|
|
166
|
+
**Review scheduling:**
|
|
167
|
+
- Reviews run SEQUENTIALLY per task (not parallelized)
|
|
168
|
+
- Stage 2 only after Stage 1 passes
|
|
169
|
+
- If Stage 1 fails → re-dispatch implementer fix agent, then re-run Stage 1
|
|
170
|
+
- If Stage 2 fails → re-dispatch implementer fix agent, then re-run Stage 2
|
|
171
|
+
- Max 2 retries per review stage
|
|
172
|
+
|
|
173
|
+
**Fix agent re-dispatch:**
|
|
174
|
+
When a review fails, re-dispatch the implementer with additional context:
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
Agent tool (general-purpose):
|
|
178
|
+
description: "Fix Task {N}: {issue description}"
|
|
179
|
+
run_in_background: {same as original dispatch}
|
|
180
|
+
prompt: |
|
|
181
|
+
You are fixing issues found during review of Task {N}.
|
|
182
|
+
|
|
183
|
+
## Original Task
|
|
184
|
+
{task description}
|
|
185
|
+
|
|
186
|
+
## Review Findings
|
|
187
|
+
{reviewer's report with specific issues}
|
|
188
|
+
|
|
189
|
+
## Your Job
|
|
190
|
+
Fix ONLY the issues identified in the review. Do not change anything else.
|
|
191
|
+
Follow the same scope constraints as the original task.
|
|
192
|
+
|
|
193
|
+
## Report Format
|
|
194
|
+
Same as original: Status, Files changed, What was fixed.
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**Model for reviewers:**
|
|
198
|
+
- Use `sonnet` for reviews (good balance of speed and thoroughness)
|
|
199
|
+
- Use `opus` for complex architectural reviews
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: software-architecture
|
|
3
|
+
description: Use when designing, reviewing, or scaffolding system architecture — covers architecture style selection, high-concurrency/HA design, DDD, clean architecture, microservice boundaries, and deployment strategy.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
category: architecture
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Software Architecture Design Skill
|
|
9
|
+
|
|
10
|
+
Use this skill when asked to design, evolve, review, or scaffold backend/system architecture — especially for Java-based platforms, distributed systems, microservices, high-concurrency services, or cloud-native deployments.
|
|
11
|
+
|
|
12
|
+
## When to Trigger
|
|
13
|
+
|
|
14
|
+
- Design system or technical architecture
|
|
15
|
+
- Choose between monolith, distributed, SOA, microservice, serverless
|
|
16
|
+
- Split modules, services, domains, or repositories
|
|
17
|
+
- Design for high concurrency / high availability / scalability
|
|
18
|
+
- Define service boundaries, gateway, cache, MQ, registry, config center, observability
|
|
19
|
+
- Review whether an architecture is over-designed or under-designed
|
|
20
|
+
- Propose deployment topology, CI/CD flow, container or Kubernetes deployment
|
|
21
|
+
- Produce ADRs, architecture notes, HLD/LLD, or implementation plans
|
|
22
|
+
|
|
23
|
+
Do not trigger for isolated code formatting or minor bug fixes unless they affect architecture or non-functional requirements.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Core Philosophy
|
|
28
|
+
|
|
29
|
+
Three principles drive every architecture decision:
|
|
30
|
+
|
|
31
|
+
1. **Architecture serves business technical problems, not technology fashion.** It exists to solve high concurrency, high availability, performance, scalability, security, and evolution — not to showcase frameworks.
|
|
32
|
+
|
|
33
|
+
2. **The soul of architecture is the technical solution, not the middleware list.** "Using Redis / MQ / Kubernetes" is not architecture. Components are useful only when they serve a coherent solution.
|
|
34
|
+
|
|
35
|
+
3. **Architecture must evolve.** Avoid "ultimate architecture" one-shot design. Design for the current business stage; iterate as scale, complexity, and traffic change.
|
|
36
|
+
|
|
37
|
+
Prefer: **suitable over trendy**, **simple over grand but fragile**, **evolvable over one-step finality**.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Non-Negotiable Principles
|
|
42
|
+
|
|
43
|
+
1. **Suitability first** — choose what the team can realistically build, operate, and debug.
|
|
44
|
+
2. **Simplicity first** — if a simpler design meets current requirements, prefer it.
|
|
45
|
+
3. **Evolution first** — the first architecture should leave room for extraction, scaling, and refactoring later.
|
|
46
|
+
4. **Problem-first reasoning** — always describe: business context → constraints → technical risks → candidate solution → trade-offs → chosen architecture → evolution path.
|
|
47
|
+
5. **Clear boundaries** — every service/module/repo/DB boundary must correspond to a real business capability, not arbitrary technical slicing.
|
|
48
|
+
6. **Operational reality** — architecture is incomplete without deployment, observability, rollback, security, and change management.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Architecture Decision Workflow
|
|
53
|
+
|
|
54
|
+
### Step 1: Frame the Problem
|
|
55
|
+
State: business goal, users/traffic/environments, latency/availability/scalability/security expectations, team capability, delivery timeline, major constraints (existing stack, compliance, integration dependencies).
|
|
56
|
+
|
|
57
|
+
### Step 2: Identify the Dominant Technical Problem
|
|
58
|
+
Classify the main driver: high concurrency / high availability / performance bottleneck / delivery speed / integration complexity / data consistency / cost or ops burden.
|
|
59
|
+
|
|
60
|
+
### Step 3: Choose the Minimum Viable Architecture Style
|
|
61
|
+
|
|
62
|
+
Use this progression — explain why simpler options are not enough before recommending a more complex one:
|
|
63
|
+
|
|
64
|
+
| Style | Choose when |
|
|
65
|
+
|-------|------------|
|
|
66
|
+
| **Monolith** | Small scope, small team, fast delivery, domain still changing |
|
|
67
|
+
| **Distributed modular** | Modules need independent scaling/deployment, multiple channels sharing backend |
|
|
68
|
+
| **SOA** | Enterprise-level shared service layer, heterogeneous protocols already in use |
|
|
69
|
+
| **Microservices** | Clear business capability splits, teams own services independently, full ops/tooling ready |
|
|
70
|
+
| **Serverless** | Event-driven, bursty traffic, minimal infra management desired |
|
|
71
|
+
|
|
72
|
+
### Step 4: Define Architecture Building Blocks
|
|
73
|
+
Define only what is necessary: client/frontend, gateway/access layer, application/service layer, domain/business layer, persistence/data layer, cache, MQ, config center, service registry, auth/identity, observability, deployment/CI-CD, rollback/resilience.
|
|
74
|
+
|
|
75
|
+
### Step 5: Map NFRs to Concrete Design
|
|
76
|
+
| NFR | Concrete mechanisms |
|
|
77
|
+
|-----|-------------------|
|
|
78
|
+
| High concurrency | Statelessness, horizontal scaling, cache, queue, async, read-write split |
|
|
79
|
+
| High availability | Degrade, rate limit, rollback, gray release, redundancy |
|
|
80
|
+
| Performance | Static resources, request merge, caching, async IO |
|
|
81
|
+
| Maintainability | Clear service boundaries, API contracts, documentation, automated tests |
|
|
82
|
+
| Security | Authn/authz, validation, audit, masking, secure defaults |
|
|
83
|
+
|
|
84
|
+
### Step 6: Produce Deliverables
|
|
85
|
+
Architecture summary, component view, deployment view, service decomposition, data flow, interface contract outline, risk list with mitigations, phased evolution roadmap, implementation checklist.
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Architecture Style Rules
|
|
90
|
+
|
|
91
|
+
### Monolith
|
|
92
|
+
- Keep clear layered/module boundaries inside — do not let it become "big ball of mud"
|
|
93
|
+
- Isolate domain modules even within one repo
|
|
94
|
+
- Prepare extraction seams around high-change or high-load modules
|
|
95
|
+
- **Do not recommend microservices if the only reason is "future scalability" without present evidence**
|
|
96
|
+
|
|
97
|
+
### Distributed Modular System
|
|
98
|
+
- Define interface boundaries early
|
|
99
|
+
- Keep shared business logic in versioned service layers or libraries
|
|
100
|
+
- Make remote communication explicit and observable
|
|
101
|
+
|
|
102
|
+
### Microservices
|
|
103
|
+
Choose only when **all** are mostly true: clean business capability splits, teams own services independently, full tooling ready (CI/CD, tracing, monitoring, config, registry, gateway).
|
|
104
|
+
|
|
105
|
+
Rules:
|
|
106
|
+
- Each service = one clear business capability
|
|
107
|
+
- Services must be independently deployable
|
|
108
|
+
- Do not share databases across services unless transitional and justified
|
|
109
|
+
- Document consistency strategy when data spans services
|
|
110
|
+
- Ensure automated contract and integration testing
|
|
111
|
+
|
|
112
|
+
**Warning signs:** too-tiny services without strong boundaries, no tracing/gateway/config center/rollback plan, distributed transactions added casually, services split by technical layer instead of business capability.
|
|
113
|
+
|
|
114
|
+
### Serverless
|
|
115
|
+
- Address function granularity — too fine creates orchestration overhead
|
|
116
|
+
- Handle observability and integration testing explicitly
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Clean Architecture & DDD Principles
|
|
121
|
+
|
|
122
|
+
- Follow **Domain-Driven Design** and ubiquitous language
|
|
123
|
+
- Separate domain entities from infrastructure concerns
|
|
124
|
+
- Keep business logic independent of frameworks
|
|
125
|
+
- Define use cases clearly and keep them isolated
|
|
126
|
+
- Use **domain-specific names**: `OrderCalculator`, `UserAuthenticator` — avoid generic names like `utils`, `helpers`, `common`, `shared`
|
|
127
|
+
- Separate concerns: no business logic in UI components, no DB queries in controllers
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## High-Concurrency Design
|
|
132
|
+
|
|
133
|
+
When concurrency is a key requirement, apply these levers in order:
|
|
134
|
+
|
|
135
|
+
1. **Statelessness** — prefer stateless services; use token-based context; avoid sticky sessions
|
|
136
|
+
2. **Splitting** — by business domain, read/write characteristics, or function/sub-capability
|
|
137
|
+
3. **Service governance** — discovery, routing, timeout, retry, rate limiting, fallback
|
|
138
|
+
4. **Caching by layer** — client cache → CDN/edge → gateway/access → application → data layer. Define cacheable objects, TTL, invalidation strategy; call out consistency risks
|
|
139
|
+
5. **Message queue and async** — use MQ only for: decoupling, async non-blocking work, traffic buffering/peak shaving, eventual consistency. Define retry/dead-letter/compensation
|
|
140
|
+
6. **Reduce request count** — staticization, request merge/aggregation, rate limiting, load shaping
|
|
141
|
+
7. **Speed up the path** — parallelize independent steps, async notifications, read replicas, delayed writes for non-real-time ops
|
|
142
|
+
8. **Resource scaling** — horizontal scaling preferred; vertical scaling acceptable as fastest short-term fix
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## High-Availability Design
|
|
147
|
+
|
|
148
|
+
### Degradation
|
|
149
|
+
- Centralized degrade switches
|
|
150
|
+
- Fallback to local cache / stale data / read-only mode where acceptable
|
|
151
|
+
- Front-loaded degrade at gateway or Nginx
|
|
152
|
+
- Business-priority downgrade: keep core flow, defer/disable non-core features
|
|
153
|
+
|
|
154
|
+
### Rate Limiting and Protection
|
|
155
|
+
- Controls for malicious traffic, abnormal IPs, gateway-level throttling
|
|
156
|
+
|
|
157
|
+
### Rollback
|
|
158
|
+
Every architecture proposal must include: rollback path, stable previous version reference, gray release strategy if relevant.
|
|
159
|
+
|
|
160
|
+
### Monitoring and Alerts
|
|
161
|
+
At minimum: metrics, logs, traces, alert thresholds, **business error monitoring** (not just system error monitoring).
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Business Design Rules
|
|
166
|
+
|
|
167
|
+
Always consider for order, payment, submission, workflow, approval, job triggering, messaging, and callback scenarios:
|
|
168
|
+
|
|
169
|
+
- **Duplicate-prevention design**
|
|
170
|
+
- **Idempotency** — explicit design for any operation that may be retried
|
|
171
|
+
- **State machines** — for workflows with distinct states and transitions
|
|
172
|
+
- **Operation feedback** in admin/backoffice systems
|
|
173
|
+
- **Approval flow** for high-risk or business-controlled changes
|
|
174
|
+
- **Backup / recovery** thinking
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Cloud-Native Platform Baseline
|
|
179
|
+
|
|
180
|
+
Only include components the scenario justifies — do not recommend the full stack for a small internal system:
|
|
181
|
+
|
|
182
|
+
WAF / CDN / ingress / LB → API gateway → service registry/discovery → config center → auth / OAuth2 → service-to-service client or RPC → cache layer → relational DB (with replicas/shards if needed) → MQ → object storage → search engine (if needed) → metrics + tracing + logs → alerting → container registry → CI/CD → Kubernetes or equivalent.
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## Output Format
|
|
187
|
+
|
|
188
|
+
### A. Architecture Summary
|
|
189
|
+
- Business context and dominant technical drivers
|
|
190
|
+
- Recommended architecture style
|
|
191
|
+
- Why this complexity level is right for now
|
|
192
|
+
|
|
193
|
+
### B. Component Design
|
|
194
|
+
Key components and their responsibilities.
|
|
195
|
+
|
|
196
|
+
### C. Data and Interaction Design
|
|
197
|
+
Sync vs async boundaries, API boundaries, data ownership, consistency approach, cache strategy.
|
|
198
|
+
|
|
199
|
+
### D. Deployment and Operations
|
|
200
|
+
Environment layout, scaling model, CI/CD, observability, rollback.
|
|
201
|
+
|
|
202
|
+
### E. Risk and Trade-offs
|
|
203
|
+
What this architecture solves and what complexity it introduces.
|
|
204
|
+
|
|
205
|
+
### F. Evolution Roadmap
|
|
206
|
+
Phased stages — e.g., Phase 1: modular monolith → Phase 2: extract hot/high-change services → Phase 3: platform governance and observability hardening.
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## Integration with Tech-Stack Skills
|
|
211
|
+
|
|
212
|
+
This skill orchestrates architecture; stack-specific skills govern implementation detail.
|
|
213
|
+
|
|
214
|
+
| Concern | Skill |
|
|
215
|
+
|---------|-------|
|
|
216
|
+
| Module/service boundaries | **This skill** |
|
|
217
|
+
| Controller/service/dao code style, logging, naming | **java-conventions** |
|
|
218
|
+
| React/Vue/JS/CSS project structure and implementation | **web-conventions** |
|
|
219
|
+
| Go project structure, error handling, concurrency patterns | **go-conventions** |
|
|
220
|
+
| Python project structure, typing, async patterns | **python-conventions** |
|
|
221
|
+
| Rust project structure, ownership, error handling | **rust-conventions** |
|
|
222
|
+
| Swift/iOS project structure, SwiftUI patterns | **swift-conventions** |
|
|
223
|
+
| Flutter/Dart project structure, widget patterns | **flutter-conventions** |
|
|
224
|
+
| React Native project structure, navigation patterns | **react-native-conventions** |
|
|
225
|
+
| Android/Kotlin project structure, Jetpack patterns | **android-conventions** |
|
|
226
|
+
| HarmonyOS/ArkTS project structure, ArkUI patterns | **harmony-conventions** |
|
|
227
|
+
| Dockerfile, Terraform, CI/CD pipeline patterns | **devops-conventions** |
|
|
228
|
+
|
|
229
|
+
## Integration with Workflow Skills
|
|
230
|
+
|
|
231
|
+
| Workflow | When to Use | How |
|
|
232
|
+
|----------|-------------|-----|
|
|
233
|
+
| **project-analyze** | Analyzing an existing project's architecture | Run `/project-analyze` (v5.0 五维分析框架) first to generate knowledge graph and module inventory, then use that data to inform architecture review |
|
|
234
|
+
| **code-review** | Architecture compliance validation | code-review Dimension 5 validates architecture compliance; for major violations, follow up with this skill for deeper review |
|
|
235
|
+
| **doc-standards-enforcer** | Producing architecture documentation (ADRs, HLD/LLD) | After producing architecture deliverables, validate documentation format with `doc-standards-enforcer` |
|
|
236
|
+
| **doc-coauthoring** | Co-authoring technical specs or design documents | Use `doc-coauthoring` workflow for collaborative document creation; this skill provides technical content accuracy |
|
|
237
|
+
| **project-query** | 需要查询架构分析详细数据(层违反、耦合度等) | 建议运行 |
|
|
238
|
+
|
|
239
|
+
### Architecture Review Workflow
|
|
240
|
+
|
|
241
|
+
For existing projects requiring architecture assessment:
|
|
242
|
+
|
|
243
|
+
1. Run `/project-analyze` (v5.0 五维分析框架) to generate knowledge graph
|
|
244
|
+
2. Review the generated architecture diagrams and module dependency graph
|
|
245
|
+
3. Use this skill's Review Checklist against the analysis results
|
|
246
|
+
4. Produce ADR or architecture improvement plan
|
|
247
|
+
5. Validate output with `doc-standards-enforcer`
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## Guardrails
|
|
252
|
+
|
|
253
|
+
Do **not**:
|
|
254
|
+
- Recommend microservices by default
|
|
255
|
+
- Add Redis, MQ, ES, Kubernetes, or gateway without tying them to a requirement
|
|
256
|
+
- Create service splits that mirror technical layers instead of business capabilities
|
|
257
|
+
- Ignore rollback, observability, or release strategy
|
|
258
|
+
- Propose strong consistency across distributed services without calling out complexity and cost
|
|
259
|
+
- Treat architecture diagrams as sufficient without delivery and ops explanation
|
|
260
|
+
- Overfit for hypothetical future scale while hurting current delivery
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## Review Checklist
|
|
265
|
+
|
|
266
|
+
**Problem-fit:** Business problem clearly stated? Main technical driver identified? Design solves real problem rather than showcases technology?
|
|
267
|
+
|
|
268
|
+
**Simplicity:** Is there a simpler design that would work now? Unnecessary distributed complexity avoided?
|
|
269
|
+
|
|
270
|
+
**Boundaries:** Service/module boundaries aligned to business capability? Data ownership clear? Sync and async boundaries clear?
|
|
271
|
+
|
|
272
|
+
**NFR mapping:** Each key NFR mapped to concrete architecture measures? Concurrency, availability, security, and performance handled explicitly?
|
|
273
|
+
|
|
274
|
+
**Operability:** Monitoring, logs, traces, alerts, and rollback covered? Deployment topology described?
|
|
275
|
+
|
|
276
|
+
**Safety and correctness:** Duplicate prevention and idempotency addressed? Rate limits, degradation, and fallback paths defined? Consistency trade-offs explained?
|
|
277
|
+
|
|
278
|
+
**Evolution:** Design supports incremental evolution? Phased roadmap instead of "final architecture" thinking?
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: swift-conventions
|
|
3
|
+
description: Swift/iOS development conventions and best practices
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Swift / iOS Conventions
|
|
8
|
+
|
|
9
|
+
Use this skill when working on Swift/iOS applications.
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
- Detected iOS/Swift project (Package.swift, .xcodeproj, .xcworkspace)
|
|
13
|
+
- User asks about iOS or Swift development best practices
|
|
14
|
+
- Writing or reviewing Swift code
|
|
15
|
+
|
|
16
|
+
## Related Skills
|
|
17
|
+
- `android-conventions` — Android native development
|
|
18
|
+
- `flutter-conventions` — Flutter/Dart cross-platform development
|
|
19
|
+
|
|
20
|
+
## General Principles
|
|
21
|
+
- Follow Apple Human Interface Guidelines
|
|
22
|
+
- Responsive layouts that adapt to different screen sizes and orientations
|
|
23
|
+
- Handle offline scenarios gracefully
|
|
24
|
+
- Optimize for performance (list lazy loading, memory management)
|
|
25
|
+
- Proper error handling and user feedback
|
|
26
|
+
|
|
27
|
+
## Code Style
|
|
28
|
+
- Follow Swift API Design Guidelines
|
|
29
|
+
- Use SwiftUI for UI (modern projects)
|
|
30
|
+
- Protocol-oriented programming
|
|
31
|
+
- Value types over reference types when possible
|
|
32
|
+
- `guard` for early returns
|
|
33
|
+
- `final` classes by default, only remove when subclassing is needed
|
|
34
|
+
|
|
35
|
+
## Architecture
|
|
36
|
+
- MVVM with SwiftUI
|
|
37
|
+
- The Composable Architecture (TCA) for complex state
|
|
38
|
+
- Clean Architecture for large apps
|
|
39
|
+
|
|
40
|
+
## SwiftUI Patterns
|
|
41
|
+
- `@StateObject` for owned observable objects
|
|
42
|
+
- `@ObservedObject` for observed objects from parent
|
|
43
|
+
- `@EnvironmentObject` for shared state
|
|
44
|
+
- `@AppStorage` for user preferences
|
|
45
|
+
- `@Observable` macro (Observation framework) for modern projects
|
|
46
|
+
|
|
47
|
+
## API Integration
|
|
48
|
+
- Repository pattern for data access
|
|
49
|
+
- Error handling with proper user feedback
|
|
50
|
+
- Loading states and skeleton screens
|
|
51
|
+
- `async/await` for network calls
|
|
52
|
+
- Offline-first when applicable
|
|
53
|
+
|
|
54
|
+
## Navigation
|
|
55
|
+
- SwiftUI NavigationStack / NavigationSplitView
|
|
56
|
+
- Type-safe routing with enums
|
|
57
|
+
- Deep linking support
|
|
58
|
+
- Sheet and fullScreenCover for modals
|
|
59
|
+
|
|
60
|
+
## Testing
|
|
61
|
+
- XCTest for unit and UI tests
|
|
62
|
+
- Swift Testing framework (new)
|
|
63
|
+
- Mock with protocols (no mocking frameworks needed)
|
|
64
|
+
- Preview-based development
|
|
65
|
+
- `@Test` macro for modern test syntax
|
|
66
|
+
|
|
67
|
+
## Performance
|
|
68
|
+
- Lazy loading for large lists
|
|
69
|
+
- Image optimization and caching (Kingfisher/AsyncImage)
|
|
70
|
+
- Instruments profiling
|
|
71
|
+
- Reduce view body complexity
|
|
72
|
+
- Use `@ViewBuilder` judiciously
|