@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,1125 @@
|
|
|
1
|
+
---
|
|
2
|
+
doc_id: US-<MODULE>-33XX
|
|
3
|
+
title: User Story - <Feature Name>
|
|
4
|
+
status: draft
|
|
5
|
+
owner: PM
|
|
6
|
+
last_updated: YYYY-MM-DD
|
|
7
|
+
related_docs:
|
|
8
|
+
- docs/300-requirements/31x-prd-<module>.md
|
|
9
|
+
- docs/400-design/4xx-functional-spec.md
|
|
10
|
+
us_id: US-IA-XXXX
|
|
11
|
+
module: <MODULE>
|
|
12
|
+
priority: P0|P1|P2
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## User Story Statement
|
|
16
|
+
|
|
17
|
+
**As a** <[Role]>,
|
|
18
|
+
**I want** <[Feature/Capability]>,
|
|
19
|
+
**so that** <[Benefit/Value]>.
|
|
20
|
+
|
|
21
|
+
**Example**:
|
|
22
|
+
As a **quality assurance engineer**,
|
|
23
|
+
I want **to compare two versions of an inspection result side-by-side**,
|
|
24
|
+
so that **I can quickly identify what changed between versions and validate that changes are correct**.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Section 1: Background & Context (Target: 1000-1500 words)
|
|
29
|
+
|
|
30
|
+
### Business Problem
|
|
31
|
+
|
|
32
|
+
<Describe the business problem this user story solves in detail.>
|
|
33
|
+
|
|
34
|
+
- **Current State**: <What is the current situation? What problems exist?>
|
|
35
|
+
- **Impact**: <What is the impact of this problem on users/business?>
|
|
36
|
+
- **Why Now**: <Why is this important to solve now? What triggered this need?>
|
|
37
|
+
|
|
38
|
+
### Historical Context
|
|
39
|
+
|
|
40
|
+
<Provide background on how this requirement came about.>
|
|
41
|
+
|
|
42
|
+
- **Previous Attempts**: <Have we tried to solve this before? What happened?>
|
|
43
|
+
- **User Feedback**: <What feedback have we received from users?>
|
|
44
|
+
- **Market Context**: <Are competitors doing this? Industry standards?>
|
|
45
|
+
|
|
46
|
+
### Success Metrics
|
|
47
|
+
|
|
48
|
+
<Define how we will measure success for this user story.>
|
|
49
|
+
|
|
50
|
+
- **Primary Metric**: <The most important metric> | <Target value> | <Measurement method>
|
|
51
|
+
- **Secondary Metrics**:
|
|
52
|
+
- <Metric 2>: <Target value> | <Measurement method>
|
|
53
|
+
- <Metric 3>: <Target value> | <Measurement method>
|
|
54
|
+
|
|
55
|
+
### Business Value
|
|
56
|
+
|
|
57
|
+
<Quantify the business value where possible.>
|
|
58
|
+
|
|
59
|
+
- **Revenue Impact**: <If applicable>
|
|
60
|
+
- **Cost Savings**: <If applicable>
|
|
61
|
+
- **Efficiency Gains**: <Quantifiable improvement>
|
|
62
|
+
- **Risk Reduction**: <What risks are mitigated>
|
|
63
|
+
- **User Satisfaction**: <Expected improvement>
|
|
64
|
+
|
|
65
|
+
### Strategic Alignment
|
|
66
|
+
|
|
67
|
+
<How does this user story align with broader business/product strategy?>
|
|
68
|
+
|
|
69
|
+
- **Strategic Goal 1**: <Description of alignment>
|
|
70
|
+
- **Strategic Goal 2**: <Description of alignment>
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Section 2: User Personas & Scenarios (Target: 1000-1500 words)
|
|
75
|
+
|
|
76
|
+
### Primary Persona
|
|
77
|
+
|
|
78
|
+
**<Persona Name>**
|
|
79
|
+
|
|
80
|
+
#### Profile
|
|
81
|
+
- **Role**: <Job title>
|
|
82
|
+
- **Organization Type**: <Company size, industry>
|
|
83
|
+
- **Experience Level**: <Junior/Mid/Senior, years of experience>
|
|
84
|
+
- **Technical Proficiency**: <Low/Medium/High>
|
|
85
|
+
- **Typical Work Environment**: <Office/remote, tools they use>
|
|
86
|
+
|
|
87
|
+
#### Goals & Motivations
|
|
88
|
+
- **Primary Goal**: <What they want to achieve>
|
|
89
|
+
- **Secondary Goals**:
|
|
90
|
+
- <Goal 2>: <Description>
|
|
91
|
+
- <Goal 3>: <Description>
|
|
92
|
+
|
|
93
|
+
#### Pain Points
|
|
94
|
+
- **Pain Point 1**: <Description of current frustration>
|
|
95
|
+
- **Pain Point 2**: <Description of current frustration>
|
|
96
|
+
- **Pain Point 3**: <Description of current frustration>
|
|
97
|
+
|
|
98
|
+
#### Knowledge & Skills
|
|
99
|
+
- **Domain Knowledge**: <What they know about the subject>
|
|
100
|
+
- **Technical Skills**: <Tools/technologies they're comfortable with>
|
|
101
|
+
- **Training Needs**: <What they might need to learn>
|
|
102
|
+
|
|
103
|
+
### Secondary Personas
|
|
104
|
+
|
|
105
|
+
<If applicable, describe secondary personas>
|
|
106
|
+
|
|
107
|
+
**<Persona Name>**
|
|
108
|
+
- **Role**: <Description>
|
|
109
|
+
- **Interaction**: <How they interact with this feature>
|
|
110
|
+
- **Needs**: <What they need from this feature>
|
|
111
|
+
|
|
112
|
+
### Detailed Scenarios
|
|
113
|
+
|
|
114
|
+
#### Scenario 1: <Scenario Title> (Happy Path)
|
|
115
|
+
|
|
116
|
+
**Context**:
|
|
117
|
+
- **User**: <Persona>
|
|
118
|
+
- **Setting**: <When/where this happens>
|
|
119
|
+
- **Preconditions**: <What must be true before starting>
|
|
120
|
+
- **Goal**: <What user wants to accomplish>
|
|
121
|
+
|
|
122
|
+
**Step-by-Step Walkthrough**:
|
|
123
|
+
1. **Step 1**: <User action> → <System response>
|
|
124
|
+
- **Details**: <Additional context, variations>
|
|
125
|
+
- **Validation**: <How system validates>
|
|
126
|
+
|
|
127
|
+
2. **Step 2**: <User action> → <System response>
|
|
128
|
+
- **Details**: <Additional context, variations>
|
|
129
|
+
- **Validation**: <How system validates>
|
|
130
|
+
|
|
131
|
+
3. **Step 3**: <User action> → <System response>
|
|
132
|
+
- **Details**: <Additional context, variations>
|
|
133
|
+
- **Validation**: <How system validates>
|
|
134
|
+
|
|
135
|
+
<Continue for all steps...>
|
|
136
|
+
|
|
137
|
+
**Expected Outcome**:
|
|
138
|
+
- **Result**: <What user achieves>
|
|
139
|
+
- **Confirmation**: <How user knows it succeeded>
|
|
140
|
+
- **Next Steps**: <What user typically does next>
|
|
141
|
+
|
|
142
|
+
#### Scenario 2: <Scenario Title> (Alternative Path)
|
|
143
|
+
|
|
144
|
+
**Context**:
|
|
145
|
+
- **User**: <Persona>
|
|
146
|
+
- **Setting**: <When/where this happens>
|
|
147
|
+
- **Preconditions**: <What must be true before starting>
|
|
148
|
+
- **Goal**: <What user wants to accomplish>
|
|
149
|
+
|
|
150
|
+
**Step-by-Step Walkthrough**:
|
|
151
|
+
<Similar structure to Scenario 1, but covering alternative approach>
|
|
152
|
+
|
|
153
|
+
#### Scenario 3: <Scenario Title> (Error/Edge Case)
|
|
154
|
+
|
|
155
|
+
**Context**:
|
|
156
|
+
- **User**: <Persona>
|
|
157
|
+
- **Setting**: <When/where this happens>
|
|
158
|
+
- **Preconditions**: <What leads to this scenario>
|
|
159
|
+
- **Error Condition**: <What goes wrong>
|
|
160
|
+
|
|
161
|
+
**Step-by-Step Walkthrough**:
|
|
162
|
+
1. **Step 1**: <User action>
|
|
163
|
+
2. **Error Occurs**: <What happens>
|
|
164
|
+
3. **User Response**: <How user can recover>
|
|
165
|
+
4. **System Feedback**: <What user sees>
|
|
166
|
+
|
|
167
|
+
**Recovery Paths**:
|
|
168
|
+
- **Option 1**: <How user can recover>
|
|
169
|
+
- **Option 2**: <Alternative recovery method>
|
|
170
|
+
|
|
171
|
+
#### Scenario 4: <Additional Edge Case>
|
|
172
|
+
|
|
173
|
+
<Cover additional edge cases, boundary conditions, etc.>
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Section 3: Functional Requirements (Target: 1500-2000 words)
|
|
178
|
+
|
|
179
|
+
### Feature Overview
|
|
180
|
+
|
|
181
|
+
<High-level description of what this feature does>
|
|
182
|
+
|
|
183
|
+
### Functional Requirements
|
|
184
|
+
|
|
185
|
+
#### FR-<MODULE>-<SEQ>: <Requirement Title>
|
|
186
|
+
|
|
187
|
+
**Description**:
|
|
188
|
+
<Detailed description of what the system must do>
|
|
189
|
+
|
|
190
|
+
**Input Specifications**:
|
|
191
|
+
- **Input 1**: <Name>
|
|
192
|
+
- **Data Type**: <Type>
|
|
193
|
+
- **Format**: <Expected format>
|
|
194
|
+
- **Validation Rules**:
|
|
195
|
+
- <Rule 1>: <Description and error message>
|
|
196
|
+
- <Rule 2>: <Description and error message>
|
|
197
|
+
- **Required/Optional**: <Required or Optional>
|
|
198
|
+
- **Source**: <Where this comes from (user input, system, API, etc.)>
|
|
199
|
+
|
|
200
|
+
- **Input 2**: <Name>
|
|
201
|
+
- <Same structure as above>
|
|
202
|
+
|
|
203
|
+
**Processing Logic**:
|
|
204
|
+
1. **Step 1**: <Description>
|
|
205
|
+
- **Business Rule**: <Rule reference>
|
|
206
|
+
- **Algorithm**: <High-level description (not implementation)>
|
|
207
|
+
- **Edge Cases**: <How to handle>
|
|
208
|
+
|
|
209
|
+
2. **Step 2**: <Description>
|
|
210
|
+
- **Business Rule**: <Rule reference>
|
|
211
|
+
- **Algorithm**: <High-level description>
|
|
212
|
+
- **Edge Cases**: <How to handle>
|
|
213
|
+
|
|
214
|
+
**Output Specifications**:
|
|
215
|
+
- **Output 1**: <Name>
|
|
216
|
+
- **Data Type**: <Type>
|
|
217
|
+
- **Format**: <Structure/schema>
|
|
218
|
+
- **Conditions**: <When this output is produced>
|
|
219
|
+
- **Destination**: <Where it goes (UI, API, database, etc.)>
|
|
220
|
+
|
|
221
|
+
- **Output 2**: <Name>
|
|
222
|
+
- <Same structure>
|
|
223
|
+
|
|
224
|
+
**Exception Handling**:
|
|
225
|
+
- **Exception 1**: <Condition>
|
|
226
|
+
- **Detection**: <How system detects this>
|
|
227
|
+
- **User Message**: <What user sees>
|
|
228
|
+
- **System Action**: <What system does>
|
|
229
|
+
- **Recovery**: <How to recover>
|
|
230
|
+
|
|
231
|
+
- **Exception 2**: <Condition>
|
|
232
|
+
- <Same structure>
|
|
233
|
+
|
|
234
|
+
**Performance Requirements**:
|
|
235
|
+
- **Response Time**: <Expected time>
|
|
236
|
+
- **Throughput**: <Expected volume>
|
|
237
|
+
- **Concurrency**: <Concurrent user/load handling>
|
|
238
|
+
|
|
239
|
+
**Verification**:
|
|
240
|
+
- **How to Test**: <Test approach>
|
|
241
|
+
- **Expected Result**: <What confirms it works>
|
|
242
|
+
|
|
243
|
+
**Data References**:
|
|
244
|
+
- **Entity**: `<docs/500-data/502-data-dictionary.md>` (<field descriptions>)
|
|
245
|
+
- **API**: `<docs/700-engineering/701-api-reference.md>` (<endpoint details>)
|
|
246
|
+
|
|
247
|
+
#### FR-<MODULE>-<SEQ>: <Additional Requirement>
|
|
248
|
+
|
|
249
|
+
<Repeat structure for each functional requirement>
|
|
250
|
+
|
|
251
|
+
### Business Rules
|
|
252
|
+
|
|
253
|
+
<List all business rules that apply to this feature>
|
|
254
|
+
|
|
255
|
+
- **Rule 1**: <Description>
|
|
256
|
+
- **Rationale**: <Why this rule exists>
|
|
257
|
+
- **Impact**: <What happens if violated>
|
|
258
|
+
|
|
259
|
+
- **Rule 2**: <Description>
|
|
260
|
+
- **Rationale**: <Why this rule exists>
|
|
261
|
+
- **Impact**: <What happens if violated>
|
|
262
|
+
|
|
263
|
+
### State Management
|
|
264
|
+
|
|
265
|
+
<If the feature involves state transitions, describe them>
|
|
266
|
+
|
|
267
|
+
**States**:
|
|
268
|
+
- **State 1**: <Description>
|
|
269
|
+
- **State 2**: <Description>
|
|
270
|
+
- **State 3**: <Description>
|
|
271
|
+
|
|
272
|
+
**Transitions**:
|
|
273
|
+
- **State 1 → State 2**: <Trigger condition>
|
|
274
|
+
- **State 2 → State 3**: <Trigger condition>
|
|
275
|
+
- **State 3 → State 1**: <Trigger condition>
|
|
276
|
+
|
|
277
|
+
### Integration Points
|
|
278
|
+
|
|
279
|
+
- **Integration 1**: <System/API>
|
|
280
|
+
- **Purpose**: <Why we integrate>
|
|
281
|
+
- **Data Flow**: <What data flows>
|
|
282
|
+
- **Reliability**: <What happens if integration fails>
|
|
283
|
+
- **Fallback**: <Alternative approaches>
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## Section 4: User Experience & Interaction (Target: 1000-1500 words)
|
|
288
|
+
|
|
289
|
+
### User Flow Overview
|
|
290
|
+
|
|
291
|
+
<High-level description of the user journey through this feature>
|
|
292
|
+
|
|
293
|
+
**Entry Points**:
|
|
294
|
+
- **Entry 1**: <Where user starts>
|
|
295
|
+
- **Entry 2**: <Alternative entry point>
|
|
296
|
+
|
|
297
|
+
**Exit Points**:
|
|
298
|
+
- **Exit 1**: <Successful completion>
|
|
299
|
+
- **Exit 2**: <Cancellation/abandonment>
|
|
300
|
+
|
|
301
|
+
### Detailed User Flows
|
|
302
|
+
|
|
303
|
+
#### Flow 1: <Flow Name>
|
|
304
|
+
|
|
305
|
+
**Starting Condition**: <What must be true to start this flow>
|
|
306
|
+
|
|
307
|
+
**Steps**:
|
|
308
|
+
1. **User Action**: <What user does>
|
|
309
|
+
- **System Response**: <Immediate feedback>
|
|
310
|
+
- **UI Changes**: <What changes in the interface>
|
|
311
|
+
- **Validation**: <Any validation that occurs>
|
|
312
|
+
|
|
313
|
+
2. **User Action**: <What user does>
|
|
314
|
+
- **System Response**: <Immediate feedback>
|
|
315
|
+
- **UI Changes**: <What changes in the interface>
|
|
316
|
+
- **Validation**: <Any validation that occurs>
|
|
317
|
+
|
|
318
|
+
<Continue for all steps...>
|
|
319
|
+
|
|
320
|
+
**Completion Criteria**: <How user knows flow is complete>
|
|
321
|
+
|
|
322
|
+
#### Flow 2: <Alternative Flow>
|
|
323
|
+
|
|
324
|
+
<Similar structure for alternative paths>
|
|
325
|
+
|
|
326
|
+
#### Flow 3: <Error Flow>
|
|
327
|
+
|
|
328
|
+
**Error Condition**: <What triggers error state>
|
|
329
|
+
|
|
330
|
+
**Steps**:
|
|
331
|
+
1. **User Action**: <What leads to error>
|
|
332
|
+
2. **Error Display**: <What user sees>
|
|
333
|
+
3. **Recovery Options**: <How user can proceed>
|
|
334
|
+
|
|
335
|
+
### Interaction Patterns
|
|
336
|
+
|
|
337
|
+
#### Pattern 1: <Pattern Type> (e.g., Form Submission)
|
|
338
|
+
|
|
339
|
+
**Description**: <How this pattern works in this feature>
|
|
340
|
+
|
|
341
|
+
**States**:
|
|
342
|
+
- **Initial State**: <What user sees initially>
|
|
343
|
+
- **In Progress State**: <What user sees while interacting>
|
|
344
|
+
- **Success State**: <What user sees on success>
|
|
345
|
+
- **Error State**: <What user sees on error>
|
|
346
|
+
|
|
347
|
+
**Transitions**: <How state changes occur>
|
|
348
|
+
|
|
349
|
+
#### Pattern 2: <Pattern Type> (e.g., Data Table)
|
|
350
|
+
|
|
351
|
+
<Similar structure>
|
|
352
|
+
|
|
353
|
+
### Feedback & Communication
|
|
354
|
+
|
|
355
|
+
#### Success Feedback
|
|
356
|
+
- **Visual Indicators**: <What user sees>
|
|
357
|
+
- **Messages**: <Text/message content>
|
|
358
|
+
- **Timing**: <When feedback appears>
|
|
359
|
+
- **Duration**: <How long it's shown>
|
|
360
|
+
|
|
361
|
+
#### Error Feedback
|
|
362
|
+
- **Error Messages**: <Structure and content>
|
|
363
|
+
- **Format**: <Consistent message format>
|
|
364
|
+
- **Severity Levels**: <How errors are categorized>
|
|
365
|
+
- **Actionable Guidance**: <What user should do>
|
|
366
|
+
|
|
367
|
+
#### Progress Indication
|
|
368
|
+
- **Loading States**: <How progress is shown>
|
|
369
|
+
- **Progress Bars**: <If applicable>
|
|
370
|
+
- **Spinners/Indicators**: <Visual indicators>
|
|
371
|
+
- **Step Indicators**: <For multi-step processes>
|
|
372
|
+
- **Time Estimates**: <If applicable>
|
|
373
|
+
|
|
374
|
+
#### Confirmation Dialogs
|
|
375
|
+
- **When Used**: <Which actions require confirmation>
|
|
376
|
+
- **Dialog Content**: <What confirmation says>
|
|
377
|
+
- **Options**: <Choices presented to user>
|
|
378
|
+
|
|
379
|
+
### Accessibility
|
|
380
|
+
|
|
381
|
+
**WCAG Compliance Level**: <AA/AAA>
|
|
382
|
+
|
|
383
|
+
#### Keyboard Navigation
|
|
384
|
+
- **Tab Order**: <Logical flow>
|
|
385
|
+
- **Keyboard Shortcuts**: <If applicable>
|
|
386
|
+
- **Focus Management**: <How focus is handled>
|
|
387
|
+
- **Skip Links**: <If applicable>
|
|
388
|
+
|
|
389
|
+
#### Screen Reader Support
|
|
390
|
+
- **Labels**: <How elements are labeled>
|
|
391
|
+
- **ARIA Attributes**: <Required ARIA roles/states>
|
|
392
|
+
- **Announcements**: <What screen reader announces>
|
|
393
|
+
|
|
394
|
+
#### Visual Accessibility
|
|
395
|
+
- **Color Contrast**: <WCAG AA minimum (4.5:1 for normal text)>
|
|
396
|
+
- **Text Sizing**: <Support for 200% zoom>
|
|
397
|
+
- **Color Independence**: <Information not conveyed by color alone>
|
|
398
|
+
|
|
399
|
+
#### Cognitive Accessibility
|
|
400
|
+
- **Clear Language**: <Plain language requirements>
|
|
401
|
+
- **Consistent Layout**: <Predictable structure>
|
|
402
|
+
- **Error Prevention**: <How errors are prevented>
|
|
403
|
+
- **Help Text**: <Available guidance>
|
|
404
|
+
|
|
405
|
+
### Responsive Design
|
|
406
|
+
|
|
407
|
+
**Breakpoints**:
|
|
408
|
+
- **Desktop** (> 1440px): <Layout description>
|
|
409
|
+
- **Laptop** (1024-1440px): <Layout description>
|
|
410
|
+
- **Tablet** (768-1024px): <Layout description>
|
|
411
|
+
- **Mobile** (< 768px): <Layout description>
|
|
412
|
+
|
|
413
|
+
**Adaptations**:
|
|
414
|
+
- **Navigation**: <How navigation adapts>
|
|
415
|
+
- **Content**: <How content reflows>
|
|
416
|
+
- **Interactions**: <How touch interactions differ from mouse>
|
|
417
|
+
|
|
418
|
+
### Design Reference
|
|
419
|
+
|
|
420
|
+
**Detailed UI/UX Specifications**: `docs/400-design/4xx-ux-design.md`
|
|
421
|
+
|
|
422
|
+
---
|
|
423
|
+
|
|
424
|
+
## Section 5: Data & Metrics (Target: 800-1000 words)
|
|
425
|
+
|
|
426
|
+
### Data Entities
|
|
427
|
+
|
|
428
|
+
<Describe all data entities this feature uses or produces>
|
|
429
|
+
|
|
430
|
+
#### Entity 1: <Entity Name>
|
|
431
|
+
|
|
432
|
+
**Description**: <What this entity represents>
|
|
433
|
+
|
|
434
|
+
**Purpose**: <Why we need this data>
|
|
435
|
+
|
|
436
|
+
**Attributes**:
|
|
437
|
+
- **Attribute 1**: <Name>
|
|
438
|
+
- **Type**: <Data type>
|
|
439
|
+
- **Required**: <Yes/No>
|
|
440
|
+
- **Validation**: <Rules>
|
|
441
|
+
- **Reference**: `docs/500-data/502-data-dictionary.md` (<field definition>)
|
|
442
|
+
|
|
443
|
+
- **Attribute 2**: <Name>
|
|
444
|
+
- <Same structure>
|
|
445
|
+
|
|
446
|
+
**Relationships**:
|
|
447
|
+
- **To Entity X**: <Relationship type (one-to-one, one-to-many, etc.)>
|
|
448
|
+
- **From Entity Y**: <Relationship type>
|
|
449
|
+
|
|
450
|
+
**Lifecycle**:
|
|
451
|
+
- **Creation**: <When/how created>
|
|
452
|
+
- **Updates**: <When/how updated>
|
|
453
|
+
- **Deletion**: <When/how deleted>
|
|
454
|
+
- **Retention**: <How long kept>
|
|
455
|
+
|
|
456
|
+
#### Entity 2: <Entity Name>
|
|
457
|
+
|
|
458
|
+
<Similar structure>
|
|
459
|
+
|
|
460
|
+
### Data Validations
|
|
461
|
+
|
|
462
|
+
**Client-Side Validations**:
|
|
463
|
+
- **Validation 1**: <Rule> | <Error Message>
|
|
464
|
+
- **Validation 2**: <Rule> | <Error Message>
|
|
465
|
+
|
|
466
|
+
**Server-Side Validations**:
|
|
467
|
+
- **Validation 1**: <Rule> | <Error Message>
|
|
468
|
+
- **Validation 2**: <Rule> | <Error Message>
|
|
469
|
+
|
|
470
|
+
**Business Validations**:
|
|
471
|
+
- **Validation 1**: <Rule> | <Error Message> | <Business Impact>
|
|
472
|
+
- **Validation 2**: <Rule> | <Error Message> | <Business Impact>
|
|
473
|
+
|
|
474
|
+
### Data Quality Requirements
|
|
475
|
+
|
|
476
|
+
- **Accuracy**: <Required accuracy level>
|
|
477
|
+
- **Completeness**: <Required completeness>
|
|
478
|
+
- **Consistency**: <How consistency is maintained>
|
|
479
|
+
- **Timeliness**: <Data freshness requirements>
|
|
480
|
+
|
|
481
|
+
### Data Dictionary References
|
|
482
|
+
|
|
483
|
+
**Primary Data Dictionary**: `docs/500-data/502-data-dictionary.md`
|
|
484
|
+
|
|
485
|
+
**Relevant Sections**:
|
|
486
|
+
- <Section 1>: <Description>
|
|
487
|
+
- <Section 2>: <Description>
|
|
488
|
+
|
|
489
|
+
### Metrics & Analytics
|
|
490
|
+
|
|
491
|
+
#### Usage Metrics
|
|
492
|
+
|
|
493
|
+
<What we track to understand how this feature is used>
|
|
494
|
+
|
|
495
|
+
- **Metric 1**: <Name>
|
|
496
|
+
- **Definition**: <What we measure>
|
|
497
|
+
- **Calculation**: <How calculated>
|
|
498
|
+
- **Purpose**: <Why we track this>
|
|
499
|
+
- **Storage**: <Where/how stored>
|
|
500
|
+
|
|
501
|
+
- **Metric 2**: <Name>
|
|
502
|
+
- <Same structure>
|
|
503
|
+
|
|
504
|
+
#### Performance Metrics
|
|
505
|
+
|
|
506
|
+
<What we track to measure feature performance>
|
|
507
|
+
|
|
508
|
+
- **Metric 1**: <Name>
|
|
509
|
+
- **Definition**: <What we measure>
|
|
510
|
+
- **Target**: <Target value>
|
|
511
|
+
- **Alert Threshold**: <When to alert>
|
|
512
|
+
|
|
513
|
+
#### Business Metrics
|
|
514
|
+
|
|
515
|
+
<What we track to measure business impact>
|
|
516
|
+
|
|
517
|
+
- **Metric 1**: <Name>
|
|
518
|
+
- **Definition**: <What we measure>
|
|
519
|
+
- **Goal**: <Business objective>
|
|
520
|
+
- **Reporting**: <How often reported>
|
|
521
|
+
|
|
522
|
+
### Data Privacy
|
|
523
|
+
|
|
524
|
+
- **Personal Data**: <What personal data is collected>
|
|
525
|
+
- **Purpose**: <Why it's needed>
|
|
526
|
+
- **Consent**: <How consent is obtained>
|
|
527
|
+
- **Retention**: <How long kept>
|
|
528
|
+
- **Deletion**: <How user can delete>
|
|
529
|
+
|
|
530
|
+
---
|
|
531
|
+
|
|
532
|
+
## Section 6: Permissions & Security (Target: 800-1000 words)
|
|
533
|
+
|
|
534
|
+
### Role-Based Access Control (RBAC)
|
|
535
|
+
|
|
536
|
+
#### Roles That Can Access This Feature
|
|
537
|
+
|
|
538
|
+
<Which roles can access this feature?>
|
|
539
|
+
|
|
540
|
+
- **Role 1**: <Role Name>
|
|
541
|
+
- **Access Level**: <Read/Write/Admin/Custom>
|
|
542
|
+
- **Justification**: <Why they need access>
|
|
543
|
+
|
|
544
|
+
- **Role 2**: <Role Name>
|
|
545
|
+
- **Access Level**: <Read/Write/Admin/Custom>
|
|
546
|
+
- **Justification**: <Why they need access>
|
|
547
|
+
|
|
548
|
+
#### Permission Matrix
|
|
549
|
+
|
|
550
|
+
| Action | Role 1 | Role 2 | Role 3 |
|
|
551
|
+
|---|---|---|---|
|
|
552
|
+
| <Action 1> | ✓ | ✗ | ✓ |
|
|
553
|
+
| <Action 2> | ✓ | ✓ | ✓ |
|
|
554
|
+
| <Action 3> | ✗ | ✗ | ✓ |
|
|
555
|
+
|
|
556
|
+
### Data Scope
|
|
557
|
+
|
|
558
|
+
<What data can each role see/modify?>
|
|
559
|
+
|
|
560
|
+
#### Role 1: <Role Name>
|
|
561
|
+
|
|
562
|
+
**Visible Data**:
|
|
563
|
+
- **Scope**: <What data they can see>
|
|
564
|
+
- **Filter 1**: <Criteria>
|
|
565
|
+
- **Filter 2**: <Criteria>
|
|
566
|
+
|
|
567
|
+
**Modifiable Data**:
|
|
568
|
+
- **Scope**: <What data they can modify>
|
|
569
|
+
- **Restrictions**: <Any limitations>
|
|
570
|
+
|
|
571
|
+
**Restricted Data**:
|
|
572
|
+
- **Not Visible**: <What they cannot see>
|
|
573
|
+
- **Read-Only**: <What they can see but not modify>
|
|
574
|
+
|
|
575
|
+
#### Role 2: <Role Name>
|
|
576
|
+
|
|
577
|
+
<Similar structure>
|
|
578
|
+
|
|
579
|
+
### Audit Requirements
|
|
580
|
+
|
|
581
|
+
#### Actions to Audit
|
|
582
|
+
|
|
583
|
+
<Which user actions must be audited?>
|
|
584
|
+
|
|
585
|
+
- **Action 1**: <Action description>
|
|
586
|
+
- **Trigger**: <When audit is created>
|
|
587
|
+
- **Data Captured**:
|
|
588
|
+
- **User**: <User ID, name>
|
|
589
|
+
- **Timestamp**: <Date/time>
|
|
590
|
+
- **Action**: <What was done>
|
|
591
|
+
- **Target**: <What resource was affected>
|
|
592
|
+
- **Result**: <Success/failure>
|
|
593
|
+
- **IP Address**: <Optional, if needed>
|
|
594
|
+
- **Session ID**: <Optional>
|
|
595
|
+
|
|
596
|
+
- **Action 2**: <Action description>
|
|
597
|
+
- <Same structure>
|
|
598
|
+
|
|
599
|
+
#### Audit Data Storage
|
|
600
|
+
|
|
601
|
+
- **Location**: <Where audit data stored>
|
|
602
|
+
- **Retention**: <How long kept>
|
|
603
|
+
- **Access**: <Who can view audit logs>
|
|
604
|
+
- **Export**: <Can audit logs be exported?>
|
|
605
|
+
|
|
606
|
+
#### Audit Review
|
|
607
|
+
|
|
608
|
+
- **Review Frequency**: <How often reviewed>
|
|
609
|
+
- **Reviewers**: <Who reviews>
|
|
610
|
+
- **Alerting**: <What triggers alerts>
|
|
611
|
+
|
|
612
|
+
### Security Requirements
|
|
613
|
+
|
|
614
|
+
#### Authentication
|
|
615
|
+
|
|
616
|
+
- **Required**: <Yes/No>
|
|
617
|
+
- **Method**: <How user authenticates>
|
|
618
|
+
- **Session Management**: <How sessions handled>
|
|
619
|
+
- **Timeout**: <Session timeout duration>
|
|
620
|
+
|
|
621
|
+
#### Authorization
|
|
622
|
+
|
|
623
|
+
- **Pre-Action Check**: <How authorization checked before action>
|
|
624
|
+
- **Post-Action Audit**: <How audit logged after action>
|
|
625
|
+
- **Failure Handling**: <What happens if authorization fails>
|
|
626
|
+
|
|
627
|
+
#### Data Encryption
|
|
628
|
+
|
|
629
|
+
- **In Transit**: <TLS/HTTPS requirements>
|
|
630
|
+
- **At Rest**: <Encryption requirements>
|
|
631
|
+
- **Sensitive Fields**: <Specific field encryption if needed>
|
|
632
|
+
|
|
633
|
+
#### Input Validation & Sanitization
|
|
634
|
+
|
|
635
|
+
- **Injection Prevention**: <How we prevent SQL injection, XSS, etc.>
|
|
636
|
+
- **Input Sanitization**: <How user input is sanitized>
|
|
637
|
+
- **File Upload** (if applicable): <Validation and scanning>
|
|
638
|
+
|
|
639
|
+
### Compliance Requirements
|
|
640
|
+
|
|
641
|
+
<If applicable compliance requirements: GDPR, HIPAA, SOC2, etc.>
|
|
642
|
+
|
|
643
|
+
- **Compliance Area 1**: <Requirements>
|
|
644
|
+
- **Compliance Area 2**: <Requirements>
|
|
645
|
+
|
|
646
|
+
### Security Reference
|
|
647
|
+
|
|
648
|
+
**Security Architecture**: `docs/600-architecture/6xx-security-view.md`
|
|
649
|
+
|
|
650
|
+
---
|
|
651
|
+
|
|
652
|
+
## Section 7: Acceptance Criteria (Target: 1000-1500 words)
|
|
653
|
+
|
|
654
|
+
### Acceptance Criteria Overview
|
|
655
|
+
|
|
656
|
+
<High-level summary of what makes this user story "done">
|
|
657
|
+
|
|
658
|
+
### Detailed Acceptance Criteria
|
|
659
|
+
|
|
660
|
+
#### AC-<MODULE>-<SEQ>-001: <Criterion Title>
|
|
661
|
+
|
|
662
|
+
**Description**:
|
|
663
|
+
<Clear, objectively verifiable criterion>
|
|
664
|
+
|
|
665
|
+
**Verification Method**:
|
|
666
|
+
- **How to Test**: <Test steps>
|
|
667
|
+
- **Expected Result**: <What confirms it's working>
|
|
668
|
+
- **Test Data**: <Sample data if needed>
|
|
669
|
+
|
|
670
|
+
**Test Scenarios**:
|
|
671
|
+
1. **Scenario 1**: <Happy path>
|
|
672
|
+
- **Given**: <Preconditions>
|
|
673
|
+
- **When**: <Action taken>
|
|
674
|
+
- **Then**: <Expected result>
|
|
675
|
+
|
|
676
|
+
2. **Scenario 2**: <Edge case>
|
|
677
|
+
- **Given**: <Preconditions>
|
|
678
|
+
- **When**: <Action taken>
|
|
679
|
+
- **Then**: <Expected result>
|
|
680
|
+
|
|
681
|
+
**Pass/Fail Criteria**:
|
|
682
|
+
- ✅ **Pass**: <What confirms pass>
|
|
683
|
+
- ❌ **Fail**: <What indicates failure>
|
|
684
|
+
|
|
685
|
+
**Priority**: P0 | P1 | P2
|
|
686
|
+
|
|
687
|
+
#### AC-<MODULE>-<SEQ>-002: <Criterion Title>
|
|
688
|
+
|
|
689
|
+
<Same structure>
|
|
690
|
+
|
|
691
|
+
<Continue for all acceptance criteria>
|
|
692
|
+
|
|
693
|
+
### Performance Acceptance Criteria
|
|
694
|
+
|
|
695
|
+
#### Perf-<MODULE>-<SEQ>-001: <Performance Criterion>
|
|
696
|
+
|
|
697
|
+
**Metric**: <What we measure>
|
|
698
|
+
**Target**: <Target value>
|
|
699
|
+
**Measurement Method**: <How to measure>
|
|
700
|
+
**Test Conditions**: <Under what conditions>
|
|
701
|
+
**Pass Criteria**: <What confirms pass>
|
|
702
|
+
|
|
703
|
+
**Example**:
|
|
704
|
+
- **Metric**: API response time
|
|
705
|
+
- **Target**: 95th percentile < 2 seconds
|
|
706
|
+
- **Measurement Method**: Load test with 100 concurrent users
|
|
707
|
+
- **Test Conditions**: Normal business hours load
|
|
708
|
+
- **Pass Criteria**: 95% of requests complete in < 2s
|
|
709
|
+
|
|
710
|
+
#### Perf-<MODULE>-<SEQ>-002: <Additional Performance Criterion>
|
|
711
|
+
|
|
712
|
+
<Same structure>
|
|
713
|
+
|
|
714
|
+
### Usability Acceptance Criteria
|
|
715
|
+
|
|
716
|
+
#### UX-<MODULE>-<SEQ>-001: <Usability Criterion>
|
|
717
|
+
|
|
718
|
+
**Metric**: <What we measure>
|
|
719
|
+
**Target**: <Target value>
|
|
720
|
+
**Measurement Method**: <How to measure>
|
|
721
|
+
**Pass Criteria**: <What confirms pass>
|
|
722
|
+
|
|
723
|
+
**Example**:
|
|
724
|
+
- **Metric**: Task completion rate
|
|
725
|
+
- **Target**: 90% of first-time users complete task without assistance
|
|
726
|
+
- **Measurement Method**: User testing with 10 participants
|
|
727
|
+
- **Pass Criteria**: ≥ 9 of 10 complete successfully
|
|
728
|
+
|
|
729
|
+
### Security Acceptance Criteria
|
|
730
|
+
|
|
731
|
+
#### Sec-<MODULE>-<SEQ>-001: <Security Criterion>
|
|
732
|
+
|
|
733
|
+
**Requirement**: <What must be secure>
|
|
734
|
+
**Verification**: <How to verify>
|
|
735
|
+
**Pass Criteria**: <What confirms pass>
|
|
736
|
+
|
|
737
|
+
**Example**:
|
|
738
|
+
- **Requirement**: Users can only access data within their scope
|
|
739
|
+
- **Verification**: Attempt to access other users' data
|
|
740
|
+
- **Pass Criteria**: All unauthorized access attempts return 403
|
|
741
|
+
|
|
742
|
+
### Accessibility Acceptance Criteria
|
|
743
|
+
|
|
744
|
+
#### A11y-<MODULE>-<SEQ>-001: <Accessibility Criterion>
|
|
745
|
+
|
|
746
|
+
**Standard**: <WCAG 2.1 Level AA>
|
|
747
|
+
**Verification**: <How to verify>
|
|
748
|
+
**Pass Criteria**: <What confirms pass>
|
|
749
|
+
|
|
750
|
+
**Example**:
|
|
751
|
+
- **Standard**: All interactive elements keyboard accessible
|
|
752
|
+
- **Verification**: Keyboard-only testing
|
|
753
|
+
- **Pass Criteria**: All actions completable with Tab, Enter, Escape
|
|
754
|
+
|
|
755
|
+
### Test Coverage Requirements
|
|
756
|
+
|
|
757
|
+
- **Unit Tests**: <Coverage requirement if applicable>
|
|
758
|
+
- **Integration Tests**: <Required integration test scenarios>
|
|
759
|
+
- **End-to-End Tests**: <Required E2E test scenarios>
|
|
760
|
+
- **Performance Tests**: <Required performance test scenarios>
|
|
761
|
+
- **Security Tests**: <Required security test scenarios>
|
|
762
|
+
|
|
763
|
+
### Definition of Done
|
|
764
|
+
|
|
765
|
+
This user story is "done" when:
|
|
766
|
+
- [ ] All acceptance criteria pass
|
|
767
|
+
- [ ] Code is reviewed and approved
|
|
768
|
+
- [ ] Unit tests pass (coverage ≥ X%)
|
|
769
|
+
- [ ] Integration tests pass
|
|
770
|
+
- [ ] E2E tests pass
|
|
771
|
+
- [ ] Performance tests meet targets
|
|
772
|
+
- [ ] Security tests pass
|
|
773
|
+
- [ ] Accessibility tests pass
|
|
774
|
+
- [ ] Documentation is complete
|
|
775
|
+
- [ ] Audit logging is verified
|
|
776
|
+
- [ ] Product acceptance is obtained
|
|
777
|
+
|
|
778
|
+
---
|
|
779
|
+
|
|
780
|
+
## Section 8: Dependencies & Integration (Target: 500-800 words)
|
|
781
|
+
|
|
782
|
+
### Legacy System Dependencies
|
|
783
|
+
|
|
784
|
+
#### Dependency 1: <System Name>
|
|
785
|
+
|
|
786
|
+
**Purpose**: <Why we depend on this system>
|
|
787
|
+
**Integration Type**: <API, database, file, etc.>
|
|
788
|
+
**Data Flow**:
|
|
789
|
+
- **From**: <Data we receive>
|
|
790
|
+
- **To**: <Data we send>
|
|
791
|
+
|
|
792
|
+
**Reliability**:
|
|
793
|
+
- **Availability**: <Expected uptime>
|
|
794
|
+
- **Fallback**: <What happens if it's down>
|
|
795
|
+
- **Error Handling**: <How errors handled>
|
|
796
|
+
|
|
797
|
+
**Migration Impact**:
|
|
798
|
+
- **Changes Required**: <What needs to change>
|
|
799
|
+
- **Data Migration**: <Is data migration needed?>
|
|
800
|
+
- **Cutover Strategy**: <How we transition>
|
|
801
|
+
|
|
802
|
+
### New System Dependencies
|
|
803
|
+
|
|
804
|
+
#### Dependency 1: <System/Module Name>
|
|
805
|
+
|
|
806
|
+
**Purpose**: <Why we depend on this>
|
|
807
|
+
**Expected Delivery**: <When it will be available>
|
|
808
|
+
**Risk Level**: <Low/Medium/High>
|
|
809
|
+
**Contingency**: <What if it's late?>
|
|
810
|
+
|
|
811
|
+
**Integration Points**:
|
|
812
|
+
- **Point 1**: <Description>
|
|
813
|
+
- **Point 2**: <Description>
|
|
814
|
+
|
|
815
|
+
### Third-Party Dependencies
|
|
816
|
+
|
|
817
|
+
#### Dependency 1: <Service/Library Name>
|
|
818
|
+
|
|
819
|
+
**Purpose**: <Why we use this>
|
|
820
|
+
**Version**: <Required version>
|
|
821
|
+
**License**: <License type>
|
|
822
|
+
**Cost**: <If applicable>
|
|
823
|
+
|
|
824
|
+
**Risk Mitigation**:
|
|
825
|
+
- **Alternatives**: <What if we need to switch>
|
|
826
|
+
- **Vendor Lock-in**: <How to avoid>
|
|
827
|
+
- **Support**: <What support we need>
|
|
828
|
+
|
|
829
|
+
### API Dependencies
|
|
830
|
+
|
|
831
|
+
#### API 1: <API Name>
|
|
832
|
+
|
|
833
|
+
**Endpoint**: <URL/endpoint>
|
|
834
|
+
**Method**: <GET/POST/PUT/DELETE>
|
|
835
|
+
**Authentication**: <How we authenticate>
|
|
836
|
+
**Rate Limits**: <Any limits>
|
|
837
|
+
|
|
838
|
+
**Request Schema**:
|
|
839
|
+
- **Field 1**: <Type, required, validation>
|
|
840
|
+
- **Field 2**: <Type, required, validation>
|
|
841
|
+
|
|
842
|
+
**Response Schema**:
|
|
843
|
+
- **Field 1**: <Type, description>
|
|
844
|
+
- **Field 2**: <Type, description>
|
|
845
|
+
|
|
846
|
+
**Error Handling**:
|
|
847
|
+
- **Error Codes**: <What errors we handle>
|
|
848
|
+
- **Retry Logic**: <How we retry failures>
|
|
849
|
+
|
|
850
|
+
**Reference**: `docs/700-engineering/701-api-reference.md`
|
|
851
|
+
|
|
852
|
+
### Data Migration
|
|
853
|
+
|
|
854
|
+
<If this feature requires data migration>
|
|
855
|
+
|
|
856
|
+
**Source**: <Where data comes from>
|
|
857
|
+
**Target**: <Where data goes>
|
|
858
|
+
**Volume**: <How much data>
|
|
859
|
+
**Transformation**: <What transformations needed>
|
|
860
|
+
**Validation**: <How we validate migration>
|
|
861
|
+
**Rollback**: <How we rollback if needed>
|
|
862
|
+
|
|
863
|
+
### Deployment Dependencies
|
|
864
|
+
|
|
865
|
+
- **Infrastructure**: <What infrastructure needed>
|
|
866
|
+
- **Configuration**: <What config needed>
|
|
867
|
+
- **Environment Setup**: <What needs to be set up>
|
|
868
|
+
- **Feature Flags**: <Any feature flag dependencies>
|
|
869
|
+
|
|
870
|
+
---
|
|
871
|
+
|
|
872
|
+
## Section 9: Risks & Mitigation (Target: 500-800 words)
|
|
873
|
+
|
|
874
|
+
### Technical Risks
|
|
875
|
+
|
|
876
|
+
#### Risk 1: <Risk Title>
|
|
877
|
+
|
|
878
|
+
**Description**: <Detailed description of the risk>
|
|
879
|
+
**Probability**: <Low/Medium/High>
|
|
880
|
+
**Impact**: <Low/Medium/High>
|
|
881
|
+
**Overall Risk Level**: <Low/Medium/High>
|
|
882
|
+
|
|
883
|
+
**Mitigation Strategies**:
|
|
884
|
+
1. **Strategy 1**: <Description>
|
|
885
|
+
- **Cost**: <Effort/cost>
|
|
886
|
+
- **Effectiveness**: <How effective>
|
|
887
|
+
|
|
888
|
+
2. **Strategy 2**: <Description>
|
|
889
|
+
- **Cost**: <Effort/cost>
|
|
890
|
+
- **Effectiveness**: <How effective>
|
|
891
|
+
|
|
892
|
+
**Contingency Plan**: <What if mitigation fails?>
|
|
893
|
+
**Owner**: <Who owns this risk>
|
|
894
|
+
|
|
895
|
+
#### Risk 2: <Risk Title>
|
|
896
|
+
|
|
897
|
+
<Same structure>
|
|
898
|
+
|
|
899
|
+
### Business Risks
|
|
900
|
+
|
|
901
|
+
#### Risk 1: <Risk Title>
|
|
902
|
+
|
|
903
|
+
**Description**: <Detailed description>
|
|
904
|
+
**Probability**: <Low/Medium/High>
|
|
905
|
+
**Impact**: <Low/Medium/High>
|
|
906
|
+
|
|
907
|
+
**Mitigation Strategies**:
|
|
908
|
+
1. **Strategy 1**: <Description>
|
|
909
|
+
2. **Strategy 2**: <Description>
|
|
910
|
+
|
|
911
|
+
**Contingency Plan**: <What if risk materializes?>
|
|
912
|
+
|
|
913
|
+
### User Adoption Risks
|
|
914
|
+
|
|
915
|
+
#### Risk 1: <Risk Title>
|
|
916
|
+
|
|
917
|
+
**Description**: <Detailed description>
|
|
918
|
+
**Probability**: <Low/Medium/High>
|
|
919
|
+
**Impact**: <Low/Medium/High>
|
|
920
|
+
|
|
921
|
+
**Mitigation Strategies**:
|
|
922
|
+
- **Training**: <What training needed>
|
|
923
|
+
- **Documentation**: <What docs needed>
|
|
924
|
+
- **Support**: <What support needed>
|
|
925
|
+
- **Phased Rollout**: <How we phase adoption>
|
|
926
|
+
|
|
927
|
+
### Performance Risks
|
|
928
|
+
|
|
929
|
+
#### Risk 1: <Risk Title>
|
|
930
|
+
|
|
931
|
+
**Description**: <Detailed description>
|
|
932
|
+
**Probability**: <Low/Medium/High>
|
|
933
|
+
**Impact**: <Low/Medium/High>
|
|
934
|
+
|
|
935
|
+
**Mitigation Strategies**:
|
|
936
|
+
- **Load Testing**: <What tests we'll run>
|
|
937
|
+
- **Caching**: <If caching helps>
|
|
938
|
+
- **Scaling**: <How we'll scale>
|
|
939
|
+
|
|
940
|
+
### Security Risks
|
|
941
|
+
|
|
942
|
+
#### Risk 1: <Risk Title>
|
|
943
|
+
|
|
944
|
+
**Description**: <Detailed description>
|
|
945
|
+
**Probability**: <Low/Medium/High>
|
|
946
|
+
**Impact**: <Low/Medium/High>
|
|
947
|
+
|
|
948
|
+
**Mitigation Strategies**:
|
|
949
|
+
- **Prevention**: <How we prevent>
|
|
950
|
+
- **Detection**: <How we detect>
|
|
951
|
+
- **Response**: <How we respond>
|
|
952
|
+
|
|
953
|
+
### Integration Risks
|
|
954
|
+
|
|
955
|
+
#### Risk 1: <Risk Title>
|
|
956
|
+
|
|
957
|
+
**Description**: <Detailed description>
|
|
958
|
+
**Probability**: <Low/Medium/High>
|
|
959
|
+
**Impact**: <Low/Medium/High>
|
|
960
|
+
|
|
961
|
+
**Mitigation Strategies**:
|
|
962
|
+
- **Early Integration**: <How we test early>
|
|
963
|
+
- **Mocking**: <How we work around delays>
|
|
964
|
+
- **Parallel Run**: <How we validate>
|
|
965
|
+
|
|
966
|
+
### Risk Monitoring
|
|
967
|
+
|
|
968
|
+
**Review Cadence**: <How often we review risks>
|
|
969
|
+
**Escalation Threshold**: <When we escalate>
|
|
970
|
+
**Risk Register**: <Where risks tracked>
|
|
971
|
+
|
|
972
|
+
---
|
|
973
|
+
|
|
974
|
+
## Section 10: Out of Scope (Target: 300-500 words)
|
|
975
|
+
|
|
976
|
+
### Explicitly Out of Scope
|
|
977
|
+
|
|
978
|
+
<What is NOT included in this user story>
|
|
979
|
+
|
|
980
|
+
#### Feature 1: <Feature Name>
|
|
981
|
+
|
|
982
|
+
**Why It's Out of Scope**:
|
|
983
|
+
- <Reason 1>: <Explanation>
|
|
984
|
+
- <Reason 2>: <Explanation>
|
|
985
|
+
|
|
986
|
+
**Where It Will Be Addressed**:
|
|
987
|
+
- **User Story**: <US-X>: <Future user story>
|
|
988
|
+
- **Phase**: <When it will be done>
|
|
989
|
+
- **Rationale**: <Why deferred>
|
|
990
|
+
|
|
991
|
+
#### Feature 2: <Feature Name>
|
|
992
|
+
|
|
993
|
+
**Why It's Out of Scope**:
|
|
994
|
+
- <Reason>: <Explanation>
|
|
995
|
+
|
|
996
|
+
**Where It Will Be Addressed**:
|
|
997
|
+
- **Module**: <Which module owns it>
|
|
998
|
+
- **Rationale**: <Why it's not here>
|
|
999
|
+
|
|
1000
|
+
### Known Limitations
|
|
1001
|
+
|
|
1002
|
+
<What this feature explicitly does NOT support>
|
|
1003
|
+
|
|
1004
|
+
- **Limitation 1**: <Description>
|
|
1005
|
+
- **Workaround**: <How users can work around>
|
|
1006
|
+
- **Future Plan**: <If/when it will be addressed>
|
|
1007
|
+
|
|
1008
|
+
- **Limitation 2**: <Description>
|
|
1009
|
+
- **Workaround**: <How users can work around>
|
|
1010
|
+
- **Future Plan**: <If/when it will be addressed>
|
|
1011
|
+
|
|
1012
|
+
### Future Enhancements
|
|
1013
|
+
|
|
1014
|
+
<Ideas for future improvements that are NOT in scope now>
|
|
1015
|
+
|
|
1016
|
+
- **Enhancement 1**: <Description>
|
|
1017
|
+
- **Priority**: <Why not now>
|
|
1018
|
+
- **Possible Future**: <When it might be considered>
|
|
1019
|
+
|
|
1020
|
+
- **Enhancement 2**: <Description>
|
|
1021
|
+
- **Priority**: <Why not now>
|
|
1022
|
+
- **Possible Future**: <When it might be considered>
|
|
1023
|
+
|
|
1024
|
+
### Related Features (Separate User Stories)
|
|
1025
|
+
|
|
1026
|
+
<What other user stories are related but separate>
|
|
1027
|
+
|
|
1028
|
+
- **US-X**: <User story title>
|
|
1029
|
+
- **Relationship**: <How it relates to this US>
|
|
1030
|
+
- **Dependencies**: <Any dependencies>
|
|
1031
|
+
|
|
1032
|
+
- **US-Y**: <User story title>
|
|
1033
|
+
- **Relationship**: <How it relates to this US>
|
|
1034
|
+
- **Dependencies**: <Any dependencies>
|
|
1035
|
+
|
|
1036
|
+
---
|
|
1037
|
+
|
|
1038
|
+
## References
|
|
1039
|
+
|
|
1040
|
+
### Product Requirements
|
|
1041
|
+
- **Module PRD**: `docs/300-requirements/31x-prd-<module>.md`
|
|
1042
|
+
- **Requirements Outline**: `docs/300-requirements/30x-prd-outline.md`
|
|
1043
|
+
|
|
1044
|
+
### Design Documents
|
|
1045
|
+
- **Functional Specification**: `docs/400-design/4xx-functional-spec.md`
|
|
1046
|
+
- **UX Design**: `docs/400-design/4xx-ux-design.md`
|
|
1047
|
+
- **User Flows**: `docs/400-design/4xx-user-flows.md`
|
|
1048
|
+
|
|
1049
|
+
### Data Documents
|
|
1050
|
+
- **Data Dictionary**: `docs/500-data/502-data-dictionary.md`
|
|
1051
|
+
- **Entity Relationship Diagram**: `docs/500-data/501-entity-relationship.md`
|
|
1052
|
+
- **Metrics Definition**: `docs/500-data/503-metrics-definition.md`
|
|
1053
|
+
|
|
1054
|
+
### Architecture Documents
|
|
1055
|
+
- **Security Architecture**: `docs/600-architecture/6xx-security-view.md`
|
|
1056
|
+
- **Integration Architecture**: `docs/600-architecture/6xx-integration.md`
|
|
1057
|
+
- **API Architecture**: `docs/600-architecture/6xx-api-design.md`
|
|
1058
|
+
|
|
1059
|
+
### Engineering Documents
|
|
1060
|
+
- **API Reference**: `docs/700-engineering/701-api-reference.md`
|
|
1061
|
+
- **Data Models**: `docs/700-engineering/702-data-models.md`
|
|
1062
|
+
|
|
1063
|
+
### Standards
|
|
1064
|
+
- **Requirements Standards**: `docs/100-standards/102-requirements-standards.md`
|
|
1065
|
+
- **Documentation Standards**: `docs/100-standards/101-documentation-standards.md`
|
|
1066
|
+
- **Engineering Standards**: `docs/100-standards/106-engineering-standards.md`
|
|
1067
|
+
|
|
1068
|
+
---
|
|
1069
|
+
|
|
1070
|
+
## Version History
|
|
1071
|
+
|
|
1072
|
+
| Version | Date | Owner | Change Summary |
|
|
1073
|
+
|---|---|---|---|
|
|
1074
|
+
| v0.1 | YYYY-MM-DD | PM | Initial user story |
|
|
1075
|
+
| | | | |
|
|
1076
|
+
| | | | |
|
|
1077
|
+
|
|
1078
|
+
---
|
|
1079
|
+
|
|
1080
|
+
## Appendix: Writing Guidelines
|
|
1081
|
+
|
|
1082
|
+
### Word Count Target Summary
|
|
1083
|
+
|
|
1084
|
+
| Section | Target Word Count |
|
|
1085
|
+
|---|---|
|
|
1086
|
+
| 1. Background & Context | 1000-1500 |
|
|
1087
|
+
| 2. User Personas & Scenarios | 1000-1500 |
|
|
1088
|
+
| 3. Functional Requirements | 1500-2000 |
|
|
1089
|
+
| 4. User Experience & Interaction | 1000-1500 |
|
|
1090
|
+
| 5. Data & Metrics | 800-1000 |
|
|
1091
|
+
| 6. Permissions & Security | 800-1000 |
|
|
1092
|
+
| 7. Acceptance Criteria | 1000-1500 |
|
|
1093
|
+
| 8. Dependencies & Integration | 500-800 |
|
|
1094
|
+
| 9. Risks & Mitigation | 500-800 |
|
|
1095
|
+
| 10. Out of Scope | 300-500 |
|
|
1096
|
+
| **Total Minimum** | **8000 words** |
|
|
1097
|
+
|
|
1098
|
+
### Quality Checklist
|
|
1099
|
+
|
|
1100
|
+
Before considering this User Story complete, verify:
|
|
1101
|
+
|
|
1102
|
+
- [ ] Total word count is ≥ 8000 words
|
|
1103
|
+
- [ ] All 10 sections are complete
|
|
1104
|
+
- [ ] Each section meets minimum word count
|
|
1105
|
+
- [ ] All acceptance criteria are objectively verifiable
|
|
1106
|
+
- [ ] All data references link to `docs/500-data/`
|
|
1107
|
+
- [ ] All security/audit requirements are specified
|
|
1108
|
+
- [ ] RBAC and data scope are defined
|
|
1109
|
+
- [ ] All edge cases are covered
|
|
1110
|
+
- [ ] All integrations are documented
|
|
1111
|
+
- [ ] All risks have mitigation strategies
|
|
1112
|
+
- [ ] Out of scope is clearly defined
|
|
1113
|
+
- [ ] References are accurate and linked
|
|
1114
|
+
- [ ] Version history is maintained
|
|
1115
|
+
|
|
1116
|
+
### Common Mistakes to Avoid
|
|
1117
|
+
|
|
1118
|
+
1. **Insufficient Detail**: Sections are too brief and don't meet word count targets
|
|
1119
|
+
2. **Vague Acceptance Criteria**: Using subjective language instead of measurable criteria
|
|
1120
|
+
3. **Missing Edge Cases**: Only covering happy path, not error scenarios
|
|
1121
|
+
4. **Incomplete Data References**: Not specifying data structures and validations
|
|
1122
|
+
5. **Missing Security**: Forgetting RBAC, data scope, and audit requirements
|
|
1123
|
+
6. **Unclear Dependencies**: Not documenting what this feature depends on
|
|
1124
|
+
7. **No Risk Mitigation**: Identifying risks but not how to address them
|
|
1125
|
+
8. **Blurry Boundaries**: Not clearly defining what's out of scope
|