scm-method 1.0.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/.claude-plugin/marketplace.json +77 -0
- package/AGENTS.md +12 -0
- package/LICENSE +30 -0
- package/README.md +109 -0
- package/README_CN.md +108 -0
- package/package.json +110 -0
- package/src/bmm-skills/1-analysis/research/scm-domain-research/SKILL.md +6 -0
- package/src/bmm-skills/1-analysis/research/scm-domain-research/domain-steps/step-01-init.md +137 -0
- package/src/bmm-skills/1-analysis/research/scm-domain-research/domain-steps/step-02-domain-analysis.md +229 -0
- package/src/bmm-skills/1-analysis/research/scm-domain-research/domain-steps/step-03-competitive-landscape.md +238 -0
- package/src/bmm-skills/1-analysis/research/scm-domain-research/domain-steps/step-04-regulatory-focus.md +206 -0
- package/src/bmm-skills/1-analysis/research/scm-domain-research/domain-steps/step-05-technical-trends.md +234 -0
- package/src/bmm-skills/1-analysis/research/scm-domain-research/domain-steps/step-06-research-synthesis.md +444 -0
- package/src/bmm-skills/1-analysis/research/scm-domain-research/research.template.md +29 -0
- package/src/bmm-skills/1-analysis/research/scm-domain-research/workflow.md +51 -0
- package/src/bmm-skills/1-analysis/research/scm-market-research/SKILL.md +6 -0
- package/src/bmm-skills/1-analysis/research/scm-market-research/research.template.md +29 -0
- package/src/bmm-skills/1-analysis/research/scm-market-research/steps/step-01-init.md +184 -0
- package/src/bmm-skills/1-analysis/research/scm-market-research/steps/step-02-customer-behavior.md +239 -0
- package/src/bmm-skills/1-analysis/research/scm-market-research/steps/step-03-customer-pain-points.md +251 -0
- package/src/bmm-skills/1-analysis/research/scm-market-research/steps/step-04-customer-decisions.md +261 -0
- package/src/bmm-skills/1-analysis/research/scm-market-research/steps/step-05-competitive-analysis.md +173 -0
- package/src/bmm-skills/1-analysis/research/scm-market-research/steps/step-06-research-completion.md +478 -0
- package/src/bmm-skills/1-analysis/research/scm-market-research/workflow.md +51 -0
- package/src/bmm-skills/1-analysis/research/scm-technical-research/SKILL.md +6 -0
- package/src/bmm-skills/1-analysis/research/scm-technical-research/research.template.md +29 -0
- package/src/bmm-skills/1-analysis/research/scm-technical-research/technical-steps/step-01-init.md +137 -0
- package/src/bmm-skills/1-analysis/research/scm-technical-research/technical-steps/step-02-technical-overview.md +239 -0
- package/src/bmm-skills/1-analysis/research/scm-technical-research/technical-steps/step-03-integration-patterns.md +248 -0
- package/src/bmm-skills/1-analysis/research/scm-technical-research/technical-steps/step-04-architectural-patterns.md +202 -0
- package/src/bmm-skills/1-analysis/research/scm-technical-research/technical-steps/step-05-implementation-research.md +233 -0
- package/src/bmm-skills/1-analysis/research/scm-technical-research/technical-steps/step-06-research-synthesis.md +487 -0
- package/src/bmm-skills/1-analysis/research/scm-technical-research/workflow.md +52 -0
- package/src/bmm-skills/1-analysis/scm-agent-analyst/SKILL.md +59 -0
- package/src/bmm-skills/1-analysis/scm-agent-analyst/scm-skill-manifest.yaml +11 -0
- package/src/bmm-skills/1-analysis/scm-agent-tech-writer/SKILL.md +57 -0
- package/src/bmm-skills/1-analysis/scm-agent-tech-writer/explain-concept.md +20 -0
- package/src/bmm-skills/1-analysis/scm-agent-tech-writer/mermaid-gen.md +20 -0
- package/src/bmm-skills/1-analysis/scm-agent-tech-writer/scm-skill-manifest.yaml +11 -0
- package/src/bmm-skills/1-analysis/scm-agent-tech-writer/validate-doc.md +19 -0
- package/src/bmm-skills/1-analysis/scm-agent-tech-writer/write-document.md +20 -0
- package/src/bmm-skills/1-analysis/scm-document-project/SKILL.md +6 -0
- package/src/bmm-skills/1-analysis/scm-document-project/checklist.md +245 -0
- package/src/bmm-skills/1-analysis/scm-document-project/documentation-requirements.csv +12 -0
- package/src/bmm-skills/1-analysis/scm-document-project/instructions.md +128 -0
- package/src/bmm-skills/1-analysis/scm-document-project/templates/deep-dive-template.md +345 -0
- package/src/bmm-skills/1-analysis/scm-document-project/templates/index-template.md +169 -0
- package/src/bmm-skills/1-analysis/scm-document-project/templates/project-overview-template.md +103 -0
- package/src/bmm-skills/1-analysis/scm-document-project/templates/project-scan-report-schema.json +160 -0
- package/src/bmm-skills/1-analysis/scm-document-project/templates/source-tree-template.md +135 -0
- package/src/bmm-skills/1-analysis/scm-document-project/workflow.md +25 -0
- package/src/bmm-skills/1-analysis/scm-document-project/workflows/deep-dive-instructions.md +299 -0
- package/src/bmm-skills/1-analysis/scm-document-project/workflows/deep-dive-workflow.md +34 -0
- package/src/bmm-skills/1-analysis/scm-document-project/workflows/full-scan-instructions.md +1107 -0
- package/src/bmm-skills/1-analysis/scm-document-project/workflows/full-scan-workflow.md +34 -0
- package/src/bmm-skills/1-analysis/scm-prfaq/SKILL.md +96 -0
- package/src/bmm-skills/1-analysis/scm-prfaq/agents/artifact-analyzer.md +60 -0
- package/src/bmm-skills/1-analysis/scm-prfaq/agents/web-researcher.md +49 -0
- package/src/bmm-skills/1-analysis/scm-prfaq/assets/prfaq-template.md +62 -0
- package/src/bmm-skills/1-analysis/scm-prfaq/references/customer-faq.md +55 -0
- package/src/bmm-skills/1-analysis/scm-prfaq/references/internal-faq.md +51 -0
- package/src/bmm-skills/1-analysis/scm-prfaq/references/press-release.md +60 -0
- package/src/bmm-skills/1-analysis/scm-prfaq/references/verdict.md +79 -0
- package/src/bmm-skills/1-analysis/scm-prfaq/scm-manifest.json +16 -0
- package/src/bmm-skills/1-analysis/scm-product-brief/SKILL.md +82 -0
- package/src/bmm-skills/1-analysis/scm-product-brief/agents/artifact-analyzer.md +60 -0
- package/src/bmm-skills/1-analysis/scm-product-brief/agents/opportunity-reviewer.md +44 -0
- package/src/bmm-skills/1-analysis/scm-product-brief/agents/skeptic-reviewer.md +44 -0
- package/src/bmm-skills/1-analysis/scm-product-brief/agents/web-researcher.md +49 -0
- package/src/bmm-skills/1-analysis/scm-product-brief/prompts/contextual-discovery.md +57 -0
- package/src/bmm-skills/1-analysis/scm-product-brief/prompts/draft-and-review.md +86 -0
- package/src/bmm-skills/1-analysis/scm-product-brief/prompts/finalize.md +75 -0
- package/src/bmm-skills/1-analysis/scm-product-brief/prompts/guided-elicitation.md +70 -0
- package/src/bmm-skills/1-analysis/scm-product-brief/resources/brief-template.md +60 -0
- package/src/bmm-skills/1-analysis/scm-product-brief/scm-manifest.json +17 -0
- package/src/bmm-skills/2-plan-workflows/scm-agent-pm/SKILL.md +59 -0
- package/src/bmm-skills/2-plan-workflows/scm-agent-pm/scm-skill-manifest.yaml +11 -0
- package/src/bmm-skills/2-plan-workflows/scm-agent-ux-designer/SKILL.md +55 -0
- package/src/bmm-skills/2-plan-workflows/scm-agent-ux-designer/scm-skill-manifest.yaml +11 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/SKILL.md +6 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/data/domain-complexity.csv +15 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/data/prd-purpose.md +197 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/data/project-types.csv +11 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-01-init.md +178 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-01b-continue.md +161 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-02-discovery.md +208 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-02b-vision.md +142 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-02c-executive-summary.md +158 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-03-success.md +214 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-04-journeys.md +201 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-05-domain.md +194 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-06-innovation.md +211 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-07-project-type.md +222 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-08-scoping.md +216 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-09-functional.md +219 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-10-nonfunctional.md +230 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-11-polish.md +221 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/steps-c/step-12-complete.md +115 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/templates/prd-template.md +10 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-prd/workflow.md +61 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/SKILL.md +6 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-01-init.md +135 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-01b-continue.md +127 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-02-discovery.md +190 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-03-core-experience.md +217 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-04-emotional-response.md +220 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-05-inspiration.md +235 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-06-design-system.md +253 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-07-defining-experience.md +255 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-08-visual-foundation.md +225 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-09-design-directions.md +225 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-10-user-journeys.md +242 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-11-component-strategy.md +249 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-12-ux-patterns.md +238 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-13-responsive-accessibility.md +265 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/steps/step-14-complete.md +171 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/ux-design-template.md +13 -0
- package/src/bmm-skills/2-plan-workflows/scm-create-ux-design/workflow.md +35 -0
- package/src/bmm-skills/2-plan-workflows/scm-edit-prd/SKILL.md +6 -0
- package/src/bmm-skills/2-plan-workflows/scm-edit-prd/steps-e/step-e-01-discovery.md +242 -0
- package/src/bmm-skills/2-plan-workflows/scm-edit-prd/steps-e/step-e-01b-legacy-conversion.md +204 -0
- package/src/bmm-skills/2-plan-workflows/scm-edit-prd/steps-e/step-e-02-review.md +245 -0
- package/src/bmm-skills/2-plan-workflows/scm-edit-prd/steps-e/step-e-03-edit.md +250 -0
- package/src/bmm-skills/2-plan-workflows/scm-edit-prd/steps-e/step-e-04-complete.md +165 -0
- package/src/bmm-skills/2-plan-workflows/scm-edit-prd/workflow.md +62 -0
- package/src/bmm-skills/2-plan-workflows/scm-validate-prd/SKILL.md +6 -0
- package/src/bmm-skills/2-plan-workflows/scm-validate-prd/data/domain-complexity.csv +15 -0
- package/src/bmm-skills/2-plan-workflows/scm-validate-prd/data/prd-purpose.md +197 -0
- package/src/bmm-skills/2-plan-workflows/scm-validate-prd/data/project-types.csv +11 -0
- package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-01-discovery.md +221 -0
- package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-02-format-detection.md +188 -0
- package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-02b-parity-check.md +206 -0
- package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-03-density-validation.md +171 -0
- package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +211 -0
- package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-05-measurability-validation.md +225 -0
- package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-06-traceability-validation.md +214 -0
- package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +202 -0
- package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +240 -0
- package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-09-project-type-validation.md +260 -0
- package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-10-smart-validation.md +206 -0
- package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +261 -0
- package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-12-completeness-validation.md +239 -0
- package/src/bmm-skills/2-plan-workflows/scm-validate-prd/steps-v/step-v-13-report-complete.md +229 -0
- package/src/bmm-skills/2-plan-workflows/scm-validate-prd/workflow.md +61 -0
- package/src/bmm-skills/3-solutioning/scm-agent-architect/SKILL.md +54 -0
- package/src/bmm-skills/3-solutioning/scm-agent-architect/scm-skill-manifest.yaml +11 -0
- package/src/bmm-skills/3-solutioning/scm-check-implementation-readiness/SKILL.md +6 -0
- package/src/bmm-skills/3-solutioning/scm-check-implementation-readiness/steps/step-01-document-discovery.md +179 -0
- package/src/bmm-skills/3-solutioning/scm-check-implementation-readiness/steps/step-02-prd-analysis.md +168 -0
- package/src/bmm-skills/3-solutioning/scm-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +169 -0
- package/src/bmm-skills/3-solutioning/scm-check-implementation-readiness/steps/step-04-ux-alignment.md +129 -0
- package/src/bmm-skills/3-solutioning/scm-check-implementation-readiness/steps/step-05-epic-quality-review.md +241 -0
- package/src/bmm-skills/3-solutioning/scm-check-implementation-readiness/steps/step-06-final-assessment.md +126 -0
- package/src/bmm-skills/3-solutioning/scm-check-implementation-readiness/templates/readiness-report-template.md +4 -0
- package/src/bmm-skills/3-solutioning/scm-check-implementation-readiness/workflow.md +47 -0
- package/src/bmm-skills/3-solutioning/scm-create-architecture/SKILL.md +6 -0
- package/src/bmm-skills/3-solutioning/scm-create-architecture/architecture-decision-template.md +12 -0
- package/src/bmm-skills/3-solutioning/scm-create-architecture/data/domain-complexity.csv +13 -0
- package/src/bmm-skills/3-solutioning/scm-create-architecture/data/project-types.csv +7 -0
- package/src/bmm-skills/3-solutioning/scm-create-architecture/steps/step-01-init.md +153 -0
- package/src/bmm-skills/3-solutioning/scm-create-architecture/steps/step-01b-continue.md +173 -0
- package/src/bmm-skills/3-solutioning/scm-create-architecture/steps/step-02-context.md +224 -0
- package/src/bmm-skills/3-solutioning/scm-create-architecture/steps/step-03-starter.md +329 -0
- package/src/bmm-skills/3-solutioning/scm-create-architecture/steps/step-04-decisions.md +318 -0
- package/src/bmm-skills/3-solutioning/scm-create-architecture/steps/step-05-patterns.md +359 -0
- package/src/bmm-skills/3-solutioning/scm-create-architecture/steps/step-06-structure.md +379 -0
- package/src/bmm-skills/3-solutioning/scm-create-architecture/steps/step-07-validation.md +359 -0
- package/src/bmm-skills/3-solutioning/scm-create-architecture/steps/step-08-complete.md +76 -0
- package/src/bmm-skills/3-solutioning/scm-create-architecture/workflow.md +32 -0
- package/src/bmm-skills/3-solutioning/scm-create-epics-and-stories/SKILL.md +6 -0
- package/src/bmm-skills/3-solutioning/scm-create-epics-and-stories/steps/step-01-validate-prerequisites.md +255 -0
- package/src/bmm-skills/3-solutioning/scm-create-epics-and-stories/steps/step-02-design-epics.md +212 -0
- package/src/bmm-skills/3-solutioning/scm-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
- package/src/bmm-skills/3-solutioning/scm-create-epics-and-stories/steps/step-04-final-validation.md +131 -0
- package/src/bmm-skills/3-solutioning/scm-create-epics-and-stories/templates/epics-template.md +61 -0
- package/src/bmm-skills/3-solutioning/scm-create-epics-and-stories/workflow.md +51 -0
- package/src/bmm-skills/3-solutioning/scm-generate-project-context/SKILL.md +6 -0
- package/src/bmm-skills/3-solutioning/scm-generate-project-context/project-context-template.md +21 -0
- package/src/bmm-skills/3-solutioning/scm-generate-project-context/steps/step-01-discover.md +186 -0
- package/src/bmm-skills/3-solutioning/scm-generate-project-context/steps/step-02-generate.md +321 -0
- package/src/bmm-skills/3-solutioning/scm-generate-project-context/steps/step-03-complete.md +278 -0
- package/src/bmm-skills/3-solutioning/scm-generate-project-context/workflow.md +39 -0
- package/src/bmm-skills/4-implementation/scm-agent-dev/SKILL.md +64 -0
- package/src/bmm-skills/4-implementation/scm-agent-dev/scm-skill-manifest.yaml +11 -0
- package/src/bmm-skills/4-implementation/scm-agent-qa/SKILL.md +61 -0
- package/src/bmm-skills/4-implementation/scm-agent-qa/scm-skill-manifest.yaml +11 -0
- package/src/bmm-skills/4-implementation/scm-agent-quick-flow-solo-dev/SKILL.md +53 -0
- package/src/bmm-skills/4-implementation/scm-agent-quick-flow-solo-dev/scm-skill-manifest.yaml +11 -0
- package/src/bmm-skills/4-implementation/scm-agent-sm/SKILL.md +55 -0
- package/src/bmm-skills/4-implementation/scm-agent-sm/scm-skill-manifest.yaml +11 -0
- package/src/bmm-skills/4-implementation/scm-code-review/SKILL.md +6 -0
- package/src/bmm-skills/4-implementation/scm-code-review/steps/step-01-gather-context.md +62 -0
- package/src/bmm-skills/4-implementation/scm-code-review/steps/step-02-review.md +34 -0
- package/src/bmm-skills/4-implementation/scm-code-review/steps/step-03-triage.md +49 -0
- package/src/bmm-skills/4-implementation/scm-code-review/steps/step-04-present.md +129 -0
- package/src/bmm-skills/4-implementation/scm-code-review/workflow.md +55 -0
- package/src/bmm-skills/4-implementation/scm-correct-course/SKILL.md +6 -0
- package/src/bmm-skills/4-implementation/scm-correct-course/checklist.md +288 -0
- package/src/bmm-skills/4-implementation/scm-correct-course/workflow.md +267 -0
- package/src/bmm-skills/4-implementation/scm-create-story/SKILL.md +6 -0
- package/src/bmm-skills/4-implementation/scm-create-story/checklist.md +357 -0
- package/src/bmm-skills/4-implementation/scm-create-story/discover-inputs.md +88 -0
- package/src/bmm-skills/4-implementation/scm-create-story/template.md +49 -0
- package/src/bmm-skills/4-implementation/scm-create-story/workflow.md +380 -0
- package/src/bmm-skills/4-implementation/scm-dev-story/SKILL.md +6 -0
- package/src/bmm-skills/4-implementation/scm-dev-story/checklist.md +80 -0
- package/src/bmm-skills/4-implementation/scm-dev-story/workflow.md +450 -0
- package/src/bmm-skills/4-implementation/scm-qa-generate-e2e-tests/SKILL.md +6 -0
- package/src/bmm-skills/4-implementation/scm-qa-generate-e2e-tests/checklist.md +33 -0
- package/src/bmm-skills/4-implementation/scm-qa-generate-e2e-tests/workflow.md +136 -0
- package/src/bmm-skills/4-implementation/scm-quick-dev/SKILL.md +6 -0
- package/src/bmm-skills/4-implementation/scm-quick-dev/spec-template.md +88 -0
- package/src/bmm-skills/4-implementation/scm-quick-dev/step-01-clarify-and-route.md +66 -0
- package/src/bmm-skills/4-implementation/scm-quick-dev/step-02-plan.md +35 -0
- package/src/bmm-skills/4-implementation/scm-quick-dev/step-03-implement.md +37 -0
- package/src/bmm-skills/4-implementation/scm-quick-dev/step-04-review.md +49 -0
- package/src/bmm-skills/4-implementation/scm-quick-dev/step-05-present.md +63 -0
- package/src/bmm-skills/4-implementation/scm-quick-dev/step-oneshot.md +62 -0
- package/src/bmm-skills/4-implementation/scm-quick-dev/workflow.md +79 -0
- package/src/bmm-skills/4-implementation/scm-retrospective/SKILL.md +6 -0
- package/src/bmm-skills/4-implementation/scm-retrospective/workflow.md +1479 -0
- package/src/bmm-skills/4-implementation/scm-sprint-planning/SKILL.md +6 -0
- package/src/bmm-skills/4-implementation/scm-sprint-planning/checklist.md +33 -0
- package/src/bmm-skills/4-implementation/scm-sprint-planning/sprint-status-template.yaml +56 -0
- package/src/bmm-skills/4-implementation/scm-sprint-planning/workflow.md +263 -0
- package/src/bmm-skills/4-implementation/scm-sprint-status/SKILL.md +6 -0
- package/src/bmm-skills/4-implementation/scm-sprint-status/workflow.md +261 -0
- package/src/bmm-skills/module-help.csv +31 -0
- package/src/bmm-skills/module.yaml +50 -0
- package/src/core-skills/module-help.csv +11 -0
- package/src/core-skills/module.yaml +25 -0
- package/src/core-skills/scm-advanced-elicitation/SKILL.md +136 -0
- package/src/core-skills/scm-advanced-elicitation/methods.csv +51 -0
- package/src/core-skills/scm-brainstorming/SKILL.md +6 -0
- package/src/core-skills/scm-brainstorming/brain-methods.csv +62 -0
- package/src/core-skills/scm-brainstorming/steps/step-01-session-setup.md +214 -0
- package/src/core-skills/scm-brainstorming/steps/step-01b-continue.md +124 -0
- package/src/core-skills/scm-brainstorming/steps/step-02a-user-selected.md +229 -0
- package/src/core-skills/scm-brainstorming/steps/step-02b-ai-recommended.md +239 -0
- package/src/core-skills/scm-brainstorming/steps/step-02c-random-selection.md +211 -0
- package/src/core-skills/scm-brainstorming/steps/step-02d-progressive-flow.md +266 -0
- package/src/core-skills/scm-brainstorming/steps/step-03-technique-execution.md +401 -0
- package/src/core-skills/scm-brainstorming/steps/step-04-idea-organization.md +305 -0
- package/src/core-skills/scm-brainstorming/template.md +15 -0
- package/src/core-skills/scm-brainstorming/workflow.md +53 -0
- package/src/core-skills/scm-distillator/SKILL.md +177 -0
- package/src/core-skills/scm-distillator/agents/distillate-compressor.md +116 -0
- package/src/core-skills/scm-distillator/agents/round-trip-reconstructor.md +68 -0
- package/src/core-skills/scm-distillator/resources/compression-rules.md +51 -0
- package/src/core-skills/scm-distillator/resources/distillate-format-reference.md +227 -0
- package/src/core-skills/scm-distillator/resources/splitting-strategy.md +78 -0
- package/src/core-skills/scm-distillator/scripts/analyze_sources.py +300 -0
- package/src/core-skills/scm-distillator/scripts/tests/test_analyze_sources.py +204 -0
- package/src/core-skills/scm-editorial-review-prose/SKILL.md +86 -0
- package/src/core-skills/scm-editorial-review-structure/SKILL.md +179 -0
- package/src/core-skills/scm-help/SKILL.md +73 -0
- package/src/core-skills/scm-index-docs/SKILL.md +66 -0
- package/src/core-skills/scm-party-mode/SKILL.md +125 -0
- package/src/core-skills/scm-review-adversarial-general/SKILL.md +37 -0
- package/src/core-skills/scm-review-edge-case-hunter/SKILL.md +67 -0
- package/src/core-skills/scm-shard-doc/SKILL.md +105 -0
- package/tools/format-workflow-md.js +263 -0
- package/tools/installer/README.md +60 -0
- package/tools/installer/cli-utils.js +181 -0
- package/tools/installer/commands/install.js +80 -0
- package/tools/installer/commands/status.js +65 -0
- package/tools/installer/commands/uninstall.js +167 -0
- package/tools/installer/core/config.js +52 -0
- package/tools/installer/core/custom-module-cache.js +260 -0
- package/tools/installer/core/existing-install.js +127 -0
- package/tools/installer/core/install-paths.js +129 -0
- package/tools/installer/core/installer.js +1790 -0
- package/tools/installer/core/manifest-generator.js +701 -0
- package/tools/installer/core/manifest.js +1040 -0
- package/tools/installer/custom-handler.js +112 -0
- package/tools/installer/external-official-modules.yaml +63 -0
- package/tools/installer/file-ops.js +204 -0
- package/tools/installer/ide/_config-driven.js +536 -0
- package/tools/installer/ide/manager.js +247 -0
- package/tools/installer/ide/platform-codes.js +37 -0
- package/tools/installer/ide/platform-codes.yaml +192 -0
- package/tools/installer/ide/shared/agent-command-generator.js +180 -0
- package/tools/installer/ide/shared/module-injections.js +136 -0
- package/tools/installer/ide/shared/path-utils.js +364 -0
- package/tools/installer/ide/shared/scm-artifacts.js +208 -0
- package/tools/installer/ide/shared/skill-manifest.js +72 -0
- package/tools/installer/ide/templates/agent-command-template.md +14 -0
- package/tools/installer/ide/templates/combined/antigravity.md +8 -0
- package/tools/installer/ide/templates/combined/default-agent.md +15 -0
- package/tools/installer/ide/templates/combined/default-task.md +10 -0
- package/tools/installer/ide/templates/combined/default-tool.md +10 -0
- package/tools/installer/ide/templates/combined/default-workflow.md +6 -0
- package/tools/installer/ide/templates/combined/gemini-agent.toml +14 -0
- package/tools/installer/ide/templates/combined/gemini-task.toml +11 -0
- package/tools/installer/ide/templates/combined/gemini-tool.toml +11 -0
- package/tools/installer/ide/templates/combined/gemini-workflow-yaml.toml +16 -0
- package/tools/installer/ide/templates/combined/gemini-workflow.toml +14 -0
- package/tools/installer/ide/templates/combined/kiro-agent.md +16 -0
- package/tools/installer/ide/templates/combined/kiro-task.md +9 -0
- package/tools/installer/ide/templates/combined/kiro-tool.md +9 -0
- package/tools/installer/ide/templates/combined/kiro-workflow.md +7 -0
- package/tools/installer/ide/templates/combined/opencode-agent.md +15 -0
- package/tools/installer/ide/templates/combined/opencode-task.md +13 -0
- package/tools/installer/ide/templates/combined/opencode-tool.md +13 -0
- package/tools/installer/ide/templates/combined/opencode-workflow-yaml.md +16 -0
- package/tools/installer/ide/templates/combined/opencode-workflow.md +16 -0
- package/tools/installer/ide/templates/combined/rovodev.md +9 -0
- package/tools/installer/ide/templates/combined/trae.md +9 -0
- package/tools/installer/ide/templates/combined/windsurf-workflow.md +10 -0
- package/tools/installer/ide/templates/split/.gitkeep +0 -0
- package/tools/installer/install-messages.yaml +35 -0
- package/tools/installer/message-loader.js +83 -0
- package/tools/installer/modules/custom-modules.js +197 -0
- package/tools/installer/modules/external-manager.js +354 -0
- package/tools/installer/modules/official-modules.js +2043 -0
- package/tools/installer/project-root.js +77 -0
- package/tools/installer/prompts.js +809 -0
- package/tools/installer/scm-cli.js +108 -0
- package/tools/installer/ui.js +1683 -0
- package/tools/installer/yaml-format.js +245 -0
- package/tools/javascript-conventions.md +5 -0
- package/tools/migrate-custom-module-paths.js +124 -0
- package/tools/platform-codes.yaml +169 -0
- package/tools/validate-skills.js +736 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scm-editorial-review-structure
|
|
3
|
+
description: 'Structural editor that proposes cuts, reorganization, and simplification while preserving comprehension. Use when user requests structural review or editorial review of structure'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Editorial Review - Structure
|
|
7
|
+
|
|
8
|
+
**Goal:** Review document structure and propose substantive changes to improve clarity and flow -- run this BEFORE copy editing.
|
|
9
|
+
|
|
10
|
+
**Your Role:** You are a structural editor focused on HIGH-VALUE DENSITY. Brevity IS clarity: concise writing respects limited attention spans and enables effective scanning. Every section must justify its existence -- cut anything that delays understanding. True redundancy is failure. Follow ALL steps in the STEPS section IN EXACT ORDER. DO NOT skip steps or change the sequence. HALT immediately when halt-conditions are met. Each action within a step is a REQUIRED action to complete that step.
|
|
11
|
+
|
|
12
|
+
> **STYLE GUIDE OVERRIDE:** If a style_guide input is provided, it overrides ALL generic principles in this task (including human-reader-principles, llm-reader-principles, reader_type-specific priorities, structure-models selection, and the Microsoft Writing Style Guide baseline). The ONLY exception is CONTENT IS SACROSANCT -- never change what ideas say, only how they're expressed. When style guide conflicts with this task, style guide wins.
|
|
13
|
+
|
|
14
|
+
**Inputs:**
|
|
15
|
+
- **content** (required) -- Document to review (markdown, plain text, or structured content)
|
|
16
|
+
- **style_guide** (optional) -- Project-specific style guide. When provided, overrides all generic principles in this task (except CONTENT IS SACROSANCT). The style guide is the final authority on tone, structure, and language choices.
|
|
17
|
+
- **purpose** (optional) -- Document's intended purpose (e.g., 'quickstart tutorial', 'API reference', 'conceptual overview')
|
|
18
|
+
- **target_audience** (optional) -- Who reads this? (e.g., 'new users', 'experienced developers', 'decision makers')
|
|
19
|
+
- **reader_type** (optional, default: "humans") -- 'humans' (default) preserves comprehension aids; 'llm' optimizes for precision and density
|
|
20
|
+
- **length_target** (optional) -- Target reduction (e.g., '30% shorter', 'half the length', 'no limit')
|
|
21
|
+
|
|
22
|
+
## Principles
|
|
23
|
+
|
|
24
|
+
- Comprehension through calibration: Optimize for the minimum words needed to maintain understanding
|
|
25
|
+
- Front-load value: Critical information comes first; nice-to-know comes last (or goes)
|
|
26
|
+
- One source of truth: If information appears identically twice, consolidate
|
|
27
|
+
- Scope discipline: Content that belongs in a different document should be cut or linked
|
|
28
|
+
- Propose, don't execute: Output recommendations -- user decides what to accept
|
|
29
|
+
- **CONTENT IS SACROSANCT: Never challenge ideas -- only optimize how they're organized.**
|
|
30
|
+
|
|
31
|
+
## Human-Reader Principles
|
|
32
|
+
|
|
33
|
+
These elements serve human comprehension and engagement -- preserve unless clearly wasteful:
|
|
34
|
+
|
|
35
|
+
- Visual aids: Diagrams, images, and flowcharts anchor understanding
|
|
36
|
+
- Expectation-setting: "What You'll Learn" helps readers confirm they're in the right place
|
|
37
|
+
- Reader's Journey: Organize content biologically (linear progression), not logically (database)
|
|
38
|
+
- Mental models: Overview before details prevents cognitive overload
|
|
39
|
+
- Warmth: Encouraging tone reduces anxiety for new users
|
|
40
|
+
- Whitespace: Admonitions and callouts provide visual breathing room
|
|
41
|
+
- Summaries: Recaps help retention; they're reinforcement, not redundancy
|
|
42
|
+
- Examples: Concrete illustrations make abstract concepts accessible
|
|
43
|
+
- Engagement: "Flow" techniques (transitions, variety) are functional, not "fluff" -- they maintain attention
|
|
44
|
+
|
|
45
|
+
## LLM-Reader Principles
|
|
46
|
+
|
|
47
|
+
When reader_type='llm', optimize for PRECISION and UNAMBIGUITY:
|
|
48
|
+
|
|
49
|
+
- Dependency-first: Define concepts before usage to minimize hallucination risk
|
|
50
|
+
- Cut emotional language, encouragement, and orientation sections
|
|
51
|
+
- IF concept is well-known from training (e.g., "conventional commits", "REST APIs"): Reference the standard -- don't re-teach it. ELSE: Be explicit -- don't assume the LLM will infer correctly.
|
|
52
|
+
- Use consistent terminology -- same word for same concept throughout
|
|
53
|
+
- Eliminate hedging ("might", "could", "generally") -- use direct statements
|
|
54
|
+
- Prefer structured formats (tables, lists, YAML) over prose
|
|
55
|
+
- Reference known standards ("conventional commits", "Google style guide") to leverage training
|
|
56
|
+
- STILL PROVIDE EXAMPLES even for known standards -- grounds the LLM in your specific expectation
|
|
57
|
+
- Unambiguous references -- no unclear antecedents ("it", "this", "the above")
|
|
58
|
+
- Note: LLM documents may be LONGER than human docs in some areas (more explicit) while shorter in others (no warmth)
|
|
59
|
+
|
|
60
|
+
## Structure Models
|
|
61
|
+
|
|
62
|
+
### Tutorial/Guide (Linear)
|
|
63
|
+
**Applicability:** Tutorials, detailed guides, how-to articles, walkthroughs
|
|
64
|
+
- Prerequisites: Setup/Context MUST precede action
|
|
65
|
+
- Sequence: Steps must follow strict chronological or logical dependency order
|
|
66
|
+
- Goal-oriented: clear 'Definition of Done' at the end
|
|
67
|
+
|
|
68
|
+
### Reference/Database
|
|
69
|
+
**Applicability:** API docs, glossaries, configuration references, cheat sheets
|
|
70
|
+
- Random Access: No narrative flow required; user jumps to specific item
|
|
71
|
+
- MECE: Topics are Mutually Exclusive and Collectively Exhaustive
|
|
72
|
+
- Consistent Schema: Every item follows identical structure (e.g., Signature to Params to Returns)
|
|
73
|
+
|
|
74
|
+
### Explanation (Conceptual)
|
|
75
|
+
**Applicability:** Deep dives, architecture overviews, conceptual guides, whitepapers, project context
|
|
76
|
+
- Abstract to Concrete: Definition to Context to Implementation/Example
|
|
77
|
+
- Scaffolding: Complex ideas built on established foundations
|
|
78
|
+
|
|
79
|
+
### Prompt/Task Definition (Functional)
|
|
80
|
+
**Applicability:** SCM tasks, prompts, system instructions, XML definitions
|
|
81
|
+
- Meta-first: Inputs, usage constraints, and context defined before instructions
|
|
82
|
+
- Separation of Concerns: Instructions (logic) separate from Data (content)
|
|
83
|
+
- Step-by-step: Execution flow must be explicit and ordered
|
|
84
|
+
|
|
85
|
+
### Strategic/Context (Pyramid)
|
|
86
|
+
**Applicability:** PRDs, research reports, proposals, decision records
|
|
87
|
+
- Top-down: Conclusion/Status/Recommendation starts the document
|
|
88
|
+
- Grouping: Supporting context grouped logically below the headline
|
|
89
|
+
- Ordering: Most critical information first
|
|
90
|
+
- MECE: Arguments/Groups are Mutually Exclusive and Collectively Exhaustive
|
|
91
|
+
- Evidence: Data supports arguments, never leads
|
|
92
|
+
|
|
93
|
+
## STEPS
|
|
94
|
+
|
|
95
|
+
### Step 1: Validate Input
|
|
96
|
+
|
|
97
|
+
- Check if content is empty or contains fewer than 3 words
|
|
98
|
+
- If empty or fewer than 3 words, HALT with error: "Content too short for substantive review (minimum 3 words required)"
|
|
99
|
+
- Validate reader_type is "humans" or "llm" (or not provided, defaulting to "humans")
|
|
100
|
+
- If reader_type is invalid, HALT with error: "Invalid reader_type. Must be 'humans' or 'llm'"
|
|
101
|
+
- Identify document type and structure (headings, sections, lists, etc.)
|
|
102
|
+
- Note the current word count and section count
|
|
103
|
+
|
|
104
|
+
### Step 2: Understand Purpose
|
|
105
|
+
|
|
106
|
+
- If purpose was provided, use it; otherwise infer from content
|
|
107
|
+
- If target_audience was provided, use it; otherwise infer from content
|
|
108
|
+
- Identify the core question the document answers
|
|
109
|
+
- State in one sentence: "This document exists to help [audience] accomplish [goal]"
|
|
110
|
+
- Select the most appropriate structural model from Structure Models based on purpose/audience
|
|
111
|
+
- Note reader_type and which principles apply (Human-Reader Principles or LLM-Reader Principles)
|
|
112
|
+
|
|
113
|
+
### Step 3: Structural Analysis (CRITICAL)
|
|
114
|
+
|
|
115
|
+
- If style_guide provided, consult style_guide now and note its key requirements -- these override default principles for this analysis
|
|
116
|
+
- Map the document structure: list each major section with its word count
|
|
117
|
+
- Evaluate structure against the selected model's primary rules (e.g., 'Does recommendation come first?' for Pyramid)
|
|
118
|
+
- For each section, answer: Does this directly serve the stated purpose?
|
|
119
|
+
- If reader_type='humans', for each comprehension aid (visual, summary, example, callout), answer: Does this help readers understand or stay engaged?
|
|
120
|
+
- Identify sections that could be: cut entirely, merged with another, moved to a different location, or split
|
|
121
|
+
- Identify true redundancies: identical information repeated without purpose (not summaries or reinforcement)
|
|
122
|
+
- Identify scope violations: content that belongs in a different document
|
|
123
|
+
- Identify burying: critical information hidden deep in the document
|
|
124
|
+
|
|
125
|
+
### Step 4: Flow Analysis
|
|
126
|
+
|
|
127
|
+
- Assess the reader's journey: Does the sequence match how readers will use this?
|
|
128
|
+
- Identify premature detail: explanation given before the reader needs it
|
|
129
|
+
- Identify missing scaffolding: complex ideas without adequate setup
|
|
130
|
+
- Identify anti-patterns: FAQs that should be inline, appendices that should be cut, overviews that repeat the body verbatim
|
|
131
|
+
- If reader_type='humans', assess pacing: Is there enough whitespace and visual variety to maintain attention?
|
|
132
|
+
|
|
133
|
+
### Step 5: Generate Recommendations
|
|
134
|
+
|
|
135
|
+
- Compile all findings into prioritized recommendations
|
|
136
|
+
- Categorize each recommendation: CUT (remove entirely), MERGE (combine sections), MOVE (reorder), CONDENSE (shorten significantly), QUESTION (needs author decision), PRESERVE (explicitly keep -- for elements that might seem cuttable but serve comprehension)
|
|
137
|
+
- For each recommendation, state the rationale in one sentence
|
|
138
|
+
- Estimate impact: how many words would this save (or cost, for PRESERVE)?
|
|
139
|
+
- If length_target was provided, assess whether recommendations meet it
|
|
140
|
+
- If reader_type='humans' and recommendations would cut comprehension aids, flag with warning: "This cut may impact reader comprehension/engagement"
|
|
141
|
+
|
|
142
|
+
### Step 6: Output Results
|
|
143
|
+
|
|
144
|
+
- Output document summary (purpose, audience, reader_type, current length)
|
|
145
|
+
- Output the recommendation list in priority order
|
|
146
|
+
- Output estimated total reduction if all recommendations accepted
|
|
147
|
+
- If no recommendations, output: "No substantive changes recommended -- document structure is sound"
|
|
148
|
+
|
|
149
|
+
Use the following output format:
|
|
150
|
+
|
|
151
|
+
```markdown
|
|
152
|
+
## Document Summary
|
|
153
|
+
- **Purpose:** [inferred or provided purpose]
|
|
154
|
+
- **Audience:** [inferred or provided audience]
|
|
155
|
+
- **Reader type:** [selected reader type]
|
|
156
|
+
- **Structure model:** [selected structure model]
|
|
157
|
+
- **Current length:** [X] words across [Y] sections
|
|
158
|
+
|
|
159
|
+
## Recommendations
|
|
160
|
+
|
|
161
|
+
### 1. [CUT/MERGE/MOVE/CONDENSE/QUESTION/PRESERVE] - [Section or element name]
|
|
162
|
+
**Rationale:** [One sentence explanation]
|
|
163
|
+
**Impact:** ~[X] words
|
|
164
|
+
**Comprehension note:** [If applicable, note impact on reader understanding]
|
|
165
|
+
|
|
166
|
+
### 2. ...
|
|
167
|
+
|
|
168
|
+
## Summary
|
|
169
|
+
- **Total recommendations:** [N]
|
|
170
|
+
- **Estimated reduction:** [X] words ([Y]% of original)
|
|
171
|
+
- **Meets length target:** [Yes/No/No target specified]
|
|
172
|
+
- **Comprehension trade-offs:** [Note any cuts that sacrifice reader engagement for brevity]
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## HALT CONDITIONS
|
|
176
|
+
|
|
177
|
+
- HALT with error if content is empty or fewer than 3 words
|
|
178
|
+
- HALT with error if reader_type is not "humans" or "llm"
|
|
179
|
+
- If no structural issues found, output "No substantive changes recommended" (this is valid completion, not an error)
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scm-help
|
|
3
|
+
description: 'Analyzes current state and user query to answer SCM questions or recommend the next skill(s) to use. Use when user asks for help, scm help, what to do next, or what to start with in SCM.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SCM Help
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
Help the user understand where they are in their SCM workflow and what to do next. Answer SCM questions when asked.
|
|
11
|
+
|
|
12
|
+
## Desired Outcomes
|
|
13
|
+
|
|
14
|
+
When this skill completes, the user should:
|
|
15
|
+
|
|
16
|
+
1. **Know where they are** — which module and phase they're in, what's already been completed
|
|
17
|
+
2. **Know what to do next** — the next recommended and/or required step, with clear reasoning
|
|
18
|
+
3. **Know how to invoke it** — skill name, menu code, action context, and any args that shortcut the conversation
|
|
19
|
+
4. **Get offered a quick start** — when a single skill is the clear next step, offer to run it for the user right now rather than just listing it
|
|
20
|
+
5. **Feel oriented, not overwhelmed** — surface only what's relevant to their current position; don't dump the entire catalog
|
|
21
|
+
|
|
22
|
+
## Data Sources
|
|
23
|
+
|
|
24
|
+
- **Catalog**: `{project-root}/_scm/_config/scm-help.csv` — assembled manifest of all installed module skills
|
|
25
|
+
- **Config**: `config.yaml` and `user-config.yaml` files in `{project-root}/_scm/` and its subfolders — resolve `output-location` variables, provide `communication_language` and `project_knowledge`
|
|
26
|
+
- **Artifacts**: Files matching `outputs` patterns at resolved `output-location` paths reveal which steps are possibly completed; their content may also provide grounding context for recommendations
|
|
27
|
+
- **Project knowledge**: If `project_knowledge` resolves to an existing path, read it for grounding context. Never fabricate project-specific details.
|
|
28
|
+
|
|
29
|
+
## CSV Interpretation
|
|
30
|
+
|
|
31
|
+
The catalog uses this format:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
module,skill,display-name,menu-code,description,action,args,phase,after,before,required,output-location,outputs
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**Phases** determine the high-level flow:
|
|
38
|
+
- `anytime` — available regardless of workflow state
|
|
39
|
+
- Numbered phases (`1-analysis`, `2-planning`, etc.) flow in order; naming varies by module
|
|
40
|
+
|
|
41
|
+
**Dependencies** determine ordering within and across phases:
|
|
42
|
+
- `after` — skills that should ideally complete before this one
|
|
43
|
+
- `before` — skills that should run after this one
|
|
44
|
+
- Format: `skill-name` for single-action skills, `skill-name:action` for multi-action skills
|
|
45
|
+
|
|
46
|
+
**Required gates**:
|
|
47
|
+
- `required=true` items must complete before the user can meaningfully proceed to later phases
|
|
48
|
+
- A phase with no required items is entirely optional — recommend it but be clear about what's actually required next
|
|
49
|
+
|
|
50
|
+
**Completion detection**:
|
|
51
|
+
- Search resolved output paths for `outputs` patterns
|
|
52
|
+
- Fuzzy-match found files to catalog rows
|
|
53
|
+
- User may also state completion explicitly, or it may be evident from the current conversation
|
|
54
|
+
|
|
55
|
+
**Descriptions carry routing context** — some contain cycle info and alternate paths (e.g., "back to DS if fixes needed"). Read them as navigation hints, not just display text.
|
|
56
|
+
|
|
57
|
+
## Response Format
|
|
58
|
+
|
|
59
|
+
For each recommended item, present:
|
|
60
|
+
- `[menu-code]` **Display name** — e.g., "[CP] Create PRD"
|
|
61
|
+
- Skill name in backticks — e.g., `scm-create-prd`
|
|
62
|
+
- For multi-action skills: action invocation context — e.g., "tech-writer lets create a mermaid diagram!"
|
|
63
|
+
- Description if present in CSV; otherwise your existing knowledge of the skill suffices
|
|
64
|
+
- Args if available
|
|
65
|
+
|
|
66
|
+
**Ordering**: Show optional items first, then the next required item. Make it clear which is which.
|
|
67
|
+
|
|
68
|
+
## Constraints
|
|
69
|
+
|
|
70
|
+
- Present all output in `{communication_language}`
|
|
71
|
+
- Recommend running each skill in a **fresh context window**
|
|
72
|
+
- Match the user's tone — conversational when they're casual, structured when they want specifics
|
|
73
|
+
- If the active module is ambiguous, ask rather than guess
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scm-index-docs
|
|
3
|
+
description: 'Generates or updates an index.md to reference all docs in the folder. Use if user requests to create or update an index of all files in a specific folder'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Index Docs
|
|
7
|
+
|
|
8
|
+
**Goal:** Generate or update an index.md to reference all docs in a target folder.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## EXECUTION
|
|
12
|
+
|
|
13
|
+
### Step 1: Scan Directory
|
|
14
|
+
|
|
15
|
+
- List all files and subdirectories in the target location
|
|
16
|
+
|
|
17
|
+
### Step 2: Group Content
|
|
18
|
+
|
|
19
|
+
- Organize files by type, purpose, or subdirectory
|
|
20
|
+
|
|
21
|
+
### Step 3: Generate Descriptions
|
|
22
|
+
|
|
23
|
+
- Read each file to understand its actual purpose and create brief (3-10 word) descriptions based on the content, not just the filename
|
|
24
|
+
|
|
25
|
+
### Step 4: Create/Update Index
|
|
26
|
+
|
|
27
|
+
- Write or update index.md with organized file listings
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## OUTPUT FORMAT
|
|
31
|
+
|
|
32
|
+
```markdown
|
|
33
|
+
# Directory Index
|
|
34
|
+
|
|
35
|
+
## Files
|
|
36
|
+
|
|
37
|
+
- **[filename.ext](./filename.ext)** - Brief description
|
|
38
|
+
- **[another-file.ext](./another-file.ext)** - Brief description
|
|
39
|
+
|
|
40
|
+
## Subdirectories
|
|
41
|
+
|
|
42
|
+
### subfolder/
|
|
43
|
+
|
|
44
|
+
- **[file1.ext](./subfolder/file1.ext)** - Brief description
|
|
45
|
+
- **[file2.ext](./subfolder/file2.ext)** - Brief description
|
|
46
|
+
|
|
47
|
+
### another-folder/
|
|
48
|
+
|
|
49
|
+
- **[file3.ext](./another-folder/file3.ext)** - Brief description
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
## HALT CONDITIONS
|
|
54
|
+
|
|
55
|
+
- HALT if target directory does not exist or is inaccessible
|
|
56
|
+
- HALT if user does not have write permissions to create index.md
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
## VALIDATION
|
|
60
|
+
|
|
61
|
+
- Use relative paths starting with ./
|
|
62
|
+
- Group similar files together
|
|
63
|
+
- Read file contents to generate accurate descriptions - don't guess from filenames
|
|
64
|
+
- Keep descriptions concise but informative (3-10 words)
|
|
65
|
+
- Sort alphabetically within groups
|
|
66
|
+
- Skip hidden files (starting with .) unless specified
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scm-party-mode
|
|
3
|
+
description: 'Orchestrates group discussions between installed scm agents, enabling natural multi-agent conversations where each agent is a real subagent with independent thinking. Use when user requests party mode, wants multiple agent perspectives, group discussion, roundtable, or multi-agent conversation about their project.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Party Mode
|
|
7
|
+
|
|
8
|
+
Facilitate roundtable discussions where scm agents participate as **real subagents** — each spawned independently via the Agent tool so they think for themselves. You are the orchestrator: you pick voices, build context, spawn agents, and present their responses. In the default subagent mode, never generate agent responses yourself — that's the whole point. In `--solo` mode, you roleplay all agents directly.
|
|
9
|
+
|
|
10
|
+
## Why This Matters
|
|
11
|
+
|
|
12
|
+
The whole point of party mode is that each agent produces a genuinely independent perspective. When one LLM roleplays multiple characters, the "opinions" tend to converge and feel performative. By spawning each agent as its own subagent process, you get real diversity of thought — agents that actually disagree, catch things the others miss, and bring their authentic expertise to bear.
|
|
13
|
+
|
|
14
|
+
## Arguments
|
|
15
|
+
|
|
16
|
+
Party mode accepts optional arguments when invoked:
|
|
17
|
+
|
|
18
|
+
- `--model <model>` — Force all subagents to use a specific model (e.g. `--model haiku`, `--model opus`). When omitted, choose the model that fits the round: use a faster model (like `haiku`) for brief or reactive responses, and the default model for deep or complex topics. Match model weight to the depth of thinking the round requires.
|
|
19
|
+
- `--solo` — Run without subagents. Instead of spawning independent agents, roleplay all selected agents yourself in a single response. This is useful when subagents aren't available, when speed matters more than independence, or when the user just prefers it. Announce solo mode on activation so the user knows responses come from one LLM.
|
|
20
|
+
|
|
21
|
+
## On Activation
|
|
22
|
+
|
|
23
|
+
1. **Parse arguments** — check for `--model` and `--solo` flags from the user's invocation.
|
|
24
|
+
|
|
25
|
+
2. Load config from `{project-root}/_scm/core/config.yaml` and resolve:
|
|
26
|
+
- Use `{user_name}` for greeting
|
|
27
|
+
- Use `{communication_language}` for all communications
|
|
28
|
+
|
|
29
|
+
3. **Read the agent manifest** at `{project-root}/_scm/_config/agent-manifest.csv`. Build an internal roster of available agents with their displayName, title, icon, role, identity, communicationStyle, and principles.
|
|
30
|
+
|
|
31
|
+
4. **Load project context** — search for `**/project-context.md`. If found, hold it as background context that gets passed to agents when relevant.
|
|
32
|
+
|
|
33
|
+
5. **Welcome the user** — briefly introduce party mode (mention if solo mode is active). Show the full agent roster (icon + name + one-line role) so the user knows who's available. Ask what they'd like to discuss.
|
|
34
|
+
|
|
35
|
+
## The Core Loop
|
|
36
|
+
|
|
37
|
+
For each user message:
|
|
38
|
+
|
|
39
|
+
### 1. Pick the Right Voices
|
|
40
|
+
|
|
41
|
+
Choose 2-4 agents whose expertise is most relevant to what the user is asking. Use your judgment — you know each agent's role and identity from the manifest. Some guidelines:
|
|
42
|
+
|
|
43
|
+
- **Simple question**: 2 agents with the most relevant expertise
|
|
44
|
+
- **Complex or cross-cutting topic**: 3-4 agents from different domains
|
|
45
|
+
- **User names specific agents**: Always include those, plus 1-2 complementary voices
|
|
46
|
+
- **User asks an agent to respond to another**: Spawn just that agent with the other's response as context
|
|
47
|
+
- **Rotate over time** — avoid the same 2 agents dominating every round
|
|
48
|
+
|
|
49
|
+
### 2. Build Context and Spawn
|
|
50
|
+
|
|
51
|
+
For each selected agent, spawn a subagent using the Agent tool. Each subagent gets:
|
|
52
|
+
|
|
53
|
+
**The agent prompt** (built from the manifest data):
|
|
54
|
+
```
|
|
55
|
+
You are {displayName} ({title}), a SCM agent in a collaborative roundtable discussion.
|
|
56
|
+
|
|
57
|
+
## Your Persona
|
|
58
|
+
- Icon: {icon}
|
|
59
|
+
- Communication Style: {communicationStyle}
|
|
60
|
+
- Principles: {principles}
|
|
61
|
+
- Identity: {identity}
|
|
62
|
+
|
|
63
|
+
## Discussion Context
|
|
64
|
+
{summary of the conversation so far — keep under 400 words}
|
|
65
|
+
|
|
66
|
+
{project context if relevant}
|
|
67
|
+
|
|
68
|
+
## What Other Agents Said This Round
|
|
69
|
+
{if this is a cross-talk or reaction request, include the responses being reacted to — otherwise omit this section}
|
|
70
|
+
|
|
71
|
+
## The User's Message
|
|
72
|
+
{the user's actual message}
|
|
73
|
+
|
|
74
|
+
## Guidelines
|
|
75
|
+
- Respond authentically as {displayName}. Your perspective should reflect your genuine expertise.
|
|
76
|
+
- Start your response with: {icon} **{displayName}:**
|
|
77
|
+
- Speak in {communication_language}.
|
|
78
|
+
- Scale your response to the substance — don't pad. If you have a brief point, make it briefly.
|
|
79
|
+
- Disagree with other agents when your expertise tells you to. Don't hedge or be polite about it.
|
|
80
|
+
- If you have nothing substantive to add, say so in one sentence rather than manufacturing an opinion.
|
|
81
|
+
- You may ask the user direct questions if something needs clarification.
|
|
82
|
+
- Do NOT use tools. Just respond with your perspective.
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**Spawn all agents in parallel** — put all Agent tool calls in a single response so they run concurrently. If `--model` was specified, use that model for all subagents. Otherwise, pick the model that matches the round — faster/cheaper models for brief takes, the default for substantive analysis.
|
|
86
|
+
|
|
87
|
+
**Solo mode** — if `--solo` is active, skip spawning. Instead, generate all agent responses yourself in a single message, staying faithful to each agent's persona. Keep responses clearly separated with each agent's icon and name header.
|
|
88
|
+
|
|
89
|
+
### 3. Present Responses
|
|
90
|
+
|
|
91
|
+
Present each agent's full response to the user — distinct, complete, and in their own voice. The user is here to hear the agents speak, not to read your synthesis of what they think. Whether the responses came from subagents or you generated them in solo mode, the rule is the same: each agent's perspective gets its own unabridged section. Never blend, paraphrase, or condense agent responses into a summary.
|
|
92
|
+
|
|
93
|
+
The format is simple: each agent's response one after another, separated by a blank line. No introductions, no "here's what they said", no framing — just the responses themselves.
|
|
94
|
+
|
|
95
|
+
After all agent responses are presented in full, you may optionally add a brief **Orchestrator Note** — flagging a disagreement worth exploring, or suggesting an agent to bring in next round. Keep this short and clearly labeled so it's not confused with agent speech.
|
|
96
|
+
|
|
97
|
+
### 4. Handle Follow-ups
|
|
98
|
+
|
|
99
|
+
The user drives what happens next. Common patterns:
|
|
100
|
+
|
|
101
|
+
| User says... | You do... |
|
|
102
|
+
|---|---|
|
|
103
|
+
| Continues the general discussion | Pick fresh agents, repeat the loop |
|
|
104
|
+
| "Winston, what do you think about what Sally said?" | Spawn just Winston with Sally's response as context |
|
|
105
|
+
| "Bring in Quinn on this" | Spawn Quinn with a summary of the discussion so far |
|
|
106
|
+
| "I agree with John, let's go deeper on that" | Spawn John + 1-2 others to expand on John's point |
|
|
107
|
+
| "What would Mary and Bob think about Winston's approach?" | Spawn Mary and Bob with Winston's response as context |
|
|
108
|
+
| Asks a question directed at everyone | Back to step 1 with all agents |
|
|
109
|
+
|
|
110
|
+
The key insight: you can spawn any combination at any time. One agent, two agents reacting to a third, the whole roster — whatever serves the conversation. Each spawn is cheap and independent.
|
|
111
|
+
|
|
112
|
+
## Keeping Context Manageable
|
|
113
|
+
|
|
114
|
+
As the conversation grows, you'll need to summarize prior rounds rather than passing the full transcript to each subagent. Aim to keep the "Discussion Context" section under 400 words — a tight summary of what's been discussed, what positions agents have taken, and what the user seems to be driving toward. Update this summary every 2-3 rounds or when the topic shifts significantly.
|
|
115
|
+
|
|
116
|
+
## When Things Go Sideways
|
|
117
|
+
|
|
118
|
+
- **Agents are all saying the same thing**: Bring in a contrarian voice, or ask a specific agent to play devil's advocate by framing the prompt that way.
|
|
119
|
+
- **Discussion is going in circles**: Summarize the impasse and ask the user what angle they want to explore next.
|
|
120
|
+
- **User seems disengaged**: Ask directly — continue, change topic, or wrap up?
|
|
121
|
+
- **Agent gives a weak response**: Don't retry. Present it and let the user decide if they want more from that agent.
|
|
122
|
+
|
|
123
|
+
## Exit
|
|
124
|
+
|
|
125
|
+
When the user says they're done (any natural phrasing — "thanks", "that's all", "end party mode", etc.), give a brief wrap-up of the key takeaways from the discussion and return to normal mode. Don't force exit triggers — just read the room.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scm-review-adversarial-general
|
|
3
|
+
description: 'Perform a Cynical Review and produce a findings report. Use when the user requests a critical review of something'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Adversarial Review (General)
|
|
7
|
+
|
|
8
|
+
**Goal:** Cynically review content and produce findings.
|
|
9
|
+
|
|
10
|
+
**Your Role:** You are a cynical, jaded reviewer with zero patience for sloppy work. The content was submitted by a clueless weasel and you expect to find problems. Be skeptical of everything. Look for what's missing, not just what's wrong. Use a precise, professional tone — no profanity or personal attacks.
|
|
11
|
+
|
|
12
|
+
**Inputs:**
|
|
13
|
+
- **content** — Content to review: diff, spec, story, doc, or any artifact
|
|
14
|
+
- **also_consider** (optional) — Areas to keep in mind during review alongside normal adversarial analysis
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## EXECUTION
|
|
18
|
+
|
|
19
|
+
### Step 1: Receive Content
|
|
20
|
+
|
|
21
|
+
- Load the content to review from provided input or context
|
|
22
|
+
- If content to review is empty, ask for clarification and abort
|
|
23
|
+
- Identify content type (diff, branch, uncommitted changes, document, etc.)
|
|
24
|
+
|
|
25
|
+
### Step 2: Adversarial Analysis
|
|
26
|
+
|
|
27
|
+
Review with extreme skepticism — assume problems exist. Find at least ten issues to fix or improve in the provided content.
|
|
28
|
+
|
|
29
|
+
### Step 3: Present Findings
|
|
30
|
+
|
|
31
|
+
Output findings as a Markdown list (descriptions only).
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## HALT CONDITIONS
|
|
35
|
+
|
|
36
|
+
- HALT if zero findings — this is suspicious, re-analyze or ask for guidance
|
|
37
|
+
- HALT if content is empty or unreadable
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scm-review-edge-case-hunter
|
|
3
|
+
description: 'Walk every branching path and boundary condition in content, report only unhandled edge cases. Orthogonal to adversarial review - method-driven not attitude-driven. Use when you need exhaustive edge-case analysis of code, specs, or diffs.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Edge Case Hunter Review
|
|
7
|
+
|
|
8
|
+
**Goal:** You are a pure path tracer. Never comment on whether code is good or bad; only list missing handling.
|
|
9
|
+
When a diff is provided, scan only the diff hunks and list boundaries that are directly reachable from the changed lines and lack an explicit guard in the diff.
|
|
10
|
+
When no diff is provided (full file or function), treat the entire provided content as the scope.
|
|
11
|
+
Ignore the rest of the codebase unless the provided content explicitly references external functions.
|
|
12
|
+
|
|
13
|
+
**Inputs:**
|
|
14
|
+
- **content** — Content to review: diff, full file, or function
|
|
15
|
+
- **also_consider** (optional) — Areas to keep in mind during review alongside normal edge-case analysis
|
|
16
|
+
|
|
17
|
+
**MANDATORY: Execute steps in the Execution section IN EXACT ORDER. DO NOT skip steps or change the sequence. When a halt condition triggers, follow its specific instruction exactly. Each action within a step is a REQUIRED action to complete that step.**
|
|
18
|
+
|
|
19
|
+
**Your method is exhaustive path enumeration — mechanically walk every branch, not hunt by intuition. Report ONLY paths and conditions that lack handling — discard handled ones silently. Do NOT editorialize or add filler — findings only.**
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## EXECUTION
|
|
23
|
+
|
|
24
|
+
### Step 1: Receive Content
|
|
25
|
+
|
|
26
|
+
- Load the content to review strictly from provided input
|
|
27
|
+
- If content is empty, or cannot be decoded as text, return `[{"location":"N/A","trigger_condition":"Input empty or undecodable","guard_snippet":"Provide valid content to review","potential_consequence":"Review skipped — no analysis performed"}]` and stop
|
|
28
|
+
- Identify content type (diff, full file, or function) to determine scope rules
|
|
29
|
+
|
|
30
|
+
### Step 2: Exhaustive Path Analysis
|
|
31
|
+
|
|
32
|
+
**Walk every branching path and boundary condition within scope — report only unhandled ones.**
|
|
33
|
+
|
|
34
|
+
- If `also_consider` input was provided, incorporate those areas into the analysis
|
|
35
|
+
- Walk all branching paths: control flow (conditionals, loops, error handlers, early returns) and domain boundaries (where values, states, or conditions transition). Derive the relevant edge classes from the content itself — don't rely on a fixed checklist. Examples: missing else/default, unguarded inputs, off-by-one loops, arithmetic overflow, implicit type coercion, race conditions, timeout gaps
|
|
36
|
+
- For each path: determine whether the content handles it
|
|
37
|
+
- Collect only the unhandled paths as findings — discard handled ones silently
|
|
38
|
+
|
|
39
|
+
### Step 3: Validate Completeness
|
|
40
|
+
|
|
41
|
+
- Revisit every edge class from Step 2 — e.g., missing else/default, null/empty inputs, off-by-one loops, arithmetic overflow, implicit type coercion, race conditions, timeout gaps
|
|
42
|
+
- Add any newly found unhandled paths to findings; discard confirmed-handled ones
|
|
43
|
+
|
|
44
|
+
### Step 4: Present Findings
|
|
45
|
+
|
|
46
|
+
Output findings as a JSON array following the Output Format specification exactly.
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
## OUTPUT FORMAT
|
|
50
|
+
|
|
51
|
+
Return ONLY a valid JSON array of objects. Each object must contain exactly these four fields and nothing else:
|
|
52
|
+
|
|
53
|
+
```json
|
|
54
|
+
[{
|
|
55
|
+
"location": "file:start-end (or file:line when single line, or file:hunk when exact line unavailable)",
|
|
56
|
+
"trigger_condition": "one-line description (max 15 words)",
|
|
57
|
+
"guard_snippet": "minimal code sketch that closes the gap (single-line escaped string, no raw newlines or unescaped quotes)",
|
|
58
|
+
"potential_consequence": "what could actually go wrong (max 15 words)"
|
|
59
|
+
}]
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
No extra text, no explanations, no markdown wrapping. An empty array `[]` is valid when no unhandled paths are found.
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
## HALT CONDITIONS
|
|
66
|
+
|
|
67
|
+
- If content is empty or cannot be decoded as text, return `[{"location":"N/A","trigger_condition":"Input empty or undecodable","guard_snippet":"Provide valid content to review","potential_consequence":"Review skipped — no analysis performed"}]` and stop
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scm-shard-doc
|
|
3
|
+
description: 'Splits large markdown documents into smaller, organized files based on level 2 (default) sections. Use if the user says perform shard document'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Shard Document
|
|
7
|
+
|
|
8
|
+
**Goal:** Split large markdown documents into smaller, organized files based on level 2 sections using `npx @kayvan/markdown-tree-parser`.
|
|
9
|
+
|
|
10
|
+
## CRITICAL RULES
|
|
11
|
+
|
|
12
|
+
- MANDATORY: Execute ALL steps in the EXECUTION section IN EXACT ORDER
|
|
13
|
+
- DO NOT skip steps or change the sequence
|
|
14
|
+
- HALT immediately when halt-conditions are met
|
|
15
|
+
- Each action within a step is a REQUIRED action to complete that step
|
|
16
|
+
|
|
17
|
+
## EXECUTION
|
|
18
|
+
|
|
19
|
+
### Step 1: Get Source Document
|
|
20
|
+
|
|
21
|
+
- Ask user for the source document path if not provided already
|
|
22
|
+
- Verify file exists and is accessible
|
|
23
|
+
- Verify file is markdown format (.md extension)
|
|
24
|
+
- If file not found or not markdown: HALT with error message
|
|
25
|
+
|
|
26
|
+
### Step 2: Get Destination Folder
|
|
27
|
+
|
|
28
|
+
- Determine default destination: same location as source file, folder named after source file without .md extension
|
|
29
|
+
- Example: `/path/to/architecture.md` --> `/path/to/architecture/`
|
|
30
|
+
- Ask user for the destination folder path (`[y]` to confirm use of default: `[suggested-path]`, else enter a new path)
|
|
31
|
+
- If user accepts default: use the suggested destination path
|
|
32
|
+
- If user provides custom path: use the custom destination path
|
|
33
|
+
- Verify destination folder exists or can be created
|
|
34
|
+
- Check write permissions for destination
|
|
35
|
+
- If permission denied: HALT with error message
|
|
36
|
+
|
|
37
|
+
### Step 3: Execute Sharding
|
|
38
|
+
|
|
39
|
+
- Inform user that sharding is beginning
|
|
40
|
+
- Execute command: `npx @kayvan/markdown-tree-parser explode [source-document] [destination-folder]`
|
|
41
|
+
- Capture command output and any errors
|
|
42
|
+
- If command fails: HALT and display error to user
|
|
43
|
+
|
|
44
|
+
### Step 4: Verify Output
|
|
45
|
+
|
|
46
|
+
- Check that destination folder contains sharded files
|
|
47
|
+
- Verify index.md was created in destination folder
|
|
48
|
+
- Count the number of files created
|
|
49
|
+
- If no files created: HALT with error message
|
|
50
|
+
|
|
51
|
+
### Step 5: Report Completion
|
|
52
|
+
|
|
53
|
+
- Display completion report to user including:
|
|
54
|
+
- Source document path and name
|
|
55
|
+
- Destination folder path
|
|
56
|
+
- Number of section files created
|
|
57
|
+
- Confirmation that index.md was created
|
|
58
|
+
- Any tool output or warnings
|
|
59
|
+
- Inform user that sharding completed successfully
|
|
60
|
+
|
|
61
|
+
### Step 6: Handle Original Document
|
|
62
|
+
|
|
63
|
+
> **Critical:** Keeping both the original and sharded versions defeats the purpose of sharding and can cause confusion.
|
|
64
|
+
|
|
65
|
+
Present user with options for the original document:
|
|
66
|
+
|
|
67
|
+
> What would you like to do with the original document `[source-document-name]`?
|
|
68
|
+
>
|
|
69
|
+
> Options:
|
|
70
|
+
> - `[d]` Delete - Remove the original (recommended - shards can always be recombined)
|
|
71
|
+
> - `[m]` Move to archive - Move original to a backup/archive location
|
|
72
|
+
> - `[k]` Keep - Leave original in place (NOT recommended - defeats sharding purpose)
|
|
73
|
+
>
|
|
74
|
+
> Your choice (d/m/k):
|
|
75
|
+
|
|
76
|
+
#### If user selects `d` (delete)
|
|
77
|
+
|
|
78
|
+
- Delete the original source document file
|
|
79
|
+
- Confirm deletion to user: "Original document deleted: [source-document-path]"
|
|
80
|
+
- Note: The document can be reconstructed from shards by concatenating all section files in order
|
|
81
|
+
|
|
82
|
+
#### If user selects `m` (move)
|
|
83
|
+
|
|
84
|
+
- Determine default archive location: same directory as source, in an `archive` subfolder
|
|
85
|
+
- Example: `/path/to/architecture.md` --> `/path/to/archive/architecture.md`
|
|
86
|
+
- Ask: Archive location (`[y]` to use default: `[default-archive-path]`, or provide custom path)
|
|
87
|
+
- If user accepts default: use default archive path
|
|
88
|
+
- If user provides custom path: use custom archive path
|
|
89
|
+
- Create archive directory if it does not exist
|
|
90
|
+
- Move original document to archive location
|
|
91
|
+
- Confirm move to user: "Original document moved to: [archive-path]"
|
|
92
|
+
|
|
93
|
+
#### If user selects `k` (keep)
|
|
94
|
+
|
|
95
|
+
- Display warning to user:
|
|
96
|
+
- Keeping both original and sharded versions is NOT recommended
|
|
97
|
+
- The discover_inputs protocol may load the wrong version
|
|
98
|
+
- Updates to one will not reflect in the other
|
|
99
|
+
- Duplicate content taking up space
|
|
100
|
+
- Consider deleting or archiving the original document
|
|
101
|
+
- Confirm user choice: "Original document kept at: [source-document-path]"
|
|
102
|
+
|
|
103
|
+
## HALT CONDITIONS
|
|
104
|
+
|
|
105
|
+
- HALT if npx command fails or produces no output files
|