@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,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
doc_id: PROD-IA-0201
|
|
3
|
+
title: Inspection Agent Project Brief
|
|
4
|
+
status: approved
|
|
5
|
+
owner: PM
|
|
6
|
+
last_updated: 2026-01-09
|
|
7
|
+
related_docs:
|
|
8
|
+
- docs/200-product/200-index.md
|
|
9
|
+
- docs/100-standards/101-documentation-standards.md
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Purpose
|
|
13
|
+
|
|
14
|
+
This document provides a brief overview of the Inspection Agent project, including its objectives, scope, and key stakeholders. It serves as the entry point for understanding the project's vision and direction.
|
|
15
|
+
|
|
16
|
+
## Project Overview
|
|
17
|
+
|
|
18
|
+
### Objectives
|
|
19
|
+
|
|
20
|
+
The Inspection Agent project aims to develop a comprehensive inspection system that:
|
|
21
|
+
|
|
22
|
+
1. Automates inspection workflows
|
|
23
|
+
2. Provides real-time data visualization
|
|
24
|
+
3. Ensures data security and auditability
|
|
25
|
+
4. Supports scalable architecture
|
|
26
|
+
|
|
27
|
+
### In Scope
|
|
28
|
+
|
|
29
|
+
- Inspection data collection and processing
|
|
30
|
+
- Admin system for configuration
|
|
31
|
+
- Reporting and analytics dashboards
|
|
32
|
+
- Integration with external systems
|
|
33
|
+
|
|
34
|
+
### Out of Scope
|
|
35
|
+
|
|
36
|
+
- Mobile applications (future phase)
|
|
37
|
+
- Third-party API access (Phase 2)
|
|
38
|
+
- Multi-language support (future consideration)
|
|
39
|
+
|
|
40
|
+
## Stakeholders
|
|
41
|
+
|
|
42
|
+
| Role | Responsibility |
|
|
43
|
+
|---|---|
|
|
44
|
+
| PM | Product requirements and roadmap |
|
|
45
|
+
| TechLead | Technical architecture and standards |
|
|
46
|
+
| Engineering | Implementation and quality |
|
|
47
|
+
| Operations | Deployment and monitoring |
|
|
48
|
+
|
|
49
|
+
## Key Deliverables
|
|
50
|
+
|
|
51
|
+
- Phase 1: Core inspection system
|
|
52
|
+
- Phase 2: Advanced analytics
|
|
53
|
+
- Phase 3: Integration capabilities
|
|
54
|
+
|
|
55
|
+
## References
|
|
56
|
+
|
|
57
|
+
- Technical specifications: See docs/400-design/401-system-design.md (architecture overview)
|
|
58
|
+
- Data model: Refer to docs/500-data/501-data-model.md (entity definitions)
|
|
59
|
+
- API documentation: See docs/700-engineering/701-api-reference.md (endpoint specifications)
|
|
60
|
+
|
|
61
|
+
## Version History
|
|
62
|
+
|
|
63
|
+
| Version | Date | Owner | Change |
|
|
64
|
+
|---|---|---|---|
|
|
65
|
+
| v1.0.0 | 2026-01-09 | PM | Initial approved version |
|
|
66
|
+
| v0.2 | 2026-01-08 | PM | Added stakeholder section |
|
|
67
|
+
| v0.1 | 2026-01-05 | PM | Initial draft |
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
---
|
|
2
|
+
doc_id: REF-DOC-0101
|
|
3
|
+
title: Documentation Standards Quick Reference
|
|
4
|
+
status: approved
|
|
5
|
+
owner: PM
|
|
6
|
+
last_updated: 2026-01-09
|
|
7
|
+
related_docs:
|
|
8
|
+
- ../100-standards/101-documentation-standards.md
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Documentation Standards Quick Reference
|
|
12
|
+
|
|
13
|
+
Quick reference guide for the Inspection Agent project's documentation standards.
|
|
14
|
+
|
|
15
|
+
## File Naming
|
|
16
|
+
|
|
17
|
+
### Pattern
|
|
18
|
+
```
|
|
19
|
+
<3-digit-id>-<slug>.md
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Rules
|
|
23
|
+
- **Lowercase only** - No uppercase letters
|
|
24
|
+
- **Kebab-case** - Use hyphens to separate words
|
|
25
|
+
- **No spaces** - Use hyphens instead
|
|
26
|
+
- **No Chinese characters** - ASCII only in filenames
|
|
27
|
+
- **3-digit prefix** - Matches directory structure
|
|
28
|
+
|
|
29
|
+
### Examples
|
|
30
|
+
- ✓ `201-project-brief.md`
|
|
31
|
+
- ✓ `310-fr-nfr.md`
|
|
32
|
+
- ✓ `701-api-reference.md`
|
|
33
|
+
- ✗ `test.md` (missing 3-digit ID)
|
|
34
|
+
- ✗ `Project-Brief.md` (uppercase)
|
|
35
|
+
- ✗ `201 project brief.md` (spaces)
|
|
36
|
+
- ✗ `201-项目简介.md` (Chinese characters)
|
|
37
|
+
|
|
38
|
+
## Directory Structure
|
|
39
|
+
|
|
40
|
+
### Hundreds-Based Directories
|
|
41
|
+
```
|
|
42
|
+
docs/
|
|
43
|
+
├── 100-standards/ # Project standards
|
|
44
|
+
├── 200-product/ # Product documentation
|
|
45
|
+
├── 300-requirements/ # Requirements
|
|
46
|
+
├── 400-design/ # Design documents
|
|
47
|
+
├── 500-data/ # Data documentation
|
|
48
|
+
├── 600-architecture/ # Architecture
|
|
49
|
+
├── 700-engineering/ # Engineering standards
|
|
50
|
+
├── 800-operations/ # Operations
|
|
51
|
+
├── 900-project-mgmt/ # Project management
|
|
52
|
+
└── 990-archive/ # Historical archives
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Naming Pattern
|
|
56
|
+
```
|
|
57
|
+
<hundreds>-<slug>/
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Examples
|
|
61
|
+
- ✓ `100-standards/`
|
|
62
|
+
- ✓ `200-product/`
|
|
63
|
+
- ✓ `300-requirements/`
|
|
64
|
+
|
|
65
|
+
### File-Directory Matching
|
|
66
|
+
Files should match their directory's hundreds digit:
|
|
67
|
+
- Files in `200-product/` start with `2` (e.g., `201-*.md`)
|
|
68
|
+
- Files in `300-requirements/` start with `3` (e.g., `301-*.md`)
|
|
69
|
+
|
|
70
|
+
## Frontmatter Template
|
|
71
|
+
|
|
72
|
+
### Standard Document
|
|
73
|
+
```yaml
|
|
74
|
+
---
|
|
75
|
+
doc_id: XXX-XXX-0100
|
|
76
|
+
title: Document Title
|
|
77
|
+
status: draft
|
|
78
|
+
owner: Your Name
|
|
79
|
+
last_updated: 2026-01-09
|
|
80
|
+
related_docs:
|
|
81
|
+
- docs/100-standards/101-documentation-standards.md
|
|
82
|
+
---
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### User Story
|
|
86
|
+
```yaml
|
|
87
|
+
---
|
|
88
|
+
doc_id: US-XXX-3301
|
|
89
|
+
title: User Story Title
|
|
90
|
+
status: draft
|
|
91
|
+
owner: PM
|
|
92
|
+
last_updated: 2026-01-09
|
|
93
|
+
related_docs:
|
|
94
|
+
- docs/300-requirements/300-index.md
|
|
95
|
+
us_id: US-IA-0001
|
|
96
|
+
module: IA
|
|
97
|
+
priority: P1
|
|
98
|
+
---
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Required Fields
|
|
102
|
+
|
|
103
|
+
| Field | Format | Example |
|
|
104
|
+
|---|---|---|
|
|
105
|
+
| `doc_id` | XXX-XXX-#### | STD-DOC-0101 |
|
|
106
|
+
| `title` | Plain text | Documentation Standards |
|
|
107
|
+
| `status` | draft|review|approved|deprecated | draft |
|
|
108
|
+
| `owner` | Role or Name | PM, TechLead |
|
|
109
|
+
| `last_updated` | YYYY-MM-DD | 2026-01-09 |
|
|
110
|
+
| `related_docs` | List of paths or IDs | - docs/100-standards/100-index.md |
|
|
111
|
+
|
|
112
|
+
### Optional Business Fields
|
|
113
|
+
|
|
114
|
+
| Field | Format | Example |
|
|
115
|
+
|---|---|---|
|
|
116
|
+
| `us_id` | US-XX-#### | US-IA-0001 |
|
|
117
|
+
| `module` | Module code | IA |
|
|
118
|
+
| `priority` | P0|P1|P2 | P1 |
|
|
119
|
+
|
|
120
|
+
## Status Values
|
|
121
|
+
|
|
122
|
+
| Status | Meaning | Chinese |
|
|
123
|
+
|---|---|---|
|
|
124
|
+
| `draft` | Initial draft version | 草稿 |
|
|
125
|
+
| `review` | Under review | 评审中 |
|
|
126
|
+
| `approved` | Approved, can serve as delivery basis | 已批准 |
|
|
127
|
+
| `deprecated` | Deprecated (must reference replacement) | 已废弃 |
|
|
128
|
+
|
|
129
|
+
### Status Workflow
|
|
130
|
+
```
|
|
131
|
+
draft → review → approved
|
|
132
|
+
↓
|
|
133
|
+
deprecated (with replacement reference)
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Required Sections
|
|
137
|
+
|
|
138
|
+
Every document must include:
|
|
139
|
+
|
|
140
|
+
### 1. Purpose/Scope (目的/范围)
|
|
141
|
+
Describe what this document covers and its objectives.
|
|
142
|
+
|
|
143
|
+
```markdown
|
|
144
|
+
## Purpose
|
|
145
|
+
|
|
146
|
+
This document defines...
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### 2. Main Content (主体内容)
|
|
150
|
+
The primary content of your document.
|
|
151
|
+
|
|
152
|
+
```markdown
|
|
153
|
+
## Main Content
|
|
154
|
+
|
|
155
|
+
Your content here...
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### 3. Version History (版本历史)
|
|
159
|
+
Table tracking all changes.
|
|
160
|
+
|
|
161
|
+
```markdown
|
|
162
|
+
## Version History
|
|
163
|
+
|
|
164
|
+
| Version | Date | Owner | Change |
|
|
165
|
+
|---|---|---|---|
|
|
166
|
+
| v0.1 | 2026-01-09 | Name | Initial version |
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Cross-Document References
|
|
170
|
+
|
|
171
|
+
### Format
|
|
172
|
+
Use relative paths from repository root:
|
|
173
|
+
|
|
174
|
+
```markdown
|
|
175
|
+
See docs/500-data/502-data-dictionary.md (field definitions)
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Rules
|
|
179
|
+
- **Path format**: `docs/<hundreds>-<slug>/<file>.md`
|
|
180
|
+
- **Context required**: Explain WHY you're referencing
|
|
181
|
+
- **Clear descriptions**: Add parenthetical context
|
|
182
|
+
|
|
183
|
+
### Good Examples
|
|
184
|
+
- ✓ `See docs/500-data/502-data-dictionary.md (field definitions)`
|
|
185
|
+
- ✓ `As defined in docs/100-standards/106-engineering-standards.md (tech stack)`
|
|
186
|
+
- ✓ `Refer to docs/300-requirements/310-prd.md (business requirements)`
|
|
187
|
+
|
|
188
|
+
### Bad Examples
|
|
189
|
+
- ✗ `See docs/500-data/502-data-dictionary.md` (no context)
|
|
190
|
+
- ✗ `Check the data dictionary` (ambiguous)
|
|
191
|
+
|
|
192
|
+
## Common Mistakes
|
|
193
|
+
|
|
194
|
+
### 1. Invalid Filename
|
|
195
|
+
❌ `test.md`
|
|
196
|
+
✅ `201-project-brief.md`
|
|
197
|
+
|
|
198
|
+
### 2. Missing Frontmatter
|
|
199
|
+
❌ Document without YAML block
|
|
200
|
+
✅ Include all required fields
|
|
201
|
+
|
|
202
|
+
### 3. Invalid Status
|
|
203
|
+
❌ `status: in-progress`
|
|
204
|
+
✅ `status: draft`
|
|
205
|
+
|
|
206
|
+
### 4. No Version History
|
|
207
|
+
❌ Document ends without table
|
|
208
|
+
✅ Include version history table
|
|
209
|
+
|
|
210
|
+
### 5. Broken References
|
|
211
|
+
❌ Link to non-existent file
|
|
212
|
+
✅ Verify all `docs/` paths exist
|
|
213
|
+
|
|
214
|
+
### 6. Chinese in Filename
|
|
215
|
+
❌ `201-项目简介.md`
|
|
216
|
+
✅ `201-project-brief.md`
|
|
217
|
+
|
|
218
|
+
### 7. Mixed Concerns
|
|
219
|
+
❌ Business requirements + technical implementation in same doc
|
|
220
|
+
✅ Separate business and technical documents
|
|
221
|
+
|
|
222
|
+
## Index Files
|
|
223
|
+
|
|
224
|
+
Each directory should have an index file:
|
|
225
|
+
- Pattern: `x00-index.md`
|
|
226
|
+
- Examples: `200-index.md`, `300-index.md`
|
|
227
|
+
|
|
228
|
+
Purpose: Navigation and directory overview.
|
|
229
|
+
|
|
230
|
+
## Version History Table Format
|
|
231
|
+
|
|
232
|
+
```markdown
|
|
233
|
+
| Version | Date | Owner | Change |
|
|
234
|
+
|---|---|---|---|
|
|
235
|
+
| v0.1 | 2026-01-09 | Name | Initial version |
|
|
236
|
+
| v0.2 | 2026-01-10 | Name | Added section X |
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Columns
|
|
240
|
+
- **Version**: Semantic version (v0.1, v0.2, etc.)
|
|
241
|
+
- **Date**: YYYY-MM-DD format
|
|
242
|
+
- **Owner**: Author or role
|
|
243
|
+
- **Change**: Description of changes
|
|
244
|
+
|
|
245
|
+
## Validation Scripts
|
|
246
|
+
|
|
247
|
+
### Run Validation
|
|
248
|
+
```bash
|
|
249
|
+
python skills/doc-standards-enforcer/scripts/validate_doc_standards.py <file.md>
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
### Check References
|
|
253
|
+
```bash
|
|
254
|
+
python skills/doc-standards-enforcer/scripts/check_references.py <file.md>
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### Auto-Fix Issues
|
|
258
|
+
```bash
|
|
259
|
+
python skills/doc-standards-enforcer/scripts/fix_common_issues.py <file.md> --interactive
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
## Document Templates
|
|
263
|
+
|
|
264
|
+
### Minimal Template
|
|
265
|
+
```markdown
|
|
266
|
+
---
|
|
267
|
+
doc_id: XXX-XXX-0100
|
|
268
|
+
title: Document Title
|
|
269
|
+
status: draft
|
|
270
|
+
owner: Your Name
|
|
271
|
+
last_updated: 2026-01-09
|
|
272
|
+
related_docs:
|
|
273
|
+
- docs/100-standards/101-documentation-standards.md
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## Purpose
|
|
277
|
+
|
|
278
|
+
Describe the purpose of this document.
|
|
279
|
+
|
|
280
|
+
## Content
|
|
281
|
+
|
|
282
|
+
Your content here.
|
|
283
|
+
|
|
284
|
+
## Version History
|
|
285
|
+
|
|
286
|
+
| Version | Date | Owner | Change |
|
|
287
|
+
|---|---|---|---|
|
|
288
|
+
| v0.1 | 2026-01-09 | Your Name | Initial version |
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
## Quick Checklist
|
|
292
|
+
|
|
293
|
+
Before marking a document complete:
|
|
294
|
+
|
|
295
|
+
- [ ] Filename follows `<3-digit-id>-<slug>.md` pattern
|
|
296
|
+
- [ ] Directory follows `<hundreds>-<slug>/` pattern
|
|
297
|
+
- [ ] Frontmatter includes all 6 required fields
|
|
298
|
+
- [ ] Status is one of: draft|review|approved|deprecated
|
|
299
|
+
- [ ] Date format is YYYY-MM-DD
|
|
300
|
+
- [ ] Purpose/Scope section exists
|
|
301
|
+
- [ ] Main content exists
|
|
302
|
+
- [ ] Version History table exists
|
|
303
|
+
- [ ] All `docs/` references exist
|
|
304
|
+
- [ ] References include context ("why reference")
|
|
305
|
+
- [ ] No Chinese characters in filename
|
|
306
|
+
- [ ] File is lowercase kebab-case
|
|
307
|
+
|
|
308
|
+
## Related Standards
|
|
309
|
+
|
|
310
|
+
- **Full standards**: `100-standards/101-documentation-standards.md`
|
|
311
|
+
- **Agent workflow**: `100-standards/109-agent-llm-guidelines.md`
|
|
312
|
+
- **Repository guide**: `CLAUDE.md`
|
|
313
|
+
|
|
314
|
+
## Version History
|
|
315
|
+
|
|
316
|
+
| Version | Date | Owner | Change |
|
|
317
|
+
|---|---|---|---|
|
|
318
|
+
| v1.0.0 | 2026-01-09 | PM | Initial quick reference |
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Documentation Cross-Reference Validator
|
|
4
|
+
|
|
5
|
+
Validates cross-document references in Markdown files.
|
|
6
|
+
Checks if referenced files exist and provides suggestions for unclear references.
|
|
7
|
+
|
|
8
|
+
Usage:
|
|
9
|
+
python check_references.py <file.md>
|
|
10
|
+
python check_references.py <file.md> --verbose
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
import sys
|
|
14
|
+
import re
|
|
15
|
+
from pathlib import Path
|
|
16
|
+
import argparse
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class Colors:
|
|
20
|
+
RED = '\033[91m'
|
|
21
|
+
GREEN = '\033[92m'
|
|
22
|
+
YELLOW = '\033[93m'
|
|
23
|
+
BLUE = '\033[94m'
|
|
24
|
+
RESET = '\033[0m'
|
|
25
|
+
BOLD = '\033[1m'
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class ReferenceChecker:
|
|
29
|
+
"""Checks cross-document references in Markdown files."""
|
|
30
|
+
|
|
31
|
+
def __init__(self, filepath, repo_root=None, verbose=False):
|
|
32
|
+
self.filepath = Path(filepath)
|
|
33
|
+
self.repo_root = Path(repo_root) if repo_root else self.find_repo_root()
|
|
34
|
+
self.verbose = verbose
|
|
35
|
+
self.content = None
|
|
36
|
+
self.references = []
|
|
37
|
+
|
|
38
|
+
def find_repo_root(self):
|
|
39
|
+
"""Find repository root by looking for .git or specific directories."""
|
|
40
|
+
current = self.filepath.parent
|
|
41
|
+
while current != current.parent:
|
|
42
|
+
if (current / '.git').exists() or (current / '100-standards').exists():
|
|
43
|
+
return current
|
|
44
|
+
current = current.parent
|
|
45
|
+
return self.filepath.parent.parent # Fallback
|
|
46
|
+
|
|
47
|
+
def check(self):
|
|
48
|
+
"""Run reference checks."""
|
|
49
|
+
if not self.filepath.exists():
|
|
50
|
+
self.print_error(f"File not found: {self.filepath}")
|
|
51
|
+
return False
|
|
52
|
+
|
|
53
|
+
try:
|
|
54
|
+
self.content = self.filepath.read_text(encoding='utf-8')
|
|
55
|
+
except Exception as e:
|
|
56
|
+
self.print_error(f"Error reading file: {e}")
|
|
57
|
+
return False
|
|
58
|
+
|
|
59
|
+
# Extract and check references
|
|
60
|
+
self.extract_references()
|
|
61
|
+
self.validate_references()
|
|
62
|
+
|
|
63
|
+
return self.print_results()
|
|
64
|
+
|
|
65
|
+
def extract_references(self):
|
|
66
|
+
"""Extract all docs/ references from the document."""
|
|
67
|
+
# Pattern: docs/... followed by optional context in parentheses
|
|
68
|
+
# Examples:
|
|
69
|
+
# - docs/100-standards/101-documentation-standards.md
|
|
70
|
+
# - See docs/500-data/502-data-dictionary.md (field definitions)
|
|
71
|
+
pattern = r'docs/[\w-]+/[\w-]+\.md'
|
|
72
|
+
|
|
73
|
+
matches = re.finditer(pattern, self.content)
|
|
74
|
+
|
|
75
|
+
for match in matches:
|
|
76
|
+
ref_path = match.group(0)
|
|
77
|
+
|
|
78
|
+
# Extract context (text after reference in parentheses)
|
|
79
|
+
start = match.end()
|
|
80
|
+
context_match = re.match(r'\s*\(([^)]+)\)', self.content[start:start+50])
|
|
81
|
+
|
|
82
|
+
context = context_match.group(1) if context_match else None
|
|
83
|
+
|
|
84
|
+
self.references.append({
|
|
85
|
+
'path': ref_path,
|
|
86
|
+
'context': context,
|
|
87
|
+
'position': match.start()
|
|
88
|
+
})
|
|
89
|
+
|
|
90
|
+
if self.verbose:
|
|
91
|
+
self.print_info(f"Found {len(self.references)} reference(s)")
|
|
92
|
+
|
|
93
|
+
def validate_references(self):
|
|
94
|
+
"""Check if referenced files exist."""
|
|
95
|
+
for ref in self.references:
|
|
96
|
+
ref_path = ref['path']
|
|
97
|
+
full_path = self.repo_root / ref_path
|
|
98
|
+
|
|
99
|
+
# Check if file exists
|
|
100
|
+
if full_path.exists():
|
|
101
|
+
ref['status'] = 'valid'
|
|
102
|
+
ref['exists'] = True
|
|
103
|
+
else:
|
|
104
|
+
ref['status'] = 'broken'
|
|
105
|
+
ref['exists'] = False
|
|
106
|
+
|
|
107
|
+
# Check if reference has context
|
|
108
|
+
if ref['context']:
|
|
109
|
+
ref['has_context'] = True
|
|
110
|
+
else:
|
|
111
|
+
ref['has_context'] = False
|
|
112
|
+
ref['context_warning'] = 'No context provided (explain "why reference")'
|
|
113
|
+
|
|
114
|
+
def print_results(self):
|
|
115
|
+
"""Print validation results."""
|
|
116
|
+
print(f"\n{Colors.BOLD}Reference Check: {self.filepath.name}{Colors.RESET}\n")
|
|
117
|
+
|
|
118
|
+
if not self.references:
|
|
119
|
+
print(f"{Colors.YELLOW}No docs/ references found{Colors.RESET}")
|
|
120
|
+
return True
|
|
121
|
+
|
|
122
|
+
all_valid = True
|
|
123
|
+
for i, ref in enumerate(self.references, 1):
|
|
124
|
+
status_icon = '✓' if ref['exists'] else '✗'
|
|
125
|
+
status_color = Colors.GREEN if ref['exists'] else Colors.RED
|
|
126
|
+
|
|
127
|
+
print(f"{i}. {status_color}{status_icon}{Colors.RESET} {ref['path']}")
|
|
128
|
+
|
|
129
|
+
if not ref['exists']:
|
|
130
|
+
all_valid = False
|
|
131
|
+
print(f" {Colors.RED}→ File does not exist{Colors.RESET}")
|
|
132
|
+
|
|
133
|
+
if not ref['has_context']:
|
|
134
|
+
print(f" {Colors.YELLOW}→ No context - explain why this reference is needed{Colors.RESET}")
|
|
135
|
+
print(f" {Colors.BLUE}Example: {ref['path']} (field definitions){Colors.RESET}")
|
|
136
|
+
|
|
137
|
+
# Summary
|
|
138
|
+
valid_count = sum(1 for r in self.references if r['exists'])
|
|
139
|
+
with_context = sum(1 for r in self.references if r['has_context'])
|
|
140
|
+
|
|
141
|
+
print(f"\n{Colors.BOLD}Summary:{Colors.RESET}")
|
|
142
|
+
print(f" Total references: {len(self.references)}")
|
|
143
|
+
print(f" {Colors.GREEN}Valid: {valid_count}{Colors.RESET}")
|
|
144
|
+
print(f" {Colors.RED}Broken: {len(self.references) - valid_count}{Colors.RESET}")
|
|
145
|
+
print(f" {Colors.BLUE}With context: {with_context}{Colors.RESET}")
|
|
146
|
+
|
|
147
|
+
return all_valid
|
|
148
|
+
|
|
149
|
+
def print_error(self, message):
|
|
150
|
+
print(f"{Colors.RED}{message}{Colors.RESET}")
|
|
151
|
+
|
|
152
|
+
def print_info(self, message):
|
|
153
|
+
if self.verbose:
|
|
154
|
+
print(f"{Colors.BLUE}{message}{Colors.RESET}")
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
def main():
|
|
158
|
+
parser = argparse.ArgumentParser(
|
|
159
|
+
description='Check cross-document references in Markdown files'
|
|
160
|
+
)
|
|
161
|
+
parser.add_argument('file', help='Markdown file to check')
|
|
162
|
+
parser.add_argument('-r', '--repo-root', help='Repository root path')
|
|
163
|
+
parser.add_argument('-v', '--verbose', action='store_true',
|
|
164
|
+
help='Enable verbose output')
|
|
165
|
+
|
|
166
|
+
args = parser.parse_args()
|
|
167
|
+
|
|
168
|
+
checker = ReferenceChecker(args.file, repo_root=args.repo_root, verbose=args.verbose)
|
|
169
|
+
valid = checker.check()
|
|
170
|
+
|
|
171
|
+
sys.exit(0 if valid else 1)
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
if __name__ == '__main__':
|
|
175
|
+
main()
|