drt-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/AGENTS.md +45 -0
- package/GETTING-STARTED.md +269 -0
- package/README.md +233 -0
- package/drt-method-1.0.0.tgz +0 -0
- package/drt-modules.yaml +1 -0
- package/package.json +51 -0
- package/scripts/install-from-github.ps1 +22 -0
- package/scripts/install-from-github.sh +17 -0
- package/src/core-skills/drt-advanced-elicitation/SKILL.md +142 -0
- package/src/core-skills/drt-advanced-elicitation/methods.csv +72 -0
- package/src/core-skills/drt-brainstorming/SKILL.md +80 -0
- package/src/core-skills/drt-brainstorming/assets/brain-icons.json +166 -0
- package/src/core-skills/drt-brainstorming/assets/brain-methods.csv +109 -0
- package/src/core-skills/drt-brainstorming/assets/brain-selector.html +326 -0
- package/src/core-skills/drt-brainstorming/customize.toml +84 -0
- package/src/core-skills/drt-brainstorming/references/converge.md +24 -0
- package/src/core-skills/drt-brainstorming/references/finalize.md +26 -0
- package/src/core-skills/drt-brainstorming/references/headless.md +54 -0
- package/src/core-skills/drt-brainstorming/references/in-chat-techniques.md +18 -0
- package/src/core-skills/drt-brainstorming/references/mode-autonomous.md +10 -0
- package/src/core-skills/drt-brainstorming/references/mode-facilitator.md +11 -0
- package/src/core-skills/drt-brainstorming/references/mode-partner.md +16 -0
- package/src/core-skills/drt-brainstorming/references/resume.md +5 -0
- package/src/core-skills/drt-brainstorming/scripts/brain.py +740 -0
- package/src/core-skills/drt-customize/SKILL.md +111 -0
- package/src/core-skills/drt-customize/scripts/list_customizable_skills.py +231 -0
- package/src/core-skills/drt-editorial-review-prose/SKILL.md +86 -0
- package/src/core-skills/drt-editorial-review-structure/SKILL.md +179 -0
- package/src/core-skills/drt-forge-idea/SKILL.md +107 -0
- package/src/core-skills/drt-forge-idea/customize.toml +42 -0
- package/src/core-skills/drt-forge-idea/scripts/resolve_personas.py +270 -0
- package/src/core-skills/drt-help/SKILL.md +75 -0
- package/src/core-skills/drt-index-docs/SKILL.md +66 -0
- package/src/core-skills/drt-party-mode/SKILL.md +60 -0
- package/src/core-skills/drt-party-mode/customize.toml +211 -0
- package/src/core-skills/drt-party-mode/references/create-party.md +70 -0
- package/src/core-skills/drt-party-mode/references/mode-agent-team.md +13 -0
- package/src/core-skills/drt-party-mode/references/mode-auto.md +13 -0
- package/src/core-skills/drt-party-mode/references/mode-subagent.md +31 -0
- package/src/core-skills/drt-party-mode/references/party-memory.md +51 -0
- package/src/core-skills/drt-party-mode/scripts/resolve_party.py +272 -0
- package/src/core-skills/drt-review-adversarial-general/SKILL.md +37 -0
- package/src/core-skills/drt-review-edge-case-hunter/SKILL.md +73 -0
- package/src/core-skills/drt-review-edge-case-hunter/references/deletion-check.md +14 -0
- package/src/core-skills/drt-review-verification-gap/SKILL.md +106 -0
- package/src/core-skills/drt-shard-doc/SKILL.md +105 -0
- package/src/core-skills/drt-spec/SKILL.md +160 -0
- package/src/core-skills/drt-spec/assets/headless-schemas.md +33 -0
- package/src/core-skills/drt-spec/assets/spec-template.md +49 -0
- package/src/core-skills/drt-spec/assets/stories-schema.md +44 -0
- package/src/core-skills/drt-spec/customize.toml +53 -0
- package/src/core-skills/module-help.csv +14 -0
- package/src/core-skills/module.yaml +33 -0
- package/src/drt-skills/1-analysis/drt-agent-analyst/SKILL.md +76 -0
- package/src/drt-skills/1-analysis/drt-agent-analyst/customize.toml +90 -0
- package/src/drt-skills/1-analysis/drt-agent-tech-writer/SKILL.md +76 -0
- package/src/drt-skills/1-analysis/drt-agent-tech-writer/customize.toml +81 -0
- package/src/drt-skills/1-analysis/drt-agent-tech-writer/explain-concept.md +20 -0
- package/src/drt-skills/1-analysis/drt-agent-tech-writer/mermaid-gen.md +20 -0
- package/src/drt-skills/1-analysis/drt-agent-tech-writer/validate-doc.md +19 -0
- package/src/drt-skills/1-analysis/drt-agent-tech-writer/write-document.md +20 -0
- package/src/drt-skills/1-analysis/drt-document-project/SKILL.md +62 -0
- package/src/drt-skills/1-analysis/drt-document-project/checklist.md +245 -0
- package/src/drt-skills/1-analysis/drt-document-project/customize.toml +41 -0
- package/src/drt-skills/1-analysis/drt-document-project/documentation-requirements.csv +12 -0
- package/src/drt-skills/1-analysis/drt-document-project/instructions.md +128 -0
- package/src/drt-skills/1-analysis/drt-document-project/templates/deep-dive-template.md +345 -0
- package/src/drt-skills/1-analysis/drt-document-project/templates/index-template.md +169 -0
- package/src/drt-skills/1-analysis/drt-document-project/templates/project-overview-template.md +103 -0
- package/src/drt-skills/1-analysis/drt-document-project/templates/project-scan-report-schema.json +160 -0
- package/src/drt-skills/1-analysis/drt-document-project/templates/source-tree-template.md +135 -0
- package/src/drt-skills/1-analysis/drt-document-project/workflows/deep-dive-instructions.md +300 -0
- package/src/drt-skills/1-analysis/drt-document-project/workflows/deep-dive-workflow.md +34 -0
- package/src/drt-skills/1-analysis/drt-document-project/workflows/full-scan-instructions.md +1111 -0
- package/src/drt-skills/1-analysis/drt-document-project/workflows/full-scan-workflow.md +34 -0
- package/src/drt-skills/1-analysis/drt-prfaq/SKILL.md +135 -0
- package/src/drt-skills/1-analysis/drt-prfaq/agents/artifact-analyzer.md +60 -0
- package/src/drt-skills/1-analysis/drt-prfaq/agents/web-researcher.md +49 -0
- package/src/drt-skills/1-analysis/drt-prfaq/assets/prfaq-template.md +62 -0
- package/src/drt-skills/1-analysis/drt-prfaq/bmad-manifest.json +16 -0
- package/src/drt-skills/1-analysis/drt-prfaq/customize.toml +41 -0
- package/src/drt-skills/1-analysis/drt-prfaq/references/customer-faq.md +55 -0
- package/src/drt-skills/1-analysis/drt-prfaq/references/internal-faq.md +51 -0
- package/src/drt-skills/1-analysis/drt-prfaq/references/press-release.md +60 -0
- package/src/drt-skills/1-analysis/drt-prfaq/references/verdict.md +83 -0
- package/src/drt-skills/1-analysis/drt-product-brief/SKILL.md +91 -0
- package/src/drt-skills/1-analysis/drt-product-brief/assets/brief-template.md +41 -0
- package/src/drt-skills/1-analysis/drt-product-brief/customize.toml +99 -0
- package/src/drt-skills/1-analysis/research/drt-domain-research/SKILL.md +96 -0
- package/src/drt-skills/1-analysis/research/drt-domain-research/customize.toml +41 -0
- package/src/drt-skills/1-analysis/research/drt-domain-research/domain-steps/step-01-init.md +137 -0
- package/src/drt-skills/1-analysis/research/drt-domain-research/domain-steps/step-02-domain-analysis.md +229 -0
- package/src/drt-skills/1-analysis/research/drt-domain-research/domain-steps/step-03-competitive-landscape.md +238 -0
- package/src/drt-skills/1-analysis/research/drt-domain-research/domain-steps/step-04-regulatory-focus.md +206 -0
- package/src/drt-skills/1-analysis/research/drt-domain-research/domain-steps/step-05-technical-trends.md +234 -0
- package/src/drt-skills/1-analysis/research/drt-domain-research/domain-steps/step-06-research-synthesis.md +450 -0
- package/src/drt-skills/1-analysis/research/drt-domain-research/research.template.md +29 -0
- package/src/drt-skills/1-analysis/research/drt-market-research/SKILL.md +96 -0
- package/src/drt-skills/1-analysis/research/drt-market-research/customize.toml +41 -0
- package/src/drt-skills/1-analysis/research/drt-market-research/research.template.md +29 -0
- package/src/drt-skills/1-analysis/research/drt-market-research/steps/step-01-init.md +184 -0
- package/src/drt-skills/1-analysis/research/drt-market-research/steps/step-02-customer-behavior.md +239 -0
- package/src/drt-skills/1-analysis/research/drt-market-research/steps/step-03-customer-pain-points.md +251 -0
- package/src/drt-skills/1-analysis/research/drt-market-research/steps/step-04-customer-decisions.md +261 -0
- package/src/drt-skills/1-analysis/research/drt-market-research/steps/step-05-competitive-analysis.md +173 -0
- package/src/drt-skills/1-analysis/research/drt-market-research/steps/step-06-research-completion.md +484 -0
- package/src/drt-skills/1-analysis/research/drt-technical-research/SKILL.md +96 -0
- package/src/drt-skills/1-analysis/research/drt-technical-research/customize.toml +41 -0
- package/src/drt-skills/1-analysis/research/drt-technical-research/research.template.md +29 -0
- package/src/drt-skills/1-analysis/research/drt-technical-research/technical-steps/step-01-init.md +137 -0
- package/src/drt-skills/1-analysis/research/drt-technical-research/technical-steps/step-02-technical-overview.md +239 -0
- package/src/drt-skills/1-analysis/research/drt-technical-research/technical-steps/step-03-integration-patterns.md +248 -0
- package/src/drt-skills/1-analysis/research/drt-technical-research/technical-steps/step-04-architectural-patterns.md +202 -0
- package/src/drt-skills/1-analysis/research/drt-technical-research/technical-steps/step-05-implementation-research.md +233 -0
- package/src/drt-skills/1-analysis/research/drt-technical-research/technical-steps/step-06-research-synthesis.md +493 -0
- package/src/drt-skills/2-plan-workflows/drt-agent-pm/SKILL.md +76 -0
- package/src/drt-skills/2-plan-workflows/drt-agent-pm/customize.toml +75 -0
- package/src/drt-skills/2-plan-workflows/drt-agent-ux-designer/SKILL.md +76 -0
- package/src/drt-skills/2-plan-workflows/drt-agent-ux-designer/customize.toml +60 -0
- package/src/drt-skills/2-plan-workflows/drt-create-prd/SKILL.md +30 -0
- package/src/drt-skills/2-plan-workflows/drt-create-prd/customize.toml +41 -0
- package/src/drt-skills/2-plan-workflows/drt-edit-prd/SKILL.md +30 -0
- package/src/drt-skills/2-plan-workflows/drt-edit-prd/customize.toml +42 -0
- package/src/drt-skills/2-plan-workflows/drt-prd/SKILL.md +92 -0
- package/src/drt-skills/2-plan-workflows/drt-prd/assets/headless-schemas.md +76 -0
- package/src/drt-skills/2-plan-workflows/drt-prd/assets/prd-template.md +165 -0
- package/src/drt-skills/2-plan-workflows/drt-prd/assets/prd-validation-checklist.md +135 -0
- package/src/drt-skills/2-plan-workflows/drt-prd/assets/validation-report-template.html +325 -0
- package/src/drt-skills/2-plan-workflows/drt-prd/customize.toml +147 -0
- package/src/drt-skills/2-plan-workflows/drt-prd/references/headless.md +39 -0
- package/src/drt-skills/2-plan-workflows/drt-prd/references/validate.md +97 -0
- package/src/drt-skills/2-plan-workflows/drt-ux/SKILL.md +90 -0
- package/src/drt-skills/2-plan-workflows/drt-ux/assets/color-themes.md +9 -0
- package/src/drt-skills/2-plan-workflows/drt-ux/assets/design-directions.md +9 -0
- package/src/drt-skills/2-plan-workflows/drt-ux/assets/design-example-editorial.md +158 -0
- package/src/drt-skills/2-plan-workflows/drt-ux/assets/design-example-mobile.md +93 -0
- package/src/drt-skills/2-plan-workflows/drt-ux/assets/design-example-shadcn.md +109 -0
- package/src/drt-skills/2-plan-workflows/drt-ux/assets/excalidraw-wireframe.md +19 -0
- package/src/drt-skills/2-plan-workflows/drt-ux/assets/experience-example-mobile.md +112 -0
- package/src/drt-skills/2-plan-workflows/drt-ux/assets/experience-example-shadcn.md +133 -0
- package/src/drt-skills/2-plan-workflows/drt-ux/assets/headless-schemas.md +84 -0
- package/src/drt-skills/2-plan-workflows/drt-ux/assets/key-screens.md +29 -0
- package/src/drt-skills/2-plan-workflows/drt-ux/assets/validation-report-template.html +319 -0
- package/src/drt-skills/2-plan-workflows/drt-ux/customize.toml +100 -0
- package/src/drt-skills/2-plan-workflows/drt-ux/references/creative-tools.md +19 -0
- package/src/drt-skills/2-plan-workflows/drt-ux/references/design-md-spec.md +50 -0
- package/src/drt-skills/2-plan-workflows/drt-ux/references/headless.md +37 -0
- package/src/drt-skills/2-plan-workflows/drt-ux/references/validate.md +115 -0
- package/src/drt-skills/2-plan-workflows/drt-validate-prd/SKILL.md +30 -0
- package/src/drt-skills/2-plan-workflows/drt-validate-prd/customize.toml +42 -0
- package/src/drt-skills/3-solutioning/drt-agent-architect/SKILL.md +76 -0
- package/src/drt-skills/3-solutioning/drt-agent-architect/customize.toml +65 -0
- package/src/drt-skills/3-solutioning/drt-architecture/SKILL.md +85 -0
- package/src/drt-skills/3-solutioning/drt-architecture/assets/spine-template.md +79 -0
- package/src/drt-skills/3-solutioning/drt-architecture/customize.toml +100 -0
- package/src/drt-skills/3-solutioning/drt-architecture/references/headless.md +26 -0
- package/src/drt-skills/3-solutioning/drt-architecture/references/reviewer-gate.md +13 -0
- package/src/drt-skills/3-solutioning/drt-architecture/scripts/lint_spine.py +257 -0
- package/src/drt-skills/3-solutioning/drt-check-implementation-readiness/SKILL.md +91 -0
- package/src/drt-skills/3-solutioning/drt-check-implementation-readiness/customize.toml +41 -0
- package/src/drt-skills/3-solutioning/drt-check-implementation-readiness/steps/step-01-document-discovery.md +179 -0
- package/src/drt-skills/3-solutioning/drt-check-implementation-readiness/steps/step-02-prd-analysis.md +168 -0
- package/src/drt-skills/3-solutioning/drt-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +169 -0
- package/src/drt-skills/3-solutioning/drt-check-implementation-readiness/steps/step-04-ux-alignment.md +129 -0
- package/src/drt-skills/3-solutioning/drt-check-implementation-readiness/steps/step-05-epic-quality-review.md +241 -0
- package/src/drt-skills/3-solutioning/drt-check-implementation-readiness/steps/step-06-final-assessment.md +132 -0
- package/src/drt-skills/3-solutioning/drt-check-implementation-readiness/templates/readiness-report-template.md +4 -0
- package/src/drt-skills/3-solutioning/drt-create-architecture/SKILL.md +30 -0
- package/src/drt-skills/3-solutioning/drt-create-architecture/customize.toml +41 -0
- package/src/drt-skills/3-solutioning/drt-create-epics-and-stories/SKILL.md +93 -0
- package/src/drt-skills/3-solutioning/drt-create-epics-and-stories/customize.toml +41 -0
- package/src/drt-skills/3-solutioning/drt-create-epics-and-stories/steps/step-01-validate-prerequisites.md +263 -0
- package/src/drt-skills/3-solutioning/drt-create-epics-and-stories/steps/step-02-design-epics.md +242 -0
- package/src/drt-skills/3-solutioning/drt-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
- package/src/drt-skills/3-solutioning/drt-create-epics-and-stories/steps/step-04-final-validation.md +143 -0
- package/src/drt-skills/3-solutioning/drt-create-epics-and-stories/templates/epics-template.md +61 -0
- package/src/drt-skills/3-solutioning/drt-generate-project-context/SKILL.md +81 -0
- package/src/drt-skills/3-solutioning/drt-generate-project-context/customize.toml +41 -0
- package/src/drt-skills/3-solutioning/drt-generate-project-context/project-context-template.md +21 -0
- package/src/drt-skills/3-solutioning/drt-generate-project-context/steps/step-01-discover.md +186 -0
- package/src/drt-skills/3-solutioning/drt-generate-project-context/steps/step-02-generate.md +321 -0
- package/src/drt-skills/3-solutioning/drt-generate-project-context/steps/step-03-complete.md +284 -0
- package/src/drt-skills/4-implementation/drt-agent-dev/SKILL.md +76 -0
- package/src/drt-skills/4-implementation/drt-agent-dev/customize.toml +95 -0
- package/src/drt-skills/4-implementation/drt-checkpoint-preview/SKILL.md +68 -0
- package/src/drt-skills/4-implementation/drt-checkpoint-preview/customize.toml +41 -0
- package/src/drt-skills/4-implementation/drt-checkpoint-preview/generate-trail.md +38 -0
- package/src/drt-skills/4-implementation/drt-checkpoint-preview/step-01-orientation.md +105 -0
- package/src/drt-skills/4-implementation/drt-checkpoint-preview/step-02-walkthrough.md +89 -0
- package/src/drt-skills/4-implementation/drt-checkpoint-preview/step-03-detail-pass.md +106 -0
- package/src/drt-skills/4-implementation/drt-checkpoint-preview/step-04-testing.md +74 -0
- package/src/drt-skills/4-implementation/drt-checkpoint-preview/step-05-wrapup.md +30 -0
- package/src/drt-skills/4-implementation/drt-code-review/SKILL.md +90 -0
- package/src/drt-skills/4-implementation/drt-code-review/customize.toml +93 -0
- package/src/drt-skills/4-implementation/drt-code-review/steps/step-01-gather-context.md +84 -0
- package/src/drt-skills/4-implementation/drt-code-review/steps/step-02-review.md +32 -0
- package/src/drt-skills/4-implementation/drt-code-review/steps/step-03-triage.md +50 -0
- package/src/drt-skills/4-implementation/drt-code-review/steps/step-04-present.md +132 -0
- package/src/drt-skills/4-implementation/drt-correct-course/SKILL.md +301 -0
- package/src/drt-skills/4-implementation/drt-correct-course/checklist.md +288 -0
- package/src/drt-skills/4-implementation/drt-correct-course/customize.toml +41 -0
- package/src/drt-skills/4-implementation/drt-create-story/SKILL.md +432 -0
- package/src/drt-skills/4-implementation/drt-create-story/checklist.md +357 -0
- package/src/drt-skills/4-implementation/drt-create-story/customize.toml +41 -0
- package/src/drt-skills/4-implementation/drt-create-story/discover-inputs.md +88 -0
- package/src/drt-skills/4-implementation/drt-create-story/template.md +49 -0
- package/src/drt-skills/4-implementation/drt-dev-auto/SKILL.md +123 -0
- package/src/drt-skills/4-implementation/drt-dev-auto/compile-epic-context.md +62 -0
- package/src/drt-skills/4-implementation/drt-dev-auto/customize.toml +108 -0
- package/src/drt-skills/4-implementation/drt-dev-auto/spec-template.md +98 -0
- package/src/drt-skills/4-implementation/drt-dev-auto/step-01-clarify-and-route.md +84 -0
- package/src/drt-skills/4-implementation/drt-dev-auto/step-02-plan.md +31 -0
- package/src/drt-skills/4-implementation/drt-dev-auto/step-03-implement.md +42 -0
- package/src/drt-skills/4-implementation/drt-dev-auto/step-04-review.md +95 -0
- package/src/drt-skills/4-implementation/drt-dev-story/SKILL.md +500 -0
- package/src/drt-skills/4-implementation/drt-dev-story/checklist.md +80 -0
- package/src/drt-skills/4-implementation/drt-dev-story/customize.toml +41 -0
- package/src/drt-skills/4-implementation/drt-implement-task/SKILL.md +101 -0
- package/src/drt-skills/4-implementation/drt-implement-task/assets/task-spec-template.md +60 -0
- package/src/drt-skills/4-implementation/drt-implement-task/customize.toml +17 -0
- package/src/drt-skills/4-implementation/drt-implement-task/steps/step-01-gather-intent.md +42 -0
- package/src/drt-skills/4-implementation/drt-implement-task/steps/step-02-plan-and-approve.md +43 -0
- package/src/drt-skills/4-implementation/drt-implement-task/steps/step-03-confirm-dependencies.md +38 -0
- package/src/drt-skills/4-implementation/drt-implement-task/steps/step-04-implement.md +42 -0
- package/src/drt-skills/4-implementation/drt-implement-task/steps/step-05-qc-test.md +31 -0
- package/src/drt-skills/4-implementation/drt-implement-task/steps/step-06-quality-review.md +30 -0
- package/src/drt-skills/4-implementation/drt-implement-task/steps/step-07-fix-findings.md +33 -0
- package/src/drt-skills/4-implementation/drt-implement-task/steps/step-08-complete.md +35 -0
- package/src/drt-skills/4-implementation/drt-qa-generate-e2e-tests/SKILL.md +176 -0
- package/src/drt-skills/4-implementation/drt-qa-generate-e2e-tests/checklist.md +33 -0
- package/src/drt-skills/4-implementation/drt-qa-generate-e2e-tests/customize.toml +41 -0
- package/src/drt-skills/4-implementation/drt-quick-dev/SKILL.md +13 -0
- package/src/drt-skills/4-implementation/drt-quick-dev/compile-epic-context.md +62 -0
- package/src/drt-skills/4-implementation/drt-quick-dev/customize.toml +83 -0
- package/src/drt-skills/4-implementation/drt-quick-dev/render.js +206 -0
- package/src/drt-skills/4-implementation/drt-quick-dev/spec-template.md +89 -0
- package/src/drt-skills/4-implementation/drt-quick-dev/step-01-clarify-and-route.md +103 -0
- package/src/drt-skills/4-implementation/drt-quick-dev/step-02-plan.md +47 -0
- package/src/drt-skills/4-implementation/drt-quick-dev/step-03-implement.md +45 -0
- package/src/drt-skills/4-implementation/drt-quick-dev/step-04-review.md +55 -0
- package/src/drt-skills/4-implementation/drt-quick-dev/step-05-present.md +78 -0
- package/src/drt-skills/4-implementation/drt-quick-dev/step-oneshot.md +78 -0
- package/src/drt-skills/4-implementation/drt-quick-dev/sync-sprint-status.md +19 -0
- package/src/drt-skills/4-implementation/drt-quick-dev/workflow.md +85 -0
- package/src/drt-skills/4-implementation/drt-retrospective/SKILL.md +1527 -0
- package/src/drt-skills/4-implementation/drt-retrospective/customize.toml +41 -0
- package/src/drt-skills/4-implementation/drt-sprint-planning/SKILL.md +319 -0
- package/src/drt-skills/4-implementation/drt-sprint-planning/checklist.md +34 -0
- package/src/drt-skills/4-implementation/drt-sprint-planning/customize.toml +41 -0
- package/src/drt-skills/4-implementation/drt-sprint-planning/sprint-status-template.yaml +69 -0
- package/src/drt-skills/4-implementation/drt-sprint-status/SKILL.md +311 -0
- package/src/drt-skills/4-implementation/drt-sprint-status/customize.toml +41 -0
- package/src/drt-skills/module-help.csv +32 -0
- package/src/drt-skills/module.yaml +95 -0
- package/src/scripts/lib/load-toml.js +43 -0
- package/src/scripts/lib/merge-utils.js +89 -0
- package/src/scripts/memlog.js +184 -0
- package/src/scripts/package.json +7 -0
- package/src/scripts/resolve-config.js +56 -0
- package/src/scripts/resolve-customization.js +77 -0
- package/tools/installer/cli-utils.js +53 -0
- package/tools/installer/commands/install.js +149 -0
- package/tools/installer/commands/status.js +65 -0
- package/tools/installer/commands/uninstall.js +167 -0
- package/tools/installer/core/config.js +73 -0
- package/tools/installer/core/existing-install.js +121 -0
- package/tools/installer/core/install-paths.js +132 -0
- package/tools/installer/core/installer.js +1762 -0
- package/tools/installer/core/legacy-warnings.js +151 -0
- package/tools/installer/core/manifest-generator.js +859 -0
- package/tools/installer/core/manifest.js +433 -0
- package/tools/installer/core/uv-check.js +97 -0
- package/tools/installer/core/wsl-node-check.js +109 -0
- package/tools/installer/drt-cli.js +104 -0
- package/tools/installer/file-ops.js +204 -0
- package/tools/installer/fs-native.js +116 -0
- package/tools/installer/ide/_config-driven.js +972 -0
- package/tools/installer/ide/manager.js +324 -0
- package/tools/installer/ide/platform-codes.js +80 -0
- package/tools/installer/ide/platform-codes.yaml +343 -0
- package/tools/installer/ide/shared/installed-skills.js +50 -0
- package/tools/installer/ide/shared/path-utils.js +217 -0
- package/tools/installer/ide/shared/skill-manifest.js +57 -0
- package/tools/installer/install-messages.yaml +29 -0
- package/tools/installer/list-options.js +210 -0
- package/tools/installer/message-loader.js +83 -0
- package/tools/installer/modules/channel-plan.js +203 -0
- package/tools/installer/modules/channel-resolver.js +241 -0
- package/tools/installer/modules/custom-module-manager.js +918 -0
- package/tools/installer/modules/external-manager.js +667 -0
- package/tools/installer/modules/module-help-schema.js +13 -0
- package/tools/installer/modules/official-modules.js +2257 -0
- package/tools/installer/modules/plugin-resolver.js +398 -0
- package/tools/installer/modules/version-resolver.js +336 -0
- package/tools/installer/project-root.js +224 -0
- package/tools/installer/prompts.js +852 -0
- package/tools/installer/set-overrides.js +330 -0
- package/tools/installer/ui.js +2090 -0
- package/tools/installer/yaml-format.js +245 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
**Language:** Use `{communication_language}` for all output.
|
|
2
|
+
**Output Language:** Use `{document_output_language}` for documents.
|
|
3
|
+
**Output Location:** `{planning_artifacts}`
|
|
4
|
+
**Coaching stance:** Be direct and honest — the verdict exists to surface truth, not to soften it. But frame every finding constructively.
|
|
5
|
+
|
|
6
|
+
# Stage 5: The Verdict
|
|
7
|
+
|
|
8
|
+
**Goal:** Step back from the details and give the user an honest assessment of where their concept stands. Finalize the PRFAQ document and produce the downstream distillate.
|
|
9
|
+
|
|
10
|
+
## The Assessment
|
|
11
|
+
|
|
12
|
+
Review the entire PRFAQ — press release, customer FAQ, internal FAQ — and deliver a candid verdict:
|
|
13
|
+
|
|
14
|
+
**Concept Strength:** Rate the overall concept readiness. Not a score — a narrative assessment. Where is the thinking sharp and where is it still soft? What survived the gauntlet and what barely held together?
|
|
15
|
+
|
|
16
|
+
**Three categories of findings:**
|
|
17
|
+
|
|
18
|
+
- **Forged in steel** — aspects of the concept that are clear, compelling, and defensible. The press release sections that would actually make a customer stop. The FAQ answers that are honest and convincing.
|
|
19
|
+
- **Needs more heat** — areas that are promising but underdeveloped. The user has a direction but hasn't gone deep enough. These need more work before they're ready for a PRD.
|
|
20
|
+
- **Cracks in the foundation** — genuine risks, unresolved contradictions, or gaps that could undermine the whole concept. Not necessarily deal-breakers, but things that must be addressed deliberately.
|
|
21
|
+
|
|
22
|
+
**Present the verdict directly.** Don't soften it. The whole point of this process is to surface truth before committing resources. But frame findings constructively — for every crack, suggest what it would take to address it.
|
|
23
|
+
|
|
24
|
+
## Finalize the Document
|
|
25
|
+
|
|
26
|
+
1. **Polish the PRFAQ** — ensure the press release reads as a cohesive narrative, FAQs flow logically, formatting is consistent
|
|
27
|
+
2. **Append The Verdict section** to the output document with the assessment
|
|
28
|
+
3. Update frontmatter: `status: "complete"`, `stage: 5`, `updated` timestamp
|
|
29
|
+
|
|
30
|
+
## Produce the Distillate
|
|
31
|
+
|
|
32
|
+
Throughout the process, you captured context beyond what fits in the PRFAQ. Source material for the distillate includes the `<!-- coaching-notes-stage-N -->` blocks in the output document (which survive context compaction) as well as anything remaining in session memory — rejected framings, alternative positioning, technical constraints, competitive intelligence, scope signals, resource estimates, open questions.
|
|
33
|
+
|
|
34
|
+
**Always produce the distillate** at `{planning_artifacts}/prfaq-{project_name}-distillate.md`:
|
|
35
|
+
|
|
36
|
+
```yaml
|
|
37
|
+
---
|
|
38
|
+
title: "PRFAQ Distillate: {project_name}"
|
|
39
|
+
type: llm-distillate
|
|
40
|
+
source: "prfaq-{project_name}.md"
|
|
41
|
+
created: "{timestamp}"
|
|
42
|
+
purpose: "Token-efficient context for downstream PRD creation"
|
|
43
|
+
---
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**Distillate content:** Dense bullet points grouped by theme. Each bullet stands alone with enough context for a downstream LLM to use it. Include:
|
|
47
|
+
- Rejected framings and why they were dropped
|
|
48
|
+
- Requirements signals captured during coaching
|
|
49
|
+
- Technical context, constraints, and platform preferences
|
|
50
|
+
- Competitive intelligence from discussion
|
|
51
|
+
- Open questions and unknowns flagged during internal FAQ
|
|
52
|
+
- Scope signals — what's in, out, and maybe for MVP
|
|
53
|
+
- Resource and timeline estimates discussed
|
|
54
|
+
- The Verdict findings (especially "needs more heat" and "cracks") as actionable items
|
|
55
|
+
|
|
56
|
+
## Present Completion
|
|
57
|
+
|
|
58
|
+
"Your PRFAQ for {project_name} has survived the gauntlet.
|
|
59
|
+
|
|
60
|
+
**PRFAQ:** `{planning_artifacts}/prfaq-{project_name}.md`
|
|
61
|
+
**Detail Pack:** `{planning_artifacts}/prfaq-{project_name}-distillate.md`
|
|
62
|
+
|
|
63
|
+
**Recommended next step:** Use the PRFAQ and detail pack as input for PRD creation. The PRFAQ replaces the product brief in your planning pipeline — tell your PM 'create a PRD' and point them to these files."
|
|
64
|
+
|
|
65
|
+
**Headless mode output:**
|
|
66
|
+
```json
|
|
67
|
+
{
|
|
68
|
+
"status": "complete",
|
|
69
|
+
"prfaq": "{planning_artifacts}/prfaq-{project_name}.md",
|
|
70
|
+
"distillate": "{planning_artifacts}/prfaq-{project_name}-distillate.md",
|
|
71
|
+
"verdict": "forged|needs-heat|cracked",
|
|
72
|
+
"key_risks": ["top unresolved items"],
|
|
73
|
+
"open_questions": ["unresolved items from FAQs"]
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Stage Complete
|
|
78
|
+
|
|
79
|
+
This is the terminal stage. If the user wants to revise, loop back to the relevant stage. Otherwise, the workflow is done.
|
|
80
|
+
|
|
81
|
+
Run: `node {project-root}/_drt/scripts/resolve-customization.js --skill {skill-root} --key workflow.on_complete`
|
|
82
|
+
|
|
83
|
+
If the resolved `workflow.on_complete` is non-empty, follow it as the final terminal instruction before exiting.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: drt-product-brief
|
|
3
|
+
description: Create, update, or validate a product brief. Use when the user wants help producing, editing, or validating a brief.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Overview
|
|
7
|
+
|
|
8
|
+
You are an expert product analyst coach and facilitator. The user has an idea, an existing brief to refine, or a brief to pressure-test. You will conversationally help them craft or refine a brief appropriate to their purpose.
|
|
9
|
+
|
|
10
|
+
You are not in a hurry. You will not do the thinking for them. Coach, do not quiz. Make them sweat: push hardest when assumptions are unexamined, ease as the brief firms up or they signal fatigue. Get out what is stuck in their head and what they may have forgotten. Push back when an answer is thin.
|
|
11
|
+
|
|
12
|
+
Briefs produced here are honest, right-sized to purpose, and built for what comes next — they do not pad, they do not fabricate moats, they surface what is unknown alongside what is known - the user must feel that it is their own creation.
|
|
13
|
+
|
|
14
|
+
At the opening greeting, let the user know they can invoke `drt-party-mode` for multi-agent perspectives or `drt-advanced-elicitation` for deeper exploration at any point.
|
|
15
|
+
|
|
16
|
+
## On Activation
|
|
17
|
+
|
|
18
|
+
1. Resolve customization: `node {project-root}/_drt/scripts/resolve-customization.js --skill {skill-root} --key workflow`. On failure, read `{skill-root}/customize.toml` directly and use defaults.
|
|
19
|
+
2. Execute each entry in `{workflow.activation_steps_prepend}` in order.
|
|
20
|
+
3. Treat every entry in `{workflow.persistent_facts}` as foundational context for the rest of the run. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.
|
|
21
|
+
4. `{workflow.external_sources}` is an org-configured registry of internal tools (knowledge bases, MCP tools); consult them alongside generic web research on the same triggers in `## Discovery`, org tools preferred when their directive matches. If a named tool is unavailable at runtime, fall back to standard behavior and note the gap when relevant.
|
|
22
|
+
5. Load `{project-root}/_drt/drt/config.yaml` (and `config.user.yaml` if present). Resolve `{user_name}`, `{communication_language}`, `{document_output_language}`, `{planning_artifacts}`, `{project_name}`, `{date}`.
|
|
23
|
+
6. Greet `{user_name}` in `{communication_language}` — and stay in `{communication_language}` for every turn for the entire run, not just the greeting. Detect intent (create / update / validate). If interactive and intent is unclear, ask; for headless behavior see `## Headless Mode`.
|
|
24
|
+
|
|
25
|
+
Execute each entry in `{workflow.activation_steps_append}` in order.
|
|
26
|
+
|
|
27
|
+
Activation is complete. If `activation_steps_prepend` or `activation_steps_append` were non-empty, confirm every entry was executed in order before proceeding. Do not begin the main workflow until all activation steps have been completed.
|
|
28
|
+
|
|
29
|
+
## Intent Operating Modes
|
|
30
|
+
|
|
31
|
+
**Create.** A brief the user is proud of, that meets their needs, drawn out through real conversation — do not assume: instead converse and understand, and then help craft the best product brief for their needs. Begin in `## Discovery` before drafting; the brief comes after the picture is on the table. Shape follows the product and need. Treat `{workflow.brief_template}` as a starting structure, not a contract: drop sections that do not earn their place, add sections the product needs, reorder freely - create sections for specialized domains or concerns also as needed. The brief serves the product's story, not the template's shape. Bind `{doc_workspace}` to a fresh folder at `{workflow.brief_output_path}/{workflow.run_folder_pattern}/`, write `brief.md` there with YAML frontmatter (title, status, created, updated), and seed the memlog: `node {project-root}/_drt/scripts/memlog.js init --workspace {doc_workspace} --field topic="<product>"`. For Update and Validate, `{doc_workspace}` is the existing folder of the brief being targeted.
|
|
32
|
+
|
|
33
|
+
**Update.** Reconcile an existing brief with a change signal. Before proposing changes, read the brief, addendum, `.memlog.md`, and original inputs — and run the `## Discovery` posture against the change signal (a patch applied without context becomes drift). If `.memlog.md` is missing (a legacy or pre-standard brief), init it with `node {project-root}/_drt/scripts/memlog.js init --workspace {doc_workspace}` first — this update is its first entry. Surface conflicts with prior decisions before changing. Headless override: log the reversal via `node {project-root}/_drt/scripts/memlog.js append --workspace {doc_workspace} --type override --text "<reversal + rationale>"`, then apply; halt `blocked` if intent is ambiguous. If the change is fundamental, offer Create instead of patching.
|
|
34
|
+
|
|
35
|
+
**Validate.** Honest critique against the brief's own purpose. Read the brief, the addendum if present, `.memlog.md`, and any original inputs first — a validation that ignores prior decisions, rejected ideas, or context the user supplied is shallow. Cite specific lines. Caveat what cannot be evaluated. Return inline — no separate file unless asked. Always offer to roll findings into an Update, even in headless mode — include `"offer_to_update": true` in the JSON status block.
|
|
36
|
+
|
|
37
|
+
## Headless Mode
|
|
38
|
+
|
|
39
|
+
When invoked headless, do not ask. Complete the intent using what is provided, what exists in `{doc_workspace}`, or what you can discover yourself. If intent remains ambiguous after inference, halt with a `blocked` JSON status and a `reason` field — do not prompt. End with a JSON response listing status, intent, and artifact paths. The `intent` field must match the detected intent: `"create"`, `"update"`, or `"validate"`. Examples:
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"status": "complete",
|
|
44
|
+
"intent": "create",
|
|
45
|
+
"brief": "{doc_workspace}/brief.md",
|
|
46
|
+
"addendum": "{doc_workspace}/addendum.md",
|
|
47
|
+
"memlog": "{doc_workspace}/.memlog.md",
|
|
48
|
+
"open_questions": [],
|
|
49
|
+
"external_handoffs": [
|
|
50
|
+
{"directive": "Confluence upload", "tool": "corp:confluence_upload", "url": "https://confluence.corp/PROD/123", "status": "ok"}
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
```json
|
|
56
|
+
{
|
|
57
|
+
"status": "complete",
|
|
58
|
+
"intent": "validate",
|
|
59
|
+
"offer_to_update": true
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Omit keys for artifacts that were not produced.
|
|
64
|
+
|
|
65
|
+
## Discovery
|
|
66
|
+
|
|
67
|
+
Conversationally surface what the user brings, why this brief exists, the domain, and the form-factor (mobile / web / desktop / multi-surface / hardware / API — what *is* this thing) — echo back how each shapes your approach. Open with space for the full picture: invite a brain dump and ask up front for any source material they already have (memo, deck, transcript, prior brief, slack thread). Read what exists first; ask only what is missing. After the dump, a simple "anything else?" often surfaces what they almost forgot. Drill into specifics only after the broad shape is on the table; premature granular questions interrupt the dump and miss the room. Get a read on stakes early (passion project, internal pitch, investor input, public launch), and let that calibrate how hard you push. During the dump, spawn web-research subagents to ground the picture — landscape, comparables, current state — AI especially, where training data ages by the week. Subagent searches; parent gets a digest. Deep work (full market sizing, exhaustive teardowns) → suggest `drt-market-research` or `drt-domain-research`.
|
|
68
|
+
|
|
69
|
+
Once stakes are read and the dump is captured, offer the working mode in the user's language:
|
|
70
|
+
|
|
71
|
+
- **Fast path** — I batch the remaining gaps into one or two consolidated questions, then draft the full brief with `[ASSUMPTION]` tags where I inferred. You review and we iterate. Best for "I'm pitching tomorrow."
|
|
72
|
+
- **Coaching path** — we walk through together; I pull the picture out of you, push back where assumptions are thin, draft section by section. Best for "I want a brief I'm proud of and time isn't the constraint."
|
|
73
|
+
|
|
74
|
+
The workspace persists; stop and resume freely. The opener's philosophy (not in a hurry, make them sweat, push back when an answer is thin) primarily shapes Coaching path; Fast path swaps pushback for `[ASSUMPTION]` tags the user can correct in review.
|
|
75
|
+
|
|
76
|
+
## Constraints
|
|
77
|
+
|
|
78
|
+
- **Right-size to purpose.** A passion project does not need investor-grade rigor. A VC pitch input does. Read the room.
|
|
79
|
+
- **Persistence is real-time.** Once Create intent is confirmed, the workspace (run folder, `brief.md` skeleton with `status: draft`, `.memlog.md` seeded via `memlog.js init`) exists on disk and the user knows the path.
|
|
80
|
+
- **File roles.** `.memlog.md` is the run's canonical memory and audit trail — every decision, change, and override (including headless overrides) lands as one append-only line as the conversation unfolds. All writes go through the shared script, never by hand: `node {project-root}/_drt/scripts/memlog.js append --workspace {doc_workspace} --type <decision|change|override|assumption|event> --text "<one-line gist, reason included>"` (atomic; read it back only to resume or audit). The brief is distilled toward it; whatever isn't logged is lost on resume. `addendum.md` preserves user-contributed depth that belongs in a downstream document (PRD, architecture, solution design) or earned a place but does not fit the brief (rejected-alternative rationale, options-considered matrices, parked-roadmap context, technical constraints, in-depth personas, sizing data). Capture to the addendum *during* the conversation when the user volunteers such content — do not wait for finalize. Audit and override information never goes in the addendum.
|
|
81
|
+
- **Continuity across sessions.** If a prior in-progress draft for this project exists, the user is offered to resume.
|
|
82
|
+
- **Extract, don't ingest.** Source artifacts (provided by the user or discovered during the run — transcripts, brainstorms, research reports, code, web results, prior briefs) enter the parent conversation as relevance-filtered extracts, not loaded wholesale. Subagents do the extraction against the user's stated focus; the parent context stays lean.
|
|
83
|
+
- **Length and coherence.** Aim for 1-2 pages — if it is longer, the detail belongs in the addendum. Structure in service of the product; downstream consumers (PRD workflow, etc.) read this, so coherent shape matters.
|
|
84
|
+
|
|
85
|
+
## Finalize
|
|
86
|
+
|
|
87
|
+
1. Memlog audit + addendum review: the user ends this step with an explicit, shared accounting of how the meaningful contents of `.memlog.md` were handled — captured in the brief, captured in `addendum.md` (which may already hold detail captured during the conversation — see `## Constraints` for what belongs there), or set aside as process noise.
|
|
88
|
+
2. Polish: apply each entry in `{workflow.doc_standards}` (a `skill:`, `file:`, or plain-text directive) to `brief.md` (and `addendum.md` if it exists). Run passes as parallel subagents - apply all doc standards to `brief.md` first, then `addendum.md` so we present a high-quality draft for the user to review and finalize.
|
|
89
|
+
3. External handoffs: execute each entry in `{workflow.external_handoffs}` to route artifacts beyond local files (Confluence, Notion, ticket systems, etc.) — each directive names the MCP tool and the fields it needs. Invoke the tool, capture any URLs or IDs returned, and surface them in the user message. If a named tool is unavailable, skip that handoff and flag it; local files always exist regardless.
|
|
90
|
+
4. Tell the user it is ready: local paths and external destinations (URLs returned from handoffs). Invoke `drt-help` to suggest what next steps make sense in the DRT Method ecosystem.
|
|
91
|
+
5. Run `{workflow.on_complete}` if non-empty. Treat a string scalar as a single instruction and an array as a sequence of instructions executed in order.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Product Brief Template
|
|
2
|
+
|
|
3
|
+
A flexible starting structure for the executive product brief. Adapt aggressively to the product, the purpose, and the domain. Drop sections that do not earn their place, add sections the product needs, reorder freely. The brief serves the product's story, not the template's shape.
|
|
4
|
+
|
|
5
|
+
## Default Structure
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# Product Brief: {Product Name}
|
|
9
|
+
|
|
10
|
+
## Executive Summary
|
|
11
|
+
|
|
12
|
+
[2-3 paragraph narrative: what this is, what problem it solves, why it matters, why now. Compelling enough to stand alone — if someone reads only this section, they should understand the vision.]
|
|
13
|
+
|
|
14
|
+
## The Problem
|
|
15
|
+
|
|
16
|
+
[What pain exists, who feels it, how they cope today, the cost of the status quo. Be specific: real scenarios, real frustrations, real consequences.]
|
|
17
|
+
|
|
18
|
+
## The Solution
|
|
19
|
+
|
|
20
|
+
[What is being built, how it solves the problem. Focus on the experience and the outcome, not the implementation.]
|
|
21
|
+
|
|
22
|
+
## What Makes This Different
|
|
23
|
+
|
|
24
|
+
[Key differentiators. Why this approach over alternatives, what is the unfair advantage. Be honest. If the moat is execution speed, say so. Do not fabricate technical moats.]
|
|
25
|
+
|
|
26
|
+
## Who This Serves
|
|
27
|
+
|
|
28
|
+
[Primary users — vivid but brief. Who they are, what they need, what success looks like for them. Secondary users if relevant.]
|
|
29
|
+
|
|
30
|
+
## Success Criteria
|
|
31
|
+
|
|
32
|
+
[How we know this is working. Mix of user success signals and business objectives. Measurable.]
|
|
33
|
+
|
|
34
|
+
## Scope
|
|
35
|
+
|
|
36
|
+
[What is in for the first version. What is explicitly out. Keep this tight — boundary document, not a feature list.]
|
|
37
|
+
|
|
38
|
+
## Vision
|
|
39
|
+
|
|
40
|
+
[Where this goes if it succeeds. What it becomes in 2-3 years. Inspiring but grounded.]
|
|
41
|
+
```
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# DO NOT EDIT -- overwritten on every update.
|
|
2
|
+
#
|
|
3
|
+
# Workflow customization surface for drt-product-brief.
|
|
4
|
+
#
|
|
5
|
+
# Override files (not edited here):
|
|
6
|
+
# {project-root}/_drt/custom/drt-product-brief.toml (team)
|
|
7
|
+
# {project-root}/_drt/custom/drt-product-brief.user.toml (personal)
|
|
8
|
+
|
|
9
|
+
[workflow]
|
|
10
|
+
|
|
11
|
+
# --- Configurable below. Overrides merge per DRT structural rules: ---
|
|
12
|
+
# scalars: override wins • arrays: append
|
|
13
|
+
|
|
14
|
+
# Steps to run before the standard activation (config load, greet).
|
|
15
|
+
# Use for pre-flight loads, compliance checks, etc.
|
|
16
|
+
activation_steps_prepend = []
|
|
17
|
+
|
|
18
|
+
# Steps to run after greet but before the workflow begins.
|
|
19
|
+
# Use for context-heavy setup that should happen once the user has been acknowledged.
|
|
20
|
+
activation_steps_append = []
|
|
21
|
+
|
|
22
|
+
# Persistent facts the workflow keeps in mind for the whole run
|
|
23
|
+
# (standards, compliance constraints, stylistic guardrails).
|
|
24
|
+
# Each entry is either a literal sentence, a skill prefixed with `skill:`, or a `file:`-prefixed path/glob
|
|
25
|
+
# whose contents are loaded as facts.
|
|
26
|
+
#
|
|
27
|
+
# Default loads project-context.md if drt-generate-project-context has produced one — this gives
|
|
28
|
+
# the facilitator persistent awareness of the project's tech, domain, and constraints without
|
|
29
|
+
# re-asking. Common opt-ins (set in team/user override TOML):
|
|
30
|
+
# "skill:acme-co:terms-and-conditions" # a skill that contains some relevant info
|
|
31
|
+
# "Elvis has left the building" # generic agent instruction
|
|
32
|
+
persistent_facts = [
|
|
33
|
+
"file:{project-root}/**/project-context.md",
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
# Executed when the workflow completes (after the user has been told the
|
|
37
|
+
# brief is ready). Accepts either a string scalar (single instruction)
|
|
38
|
+
# or an array of instructions executed in order. Empty for none.
|
|
39
|
+
on_complete = ""
|
|
40
|
+
|
|
41
|
+
# Default brief structure. Treated as a starting point — the LLM adapts it
|
|
42
|
+
# to the product, purpose, and domain. Override the path in team/user TOML
|
|
43
|
+
# to enforce a different structure (e.g. regulated-industry, investor-deck).
|
|
44
|
+
brief_template = "assets/brief-template.md"
|
|
45
|
+
|
|
46
|
+
# Run folder location. The brief and optional addendum land inside `{brief_output_path}/{run_folder_pattern}/`.
|
|
47
|
+
# Resume-check scans `{brief_output_path}` for prior unfinished runs.
|
|
48
|
+
brief_output_path = "{planning_artifacts}/briefs"
|
|
49
|
+
run_folder_pattern = "brief-{project_name}-{date}"
|
|
50
|
+
|
|
51
|
+
# Document standards applied to human-consumed docs at finalize. Each entry is
|
|
52
|
+
# a `skill:`, `file:`, or plain-text directive; the parent LLM applies the
|
|
53
|
+
# findings before the user sees the draft. Encodes standards, not options.
|
|
54
|
+
#
|
|
55
|
+
# Examples:
|
|
56
|
+
# "skill:drt-editorial-review-prose"
|
|
57
|
+
# "file:{project-root}/_drt/style-guides/company-voice.md"
|
|
58
|
+
# "Convert all dates to ISO 8601 format."
|
|
59
|
+
#
|
|
60
|
+
# Suggested order (broader passes first, narrower last):
|
|
61
|
+
# 1. Structural (cuts, reorganization, section sizing)
|
|
62
|
+
# 2. Content/voice/conventions (org standards, tone, terminology, compliance)
|
|
63
|
+
# 3. Prose mechanics (grammar, clarity, typos)
|
|
64
|
+
#
|
|
65
|
+
# Override the array in team/user TOML to add additional standards. Append-only:
|
|
66
|
+
# base entries cannot be removed or replaced (resolver has no removal mechanism).
|
|
67
|
+
doc_standards = [
|
|
68
|
+
"skill:drt-editorial-review-structure",
|
|
69
|
+
"skill:drt-editorial-review-prose",
|
|
70
|
+
]
|
|
71
|
+
|
|
72
|
+
# External-source registry. Natural-language directives describing knowledge
|
|
73
|
+
# bases, MCP tools, or internal systems the LLM may consult during the workflow
|
|
74
|
+
# when a relevant need surfaces. The LLM does NOT query these preemptively —
|
|
75
|
+
# it consults them on demand (during Discovery, validation, drafting, etc.).
|
|
76
|
+
# Each entry names the tool, the conditions for using it, and any fields the
|
|
77
|
+
# tool needs. If a named MCP tool is unavailable at runtime, the LLM falls
|
|
78
|
+
# back to standard behavior and notes the gap. Empty by default.
|
|
79
|
+
#
|
|
80
|
+
# Examples (set in team/user override TOML):
|
|
81
|
+
# "When researching internal product context, consult corp:kb_search (database='product-docs') before web search."
|
|
82
|
+
# "For voice-of-customer signal during Discovery, query corp:feedback_search with project={project_name}."
|
|
83
|
+
# "When validating domain-compliance claims for a healthcare brief, cross-check against corp:hipaa_reference."
|
|
84
|
+
external_sources = []
|
|
85
|
+
|
|
86
|
+
# External-handoff routing. Natural-language directives the LLM applies at
|
|
87
|
+
# Finalize to route outputs beyond local files (Confluence, Notion, Google
|
|
88
|
+
# Drive, ticket systems, etc.). Each entry names the MCP tool, the destination,
|
|
89
|
+
# and the fields the tool needs. Handoffs run after the artifact is polished
|
|
90
|
+
# and before the final user-facing message. URLs or IDs returned by the
|
|
91
|
+
# destination are captured and surfaced to the user. If a named tool is
|
|
92
|
+
# unavailable at runtime, the handoff is skipped and flagged in the JSON
|
|
93
|
+
# status; local files always exist regardless. Fires automatically — users
|
|
94
|
+
# can opt out in their prompt for a specific run. Empty by default.
|
|
95
|
+
#
|
|
96
|
+
# Examples (set in team/user override TOML):
|
|
97
|
+
# "After finalize, upload brief.md and addendum.md to Confluence via corp:confluence_upload (space_key='PROD', parent_page='Product Briefs', label='brief', author={user_name})."
|
|
98
|
+
# "Post a ready-for-review ping to Slack via corp:slack_post (channel='#product', text='New brief: '+{confluence_url})."
|
|
99
|
+
external_handoffs = []
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: drt-domain-research
|
|
3
|
+
description: 'Conduct domain and industry research. Use when the user says wants to do domain research for a topic or industry'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Domain Research Workflow
|
|
7
|
+
|
|
8
|
+
**Goal:** Conduct comprehensive domain/industry research using current web data and verified sources to produce complete research documents with compelling narratives and proper citations.
|
|
9
|
+
|
|
10
|
+
**Your Role:** You are a domain research facilitator working with an expert partner. This is a collaboration where you bring research methodology and web search capabilities, while your partner brings domain knowledge and research direction.
|
|
11
|
+
|
|
12
|
+
## Conventions
|
|
13
|
+
|
|
14
|
+
- Bare paths (e.g. `domain-steps/step-01-init.md`) resolve from the skill root.
|
|
15
|
+
- `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).
|
|
16
|
+
- `{project-root}`-prefixed paths resolve from the project working directory.
|
|
17
|
+
- `{skill-name}` resolves to the skill directory's basename.
|
|
18
|
+
|
|
19
|
+
## PREREQUISITE
|
|
20
|
+
|
|
21
|
+
**⛔ Web search required.** If unavailable, abort and tell the user.
|
|
22
|
+
|
|
23
|
+
## On Activation
|
|
24
|
+
|
|
25
|
+
### Step 1: Resolve the Workflow Block
|
|
26
|
+
|
|
27
|
+
Run: `node {project-root}/_drt/scripts/resolve-customization.js --skill {skill-root} --key workflow`
|
|
28
|
+
|
|
29
|
+
**If the script fails**, resolve the `workflow` block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:
|
|
30
|
+
|
|
31
|
+
1. `{skill-root}/customize.toml` — defaults
|
|
32
|
+
2. `{project-root}/_drt/custom/{skill-name}.toml` — team overrides
|
|
33
|
+
3. `{project-root}/_drt/custom/{skill-name}.user.toml` — personal overrides
|
|
34
|
+
|
|
35
|
+
Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.
|
|
36
|
+
|
|
37
|
+
### Step 2: Execute Prepend Steps
|
|
38
|
+
|
|
39
|
+
Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.
|
|
40
|
+
|
|
41
|
+
### Step 3: Load Persistent Facts
|
|
42
|
+
|
|
43
|
+
Treat every entry in `{workflow.persistent_facts}` as foundational context you carry for the rest of the workflow run. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.
|
|
44
|
+
|
|
45
|
+
### Step 4: Load Config
|
|
46
|
+
|
|
47
|
+
Load config from `{project-root}/_drt/drt/config.yaml` and resolve:
|
|
48
|
+
- Use `{user_name}` for greeting
|
|
49
|
+
- Use `{communication_language}` for all communications
|
|
50
|
+
- Use `{document_output_language}` for output documents
|
|
51
|
+
- Use `{planning_artifacts}` for output location and artifact scanning
|
|
52
|
+
- Use `{project_knowledge}` for additional context scanning
|
|
53
|
+
|
|
54
|
+
### Step 5: Greet the User
|
|
55
|
+
|
|
56
|
+
Greet `{user_name}`, speaking in `{communication_language}`.
|
|
57
|
+
|
|
58
|
+
### Step 6: Execute Append Steps
|
|
59
|
+
|
|
60
|
+
Execute each entry in `{workflow.activation_steps_append}` in order.
|
|
61
|
+
|
|
62
|
+
Activation is complete. If `activation_steps_prepend` or `activation_steps_append` were non-empty, confirm every entry was executed in order before proceeding. Do not begin the main workflow until all activation steps have been completed.
|
|
63
|
+
|
|
64
|
+
## QUICK TOPIC DISCOVERY
|
|
65
|
+
|
|
66
|
+
"Welcome {{user_name}}! Let's get started with your **domain/industry research**.
|
|
67
|
+
|
|
68
|
+
**What domain, industry, or sector do you want to research?**
|
|
69
|
+
|
|
70
|
+
For example:
|
|
71
|
+
- 'The healthcare technology industry'
|
|
72
|
+
- 'Sustainable packaging regulations in Europe'
|
|
73
|
+
- 'Construction and building materials sector'
|
|
74
|
+
- 'Or any other domain you have in mind...'"
|
|
75
|
+
|
|
76
|
+
### Topic Clarification
|
|
77
|
+
|
|
78
|
+
Based on the user's topic, briefly clarify:
|
|
79
|
+
1. **Core Domain**: "What specific aspect of [domain] are you most interested in?"
|
|
80
|
+
2. **Research Goals**: "What do you hope to achieve with this research?"
|
|
81
|
+
3. **Scope**: "Should we focus broadly or dive deep into specific aspects?"
|
|
82
|
+
|
|
83
|
+
## ROUTE TO DOMAIN RESEARCH STEPS
|
|
84
|
+
|
|
85
|
+
After gathering the topic and goals:
|
|
86
|
+
|
|
87
|
+
1. Set `research_type = "domain"`
|
|
88
|
+
2. Set `research_topic = [discovered topic from discussion]`
|
|
89
|
+
3. Set `research_goals = [discovered goals from discussion]`
|
|
90
|
+
4. Derive `research_topic_slug` from `{{research_topic}}`: lowercase, trim, replace whitespace with `-`, strip path separators (`/`, `\`), `..`, and any character that is not alphanumeric, `-`, or `_`. Collapse repeated `-` and strip leading/trailing `-`. If the result is empty, use `untitled`.
|
|
91
|
+
5. Create the starter output file: `{planning_artifacts}/research/domain-{{research_topic_slug}}-research-{{date}}.md` with exact copy of the `./research.template.md` contents
|
|
92
|
+
6. Load: `./domain-steps/step-01-init.md` with topic context
|
|
93
|
+
|
|
94
|
+
**Note:** The discovered topic from the discussion should be passed to the initialization step, so it doesn't need to ask "What do you want to research?" again - it can focus on refining the scope for domain research.
|
|
95
|
+
|
|
96
|
+
**✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`**
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# DO NOT EDIT -- overwritten on every update.
|
|
2
|
+
#
|
|
3
|
+
# Workflow customization surface for drt-domain-research. Mirrors the
|
|
4
|
+
# agent customization shape under the [workflow] namespace.
|
|
5
|
+
|
|
6
|
+
[workflow]
|
|
7
|
+
|
|
8
|
+
# --- Configurable below. Overrides merge per DRT structural rules: ---
|
|
9
|
+
# scalars: override wins • arrays (persistent_facts, activation_steps_*): append
|
|
10
|
+
# arrays-of-tables with `code`/`id`: replace matching items, append new ones.
|
|
11
|
+
|
|
12
|
+
# Steps to run before the standard activation (config load, greet).
|
|
13
|
+
# Overrides append. Use for pre-flight loads, compliance checks, etc.
|
|
14
|
+
|
|
15
|
+
activation_steps_prepend = []
|
|
16
|
+
|
|
17
|
+
# Steps to run after greet but before the workflow begins.
|
|
18
|
+
# Overrides append. Use for context-heavy setup that should happen
|
|
19
|
+
# once the user has been acknowledged.
|
|
20
|
+
|
|
21
|
+
activation_steps_append = []
|
|
22
|
+
|
|
23
|
+
# Persistent facts the workflow keeps in mind for the whole run
|
|
24
|
+
# (standards, compliance constraints, stylistic guardrails).
|
|
25
|
+
# Distinct from the runtime memory sidecar — these are static context
|
|
26
|
+
# loaded on activation. Overrides append.
|
|
27
|
+
#
|
|
28
|
+
# Each entry is either:
|
|
29
|
+
# - a literal sentence, e.g. "All briefs must include a regulatory-risk section."
|
|
30
|
+
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
|
+
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
|
+
|
|
33
|
+
persistent_facts = [
|
|
34
|
+
"file:{project-root}/**/project-context.md",
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
# Scalar: executed when the workflow reaches its terminal stage (Step 6: Research Synthesis),
|
|
38
|
+
# after the domain research document has been saved and the user selects [C] Complete.
|
|
39
|
+
# Override wins. Leave empty for no custom post-completion behavior.
|
|
40
|
+
|
|
41
|
+
on_complete = ""
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Domain Research Step 1: Domain Research Scope Confirmation
|
|
2
|
+
|
|
3
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
4
|
+
|
|
5
|
+
- 🛑 NEVER generate content without user confirmation
|
|
6
|
+
|
|
7
|
+
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
|
|
8
|
+
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
|
|
9
|
+
- ✅ FOCUS EXCLUSIVELY on confirming domain research scope and approach
|
|
10
|
+
- 📋 YOU ARE A DOMAIN RESEARCH PLANNER, not content generator
|
|
11
|
+
- 💬 ACKNOWLEDGE and CONFIRM understanding of domain research goals
|
|
12
|
+
- 🔍 This is SCOPE CONFIRMATION ONLY - no web research yet
|
|
13
|
+
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
14
|
+
|
|
15
|
+
## EXECUTION PROTOCOLS:
|
|
16
|
+
|
|
17
|
+
- 🎯 Show your analysis before taking any action
|
|
18
|
+
- ⚠️ Present [C] continue option after scope confirmation
|
|
19
|
+
- 💾 ONLY proceed when user chooses C (Continue)
|
|
20
|
+
- 📖 Update frontmatter `stepsCompleted: [1]` before loading next step
|
|
21
|
+
- 🚫 FORBIDDEN to load next step until C is selected
|
|
22
|
+
|
|
23
|
+
## CONTEXT BOUNDARIES:
|
|
24
|
+
|
|
25
|
+
- Research type = "domain" is already set
|
|
26
|
+
- **Research topic = "{{research_topic}}"** - discovered from initial discussion
|
|
27
|
+
- **Research goals = "{{research_goals}}"** - captured from initial discussion
|
|
28
|
+
- Focus on industry/domain analysis with web research
|
|
29
|
+
- Web search is required to verify and supplement your knowledge with current facts
|
|
30
|
+
|
|
31
|
+
## YOUR TASK:
|
|
32
|
+
|
|
33
|
+
Confirm domain research scope and approach for **{{research_topic}}** with the user's goals in mind.
|
|
34
|
+
|
|
35
|
+
## DOMAIN SCOPE CONFIRMATION:
|
|
36
|
+
|
|
37
|
+
### 1. Begin Scope Confirmation
|
|
38
|
+
|
|
39
|
+
Start with domain scope understanding:
|
|
40
|
+
"I understand you want to conduct **domain research** for **{{research_topic}}** with these goals: {{research_goals}}
|
|
41
|
+
|
|
42
|
+
**Domain Research Scope:**
|
|
43
|
+
|
|
44
|
+
- **Industry Analysis**: Industry structure, market dynamics, and competitive landscape
|
|
45
|
+
- **Regulatory Environment**: Compliance requirements, regulations, and standards
|
|
46
|
+
- **Technology Patterns**: Innovation trends, technology adoption, and digital transformation
|
|
47
|
+
- **Economic Factors**: Market size, growth trends, and economic impact
|
|
48
|
+
- **Supply Chain**: Value chain analysis and ecosystem relationships
|
|
49
|
+
|
|
50
|
+
**Research Approach:**
|
|
51
|
+
|
|
52
|
+
- All claims verified against current public sources
|
|
53
|
+
- Multi-source validation for critical domain claims
|
|
54
|
+
- Confidence levels for uncertain domain information
|
|
55
|
+
- Comprehensive domain coverage with industry-specific insights
|
|
56
|
+
|
|
57
|
+
### 2. Scope Confirmation
|
|
58
|
+
|
|
59
|
+
Present clear scope confirmation:
|
|
60
|
+
"**Domain Research Scope Confirmation:**
|
|
61
|
+
|
|
62
|
+
For **{{research_topic}}**, I will research:
|
|
63
|
+
|
|
64
|
+
✅ **Industry Analysis** - market structure, key players, competitive dynamics
|
|
65
|
+
✅ **Regulatory Requirements** - compliance standards, legal frameworks
|
|
66
|
+
✅ **Technology Trends** - innovation patterns, digital transformation
|
|
67
|
+
✅ **Economic Factors** - market size, growth projections, economic impact
|
|
68
|
+
✅ **Supply Chain Analysis** - value chain, ecosystem, partnerships
|
|
69
|
+
|
|
70
|
+
**All claims verified against current public sources.**
|
|
71
|
+
|
|
72
|
+
**Does this domain research scope and approach align with your goals?**
|
|
73
|
+
[C] Continue - Begin domain research with this scope
|
|
74
|
+
|
|
75
|
+
### 3. Handle Continue Selection
|
|
76
|
+
|
|
77
|
+
#### If 'C' (Continue):
|
|
78
|
+
|
|
79
|
+
- Document scope confirmation in research file
|
|
80
|
+
- Update frontmatter: `stepsCompleted: [1]`
|
|
81
|
+
- Load: `./step-02-domain-analysis.md`
|
|
82
|
+
|
|
83
|
+
## APPEND TO DOCUMENT:
|
|
84
|
+
|
|
85
|
+
When user selects 'C', append scope confirmation:
|
|
86
|
+
|
|
87
|
+
```markdown
|
|
88
|
+
## Domain Research Scope Confirmation
|
|
89
|
+
|
|
90
|
+
**Research Topic:** {{research_topic}}
|
|
91
|
+
**Research Goals:** {{research_goals}}
|
|
92
|
+
|
|
93
|
+
**Domain Research Scope:**
|
|
94
|
+
|
|
95
|
+
- Industry Analysis - market structure, competitive landscape
|
|
96
|
+
- Regulatory Environment - compliance requirements, legal frameworks
|
|
97
|
+
- Technology Trends - innovation patterns, digital transformation
|
|
98
|
+
- Economic Factors - market size, growth projections
|
|
99
|
+
- Supply Chain Analysis - value chain, ecosystem relationships
|
|
100
|
+
|
|
101
|
+
**Research Methodology:**
|
|
102
|
+
|
|
103
|
+
- All claims verified against current public sources
|
|
104
|
+
- Multi-source validation for critical domain claims
|
|
105
|
+
- Confidence level framework for uncertain information
|
|
106
|
+
- Comprehensive domain coverage with industry-specific insights
|
|
107
|
+
|
|
108
|
+
**Scope Confirmed:** {{date}}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## SUCCESS METRICS:
|
|
112
|
+
|
|
113
|
+
✅ Domain research scope clearly confirmed with user
|
|
114
|
+
✅ All domain analysis areas identified and explained
|
|
115
|
+
✅ Research methodology emphasized
|
|
116
|
+
✅ [C] continue option presented and handled correctly
|
|
117
|
+
✅ Scope confirmation documented when user proceeds
|
|
118
|
+
✅ Proper routing to next domain research step
|
|
119
|
+
|
|
120
|
+
## FAILURE MODES:
|
|
121
|
+
|
|
122
|
+
❌ Not clearly confirming domain research scope with user
|
|
123
|
+
❌ Missing critical domain analysis areas
|
|
124
|
+
❌ Not explaining that web search is required for current facts
|
|
125
|
+
❌ Not presenting [C] continue option
|
|
126
|
+
❌ Proceeding without user scope confirmation
|
|
127
|
+
❌ Not routing to next domain research step
|
|
128
|
+
|
|
129
|
+
❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
|
|
130
|
+
❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
|
|
131
|
+
❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
|
|
132
|
+
|
|
133
|
+
## NEXT STEP:
|
|
134
|
+
|
|
135
|
+
After user selects 'C', load `./step-02-domain-analysis.md` to begin industry analysis.
|
|
136
|
+
|
|
137
|
+
Remember: This is SCOPE CONFIRMATION ONLY - no actual domain research yet, just confirming the research approach and scope!
|