@zeyue0329/xiaoma-cli 1.6.5 → 1.8.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/README.md +13 -13
- package/package.json +5 -13
- package/pipeline-optimization-report.md +455 -0
- package/src/core/module-help.csv +7 -6
- package/src/core/skills/xiaoma-advanced-elicitation/SKILL.md +6 -0
- package/src/core/{workflows/advanced-elicitation → skills/xiaoma-advanced-elicitation}/workflow.md +6 -9
- package/src/core/skills/xiaoma-brainstorming/SKILL.md +6 -0
- package/src/core/{workflows/brainstorming → skills/xiaoma-brainstorming}/steps/step-01-session-setup.md +5 -1
- package/src/core/{workflows/brainstorming → skills/xiaoma-brainstorming}/steps/step-01b-continue.md +3 -1
- package/src/core/{workflows/brainstorming → skills/xiaoma-brainstorming}/steps/step-02a-user-selected.md +5 -1
- package/src/core/{workflows/brainstorming → skills/xiaoma-brainstorming}/steps/step-02b-ai-recommended.md +3 -1
- package/src/core/{workflows/brainstorming → skills/xiaoma-brainstorming}/steps/step-02c-random-selection.md +3 -1
- package/src/core/{workflows/brainstorming → skills/xiaoma-brainstorming}/steps/step-02d-progressive-flow.md +3 -1
- package/src/core/{workflows/brainstorming → skills/xiaoma-brainstorming}/steps/step-03-technique-execution.md +4 -2
- package/src/core/{workflows/brainstorming → skills/xiaoma-brainstorming}/steps/step-04-idea-organization.md +2 -0
- package/src/core/{workflows/brainstorming → skills/xiaoma-brainstorming}/workflow.md +1 -8
- package/src/core/skills/xiaoma-distillator/SKILL.md +178 -0
- package/src/core/skills/xiaoma-distillator/agents/distillate-compressor.md +116 -0
- package/src/core/skills/xiaoma-distillator/agents/round-trip-reconstructor.md +68 -0
- package/src/core/skills/xiaoma-distillator/resources/compression-rules.md +51 -0
- package/src/core/skills/xiaoma-distillator/resources/distillate-format-reference.md +227 -0
- package/src/core/skills/xiaoma-distillator/resources/splitting-strategy.md +78 -0
- package/src/core/skills/xiaoma-distillator/scripts/analyze_sources.py +300 -0
- package/src/core/skills/xiaoma-distillator/scripts/tests/test_analyze_sources.py +204 -0
- package/src/core/skills/xiaoma-distillator/xiaoma-skill-manifest.yaml +15 -0
- package/src/core/skills/xiaoma-editorial-review-prose/SKILL.md +6 -0
- package/src/core/skills/xiaoma-editorial-review-prose/workflow.md +81 -0
- package/src/core/skills/xiaoma-editorial-review-structure/SKILL.md +6 -0
- package/src/core/skills/xiaoma-editorial-review-structure/workflow.md +174 -0
- package/src/core/skills/xiaoma-editorial-review-structure/xiaoma-skill-manifest.yaml +1 -0
- package/src/core/skills/xiaoma-help/SKILL.md +6 -0
- package/src/core/{tasks → skills}/xiaoma-help/workflow.md +5 -5
- package/src/core/skills/xiaoma-help/xiaoma-skill-manifest.yaml +1 -0
- package/src/core/skills/xiaoma-index-docs/SKILL.md +6 -0
- package/src/core/skills/xiaoma-index-docs/workflow.md +61 -0
- package/src/core/skills/xiaoma-index-docs/xiaoma-skill-manifest.yaml +1 -0
- package/src/core/skills/xiaoma-party-mode/SKILL.md +6 -0
- package/src/core/{workflows/party-mode → skills/xiaoma-party-mode}/steps/step-03-graceful-exit.md +0 -1
- package/src/core/{workflows/party-mode → skills/xiaoma-party-mode}/workflow.md +0 -4
- package/src/core/skills/xiaoma-party-mode/xiaoma-skill-manifest.yaml +1 -0
- package/src/core/{tasks → skills}/xiaoma-review-adversarial-general/SKILL.md +1 -1
- package/src/core/skills/xiaoma-review-adversarial-general/xiaoma-skill-manifest.yaml +1 -0
- package/src/core/{tasks → skills}/xiaoma-review-edge-case-hunter/SKILL.md +2 -2
- package/src/core/skills/xiaoma-review-edge-case-hunter/xiaoma-skill-manifest.yaml +1 -0
- package/src/core/skills/xiaoma-shard-doc/SKILL.md +6 -0
- package/src/core/skills/xiaoma-shard-doc/workflow.md +100 -0
- package/src/core/skills/xiaoma-shard-doc/xiaoma-skill-manifest.yaml +1 -0
- package/src/core/tasks/xiaoma-create-prd/SKILL.md +6 -0
- package/src/core/tasks/xiaoma-create-prd/data/domain-complexity.csv +15 -0
- package/src/core/tasks/xiaoma-create-prd/data/prd-purpose.md +197 -0
- package/src/core/tasks/xiaoma-create-prd/data/project-types.csv +11 -0
- package/src/{xmc/workflows/2-plan-workflows/create-prd → core/tasks/xiaoma-create-prd}/steps-c/step-01-init.md +7 -20
- package/src/{xmc/workflows/2-plan-workflows/create-prd → core/tasks/xiaoma-create-prd}/steps-c/step-01b-continue.md +29 -20
- package/src/{xmc/workflows/2-plan-workflows/create-prd → core/tasks/xiaoma-create-prd}/steps-c/step-02-discovery.md +7 -23
- package/src/{xmc/workflows/2-plan-workflows/create-prd → core/tasks/xiaoma-create-prd}/steps-c/step-02b-vision.md +5 -17
- package/src/{xmc/workflows/2-plan-workflows/create-prd → core/tasks/xiaoma-create-prd}/steps-c/step-02c-executive-summary.md +5 -17
- package/src/{xmc/workflows/2-plan-workflows/create-prd → core/tasks/xiaoma-create-prd}/steps-c/step-03-success.md +5 -17
- package/src/{xmc/workflows/2-plan-workflows/create-prd → core/tasks/xiaoma-create-prd}/steps-c/step-04-journeys.md +5 -17
- package/src/{xmc/workflows/2-plan-workflows/create-prd → core/tasks/xiaoma-create-prd}/steps-c/step-05-domain.md +7 -20
- package/src/{xmc/workflows/2-plan-workflows/create-prd → core/tasks/xiaoma-create-prd}/steps-c/step-06-innovation.md +8 -23
- package/src/{xmc/workflows/2-plan-workflows/create-prd → core/tasks/xiaoma-create-prd}/steps-c/step-07-project-type.md +6 -21
- package/src/{xmc/workflows/2-plan-workflows/create-prd → core/tasks/xiaoma-create-prd}/steps-c/step-08-scoping.md +5 -17
- package/src/{xmc/workflows/2-plan-workflows/create-prd → core/tasks/xiaoma-create-prd}/steps-c/step-09-functional.md +5 -17
- package/src/{xmc/workflows/2-plan-workflows/create-prd → core/tasks/xiaoma-create-prd}/steps-c/step-10-nonfunctional.md +5 -17
- package/src/{xmc/workflows/2-plan-workflows/create-prd → core/tasks/xiaoma-create-prd}/steps-c/step-11-polish.md +23 -19
- package/src/{xmc/workflows/2-plan-workflows/create-prd → core/tasks/xiaoma-create-prd}/steps-c/step-12-complete.md +3 -12
- package/src/{xmc/workflows/2-plan-workflows/create-prd/workflow-create-prd.md → core/tasks/xiaoma-create-prd/workflow.md} +3 -4
- package/src/core/tasks/xiaoma-create-prd/xiaoma-skill-manifest.yaml +1 -0
- package/src/utility/agent-components/activation-steps.txt +2 -2
- package/src/xmc/agents/analyst.agent.yaml +10 -6
- package/src/xmc/agents/architect.agent.yaml +2 -2
- package/src/xmc/agents/dev.agent.yaml +2 -2
- package/src/xmc/agents/pm.agent.yaml +6 -6
- package/src/xmc/agents/qa.agent.yaml +1 -1
- package/src/xmc/agents/quick-flow-solo-dev.agent.yaml +3 -3
- package/src/xmc/agents/sm.agent.yaml +8 -4
- package/src/xmc/agents/tech-writer/tech-writer.agent.yaml +1 -1
- package/src/xmc/agents/ux-designer.agent.yaml +1 -1
- package/src/xmc/module-help.csv +25 -25
- package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/SKILL.md +6 -0
- package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/checklist.md +28 -0
- package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-01-init-and-validate.md +102 -0
- package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-02-requirements-analysis.md +146 -0
- package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-03-architecture-analysis.md +141 -0
- package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-04-create-prd.md +101 -0
- package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-05-validate-prd.md +106 -0
- package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-06-create-epics.md +104 -0
- package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-07-create-architecture.md +107 -0
- package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/steps/step-08-finalize.md +124 -0
- package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/workflow.md +107 -0
- package/src/xmc/workflows/1-analysis/auto-requirements-pipeline/xiaoma-skill-manifest.yaml +3 -0
- package/src/xmc/workflows/1-analysis/research/xiaoma-domain-research/SKILL.md +6 -0
- package/src/xmc/workflows/1-analysis/research/{domain-steps → xiaoma-domain-research/domain-steps}/step-01-init.md +2 -2
- package/src/xmc/workflows/1-analysis/research/{domain-steps → xiaoma-domain-research/domain-steps}/step-02-domain-analysis.md +2 -2
- package/src/xmc/workflows/1-analysis/research/{domain-steps → xiaoma-domain-research/domain-steps}/step-03-competitive-landscape.md +2 -2
- package/src/xmc/workflows/1-analysis/research/{domain-steps → xiaoma-domain-research/domain-steps}/step-04-regulatory-focus.md +2 -2
- package/src/xmc/workflows/1-analysis/research/{domain-steps → xiaoma-domain-research/domain-steps}/step-05-technical-trends.md +1 -1
- package/src/xmc/workflows/1-analysis/research/xiaoma-domain-research/research.template.md +29 -0
- package/src/xmc/workflows/1-analysis/research/{workflow-domain-research.md → xiaoma-domain-research/workflow.md} +0 -5
- package/src/xmc/workflows/1-analysis/research/xiaoma-domain-research/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/SKILL.md +6 -0
- package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/research.template.md +29 -0
- package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/steps/step-01-init.md +184 -0
- package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/steps/step-02-customer-behavior.md +239 -0
- package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/steps/step-03-customer-pain-points.md +251 -0
- package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/steps/step-04-customer-decisions.md +261 -0
- package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/steps/step-05-competitive-analysis.md +173 -0
- package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/steps/step-06-research-completion.md +478 -0
- package/src/xmc/workflows/1-analysis/research/{workflow-market-research.md → xiaoma-market-research/workflow.md} +1 -6
- package/src/xmc/workflows/1-analysis/research/xiaoma-market-research/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/1-analysis/research/xiaoma-technical-research/SKILL.md +6 -0
- package/src/xmc/workflows/1-analysis/research/xiaoma-technical-research/research.template.md +29 -0
- package/src/xmc/workflows/1-analysis/research/{technical-steps → xiaoma-technical-research/technical-steps}/step-01-init.md +2 -2
- package/src/xmc/workflows/1-analysis/research/{technical-steps → xiaoma-technical-research/technical-steps}/step-02-technical-overview.md +2 -2
- package/src/xmc/workflows/1-analysis/research/{technical-steps → xiaoma-technical-research/technical-steps}/step-03-integration-patterns.md +2 -2
- package/src/xmc/workflows/1-analysis/research/{technical-steps → xiaoma-technical-research/technical-steps}/step-04-architectural-patterns.md +2 -2
- package/src/xmc/workflows/1-analysis/research/{technical-steps → xiaoma-technical-research/technical-steps}/step-05-implementation-research.md +2 -2
- package/src/xmc/workflows/1-analysis/research/{workflow-technical-research.md → xiaoma-technical-research/workflow.md} +0 -4
- package/src/xmc/workflows/1-analysis/research/xiaoma-technical-research/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/1-analysis/xiaoma-create-product-brief/SKILL.md +6 -0
- package/src/xmc/workflows/1-analysis/{create-product-brief → xiaoma-create-product-brief}/product-brief.template.md +2 -2
- package/src/xmc/workflows/1-analysis/{create-product-brief → xiaoma-create-product-brief}/steps/step-01-init.md +5 -12
- package/src/xmc/workflows/1-analysis/{create-product-brief → xiaoma-create-product-brief}/steps/step-01b-continue.md +3 -6
- package/src/xmc/workflows/1-analysis/{create-product-brief → xiaoma-create-product-brief}/steps/step-02-vision.md +5 -11
- package/src/xmc/workflows/1-analysis/{create-product-brief → xiaoma-create-product-brief}/steps/step-03-users.md +5 -11
- package/src/xmc/workflows/1-analysis/{create-product-brief → xiaoma-create-product-brief}/steps/step-04-metrics.md +5 -11
- package/src/xmc/workflows/1-analysis/{create-product-brief → xiaoma-create-product-brief}/steps/step-05-scope.md +5 -11
- package/src/xmc/workflows/1-analysis/{create-product-brief → xiaoma-create-product-brief}/steps/step-06-complete.md +0 -3
- package/src/xmc/workflows/1-analysis/{create-product-brief → xiaoma-create-product-brief}/workflow.md +4 -6
- package/src/xmc/workflows/1-analysis/xiaoma-create-product-brief/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/SKILL.md +88 -0
- package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/agents/artifact-analyzer.md +60 -0
- package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/agents/opportunity-reviewer.md +44 -0
- package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/agents/skeptic-reviewer.md +44 -0
- package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/agents/web-researcher.md +49 -0
- package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/prompts/contextual-discovery.md +57 -0
- package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/prompts/draft-and-review.md +86 -0
- package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/prompts/finalize.md +75 -0
- package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/prompts/guided-elicitation.md +70 -0
- package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/resources/brief-template.md +60 -0
- package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/xiaoma-manifest.json +17 -0
- package/src/xmc/workflows/1-analysis/xiaoma-product-brief-preview/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +2 -4
- package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +1 -1
- package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +3 -3
- package/src/xmc/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +2 -1
- package/src/xmc/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +2 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/SKILL.md +6 -0
- package/src/xmc/workflows/2-plan-workflows/{create-ux-design → xiaoma-create-ux-design}/steps/step-01-init.md +4 -4
- package/src/xmc/workflows/2-plan-workflows/{create-ux-design → xiaoma-create-ux-design}/steps/step-01b-continue.md +4 -4
- package/src/xmc/workflows/2-plan-workflows/{create-ux-design → xiaoma-create-ux-design}/steps/step-02-discovery.md +4 -4
- package/src/xmc/workflows/2-plan-workflows/{create-ux-design → xiaoma-create-ux-design}/steps/step-03-core-experience.md +7 -6
- package/src/xmc/workflows/2-plan-workflows/{create-ux-design → xiaoma-create-ux-design}/steps/step-04-emotional-response.md +7 -6
- package/src/xmc/workflows/2-plan-workflows/{create-ux-design → xiaoma-create-ux-design}/steps/step-05-inspiration.md +7 -6
- package/src/xmc/workflows/2-plan-workflows/{create-ux-design → xiaoma-create-ux-design}/steps/step-06-design-system.md +7 -6
- package/src/xmc/workflows/2-plan-workflows/{create-ux-design → xiaoma-create-ux-design}/steps/step-07-defining-experience.md +7 -6
- package/src/xmc/workflows/2-plan-workflows/{create-ux-design → xiaoma-create-ux-design}/steps/step-08-visual-foundation.md +7 -6
- package/src/xmc/workflows/2-plan-workflows/{create-ux-design → xiaoma-create-ux-design}/steps/step-09-design-directions.md +7 -6
- package/src/xmc/workflows/2-plan-workflows/{create-ux-design → xiaoma-create-ux-design}/steps/step-10-user-journeys.md +7 -6
- package/src/xmc/workflows/2-plan-workflows/{create-ux-design → xiaoma-create-ux-design}/steps/step-11-component-strategy.md +7 -6
- package/src/xmc/workflows/2-plan-workflows/{create-ux-design → xiaoma-create-ux-design}/steps/step-12-ux-patterns.md +7 -6
- package/src/xmc/workflows/2-plan-workflows/{create-ux-design → xiaoma-create-ux-design}/steps/step-13-responsive-accessibility.md +7 -6
- package/src/xmc/workflows/2-plan-workflows/{create-ux-design → xiaoma-create-ux-design}/steps/step-14-complete.md +2 -2
- package/src/xmc/workflows/2-plan-workflows/{create-ux-design → xiaoma-create-ux-design}/workflow.md +2 -8
- package/src/xmc/workflows/2-plan-workflows/xiaoma-create-ux-design/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-edit-prd/SKILL.md +6 -0
- package/src/xmc/workflows/2-plan-workflows/{create-prd → xiaoma-edit-prd}/steps-e/step-e-01-discovery.md +3 -8
- package/src/xmc/workflows/2-plan-workflows/{create-prd → xiaoma-edit-prd}/steps-e/step-e-01b-legacy-conversion.md +1 -5
- package/src/xmc/workflows/2-plan-workflows/{create-prd → xiaoma-edit-prd}/steps-e/step-e-02-review.md +5 -9
- package/src/xmc/workflows/2-plan-workflows/{create-prd → xiaoma-edit-prd}/steps-e/step-e-03-edit.md +3 -6
- package/src/xmc/workflows/2-plan-workflows/{create-prd → xiaoma-edit-prd}/steps-e/step-e-04-complete.md +2 -5
- package/src/xmc/workflows/2-plan-workflows/{create-prd/workflow-edit-prd.md → xiaoma-edit-prd/workflow.md} +2 -4
- package/src/xmc/workflows/2-plan-workflows/xiaoma-edit-prd/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/SKILL.md +6 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/data/domain-complexity.csv +15 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/data/prd-purpose.md +197 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/data/project-types.csv +11 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-01-discovery.md +221 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-02-format-detection.md +188 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-02b-parity-check.md +206 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-03-density-validation.md +171 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +211 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-05-measurability-validation.md +225 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-06-traceability-validation.md +214 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +202 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +240 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-09-project-type-validation.md +260 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-10-smart-validation.md +206 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +261 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-12-completeness-validation.md +239 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/steps-v/step-v-13-report-complete.md +229 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/workflow.md +62 -0
- package/src/xmc/workflows/2-plan-workflows/xiaoma-validate-prd/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/3-solutioning/xiaoma-check-implementation-readiness/SKILL.md +6 -0
- package/src/xmc/workflows/3-solutioning/{check-implementation-readiness → xiaoma-check-implementation-readiness}/steps/step-01-document-discovery.md +3 -8
- package/src/xmc/workflows/3-solutioning/{check-implementation-readiness → xiaoma-check-implementation-readiness}/steps/step-02-prd-analysis.md +1 -5
- package/src/xmc/workflows/3-solutioning/{check-implementation-readiness → xiaoma-check-implementation-readiness}/steps/step-03-epic-coverage-validation.md +1 -5
- package/src/xmc/workflows/3-solutioning/{check-implementation-readiness → xiaoma-check-implementation-readiness}/steps/step-04-ux-alignment.md +1 -5
- package/src/xmc/workflows/3-solutioning/{check-implementation-readiness → xiaoma-check-implementation-readiness}/steps/step-05-epic-quality-review.md +2 -6
- package/src/xmc/workflows/3-solutioning/{check-implementation-readiness → xiaoma-check-implementation-readiness}/steps/step-06-final-assessment.md +0 -3
- package/src/xmc/workflows/3-solutioning/{check-implementation-readiness → xiaoma-check-implementation-readiness}/workflow.md +0 -5
- package/src/xmc/workflows/3-solutioning/xiaoma-check-implementation-readiness/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/3-solutioning/xiaoma-create-architecture/SKILL.md +6 -0
- package/src/xmc/workflows/3-solutioning/{create-architecture → xiaoma-create-architecture}/steps/step-01-init.md +6 -6
- package/src/xmc/workflows/3-solutioning/{create-architecture → xiaoma-create-architecture}/steps/step-01b-continue.md +9 -9
- package/src/xmc/workflows/3-solutioning/{create-architecture → xiaoma-create-architecture}/steps/step-02-context.md +6 -6
- package/src/xmc/workflows/3-solutioning/{create-architecture → xiaoma-create-architecture}/steps/step-03-starter.md +6 -6
- package/src/xmc/workflows/3-solutioning/{create-architecture → xiaoma-create-architecture}/steps/step-04-decisions.md +6 -6
- package/src/xmc/workflows/3-solutioning/{create-architecture → xiaoma-create-architecture}/steps/step-05-patterns.md +6 -6
- package/src/xmc/workflows/3-solutioning/{create-architecture → xiaoma-create-architecture}/steps/step-06-structure.md +6 -6
- package/src/xmc/workflows/3-solutioning/{create-architecture → xiaoma-create-architecture}/steps/step-07-validation.md +6 -6
- package/src/xmc/workflows/3-solutioning/{create-architecture → xiaoma-create-architecture}/workflow.md +1 -12
- package/src/xmc/workflows/3-solutioning/xiaoma-create-architecture/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/3-solutioning/xiaoma-create-epics-and-stories/SKILL.md +6 -0
- package/src/xmc/workflows/3-solutioning/{create-epics-and-stories → xiaoma-create-epics-and-stories}/steps/step-01-validate-prerequisites.md +37 -41
- package/src/xmc/workflows/3-solutioning/{create-epics-and-stories → xiaoma-create-epics-and-stories}/steps/step-02-design-epics.md +7 -28
- package/src/xmc/workflows/3-solutioning/{create-epics-and-stories → xiaoma-create-epics-and-stories}/steps/step-03-create-stories.md +13 -30
- package/src/xmc/workflows/3-solutioning/{create-epics-and-stories → xiaoma-create-epics-and-stories}/steps/step-04-final-validation.md +2 -20
- package/src/xmc/workflows/3-solutioning/{create-epics-and-stories → xiaoma-create-epics-and-stories}/templates/epics-template.md +4 -0
- package/src/xmc/workflows/3-solutioning/{create-epics-and-stories → xiaoma-create-epics-and-stories}/workflow.md +1 -6
- package/src/xmc/workflows/3-solutioning/xiaoma-create-epics-and-stories/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/4-implementation/auto-story-pipeline/SKILL.md +6 -0
- package/src/xmc/workflows/4-implementation/auto-story-pipeline/checklist.md +22 -0
- package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-01-init-and-validate.md +163 -0
- package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-02-create-story.md +92 -0
- package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-03-validate-story.md +105 -0
- package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-04-develop-story.md +90 -0
- package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-05-code-review.md +95 -0
- package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-06-test-story.md +144 -0
- package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-07-fix-and-retest.md +128 -0
- package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-08-complete-story.md +115 -0
- package/src/xmc/workflows/4-implementation/auto-story-pipeline/steps/step-09-cycle-check.md +144 -0
- package/src/xmc/workflows/4-implementation/auto-story-pipeline/workflow.md +92 -0
- package/src/xmc/workflows/4-implementation/auto-story-pipeline/xiaoma-skill-manifest.yaml +3 -0
- package/src/xmc/workflows/4-implementation/xiaoma-code-review/SKILL.md +6 -0
- package/src/xmc/workflows/4-implementation/xiaoma-code-review/steps/step-01-gather-context.md +61 -0
- package/src/xmc/workflows/4-implementation/xiaoma-code-review/steps/step-02-review.md +41 -0
- package/src/xmc/workflows/4-implementation/xiaoma-code-review/steps/step-03-triage.md +50 -0
- package/src/xmc/workflows/4-implementation/xiaoma-code-review/steps/step-04-present.md +38 -0
- package/src/xmc/workflows/4-implementation/xiaoma-code-review/workflow.md +54 -0
- package/src/xmc/workflows/4-implementation/xiaoma-code-review/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/4-implementation/xiaoma-correct-course/SKILL.md +6 -0
- package/src/xmc/workflows/4-implementation/{correct-course → xiaoma-correct-course}/checklist.md +1 -1
- package/src/xmc/workflows/4-implementation/{correct-course → xiaoma-correct-course}/workflow.md +3 -10
- package/src/xmc/workflows/4-implementation/xiaoma-correct-course/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/4-implementation/xiaoma-create-story/SKILL.md +6 -0
- package/src/xmc/workflows/4-implementation/{create-story → xiaoma-create-story}/checklist.md +2 -2
- package/src/xmc/workflows/4-implementation/{create-story → xiaoma-create-story}/workflow.md +3 -11
- package/src/xmc/workflows/4-implementation/xiaoma-create-story/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/4-implementation/xiaoma-dev-story/SKILL.md +6 -0
- package/src/xmc/workflows/4-implementation/{dev-story → xiaoma-dev-story}/workflow.md +0 -7
- package/src/xmc/workflows/4-implementation/xiaoma-dev-story/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/4-implementation/xiaoma-retrospective/SKILL.md +6 -0
- package/src/xmc/workflows/4-implementation/{retrospective → xiaoma-retrospective}/workflow.md +0 -6
- package/src/xmc/workflows/4-implementation/xiaoma-retrospective/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/4-implementation/xiaoma-sprint-planning/SKILL.md +6 -0
- package/src/xmc/workflows/4-implementation/{sprint-planning → xiaoma-sprint-planning}/workflow.md +0 -8
- package/src/xmc/workflows/4-implementation/xiaoma-sprint-planning/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/4-implementation/xiaoma-sprint-status/SKILL.md +6 -0
- package/src/xmc/workflows/4-implementation/{sprint-status → xiaoma-sprint-status}/workflow.md +0 -6
- package/src/xmc/workflows/4-implementation/xiaoma-sprint-status/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/xiaoma-document-project/SKILL.md +6 -0
- package/src/xmc/workflows/{document-project → xiaoma-document-project}/instructions.md +6 -6
- package/src/xmc/workflows/xiaoma-document-project/workflow.md +27 -0
- package/src/xmc/workflows/{document-project → xiaoma-document-project}/workflows/deep-dive-instructions.md +3 -1
- package/src/xmc/workflows/{document-project → xiaoma-document-project}/workflows/deep-dive-workflow.md +4 -12
- package/src/xmc/workflows/{document-project → xiaoma-document-project}/workflows/full-scan-instructions.md +5 -3
- package/src/xmc/workflows/{document-project → xiaoma-document-project}/workflows/full-scan-workflow.md +4 -12
- package/src/xmc/workflows/xiaoma-document-project/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/xiaoma-generate-project-context/SKILL.md +6 -0
- package/src/xmc/workflows/{generate-project-context → xiaoma-generate-project-context}/steps/step-01-discover.md +4 -2
- package/src/xmc/workflows/{generate-project-context → xiaoma-generate-project-context}/steps/step-02-generate.md +8 -5
- package/src/xmc/workflows/{generate-project-context → xiaoma-generate-project-context}/workflow.md +2 -8
- package/src/xmc/workflows/xiaoma-generate-project-context/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/xiaoma-qa-generate-e2e-tests/SKILL.md +6 -0
- package/src/xmc/workflows/{qa-generate-e2e-tests → xiaoma-qa-generate-e2e-tests}/workflow.md +2 -9
- package/src/xmc/workflows/xiaoma-qa-generate-e2e-tests/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev/SKILL.md +6 -0
- package/src/xmc/workflows/xiaoma-quick-flow/{quick-dev → xiaoma-quick-dev}/steps/step-01-mode-detection.md +9 -14
- package/src/xmc/workflows/xiaoma-quick-flow/{quick-dev → xiaoma-quick-dev}/steps/step-02-context-gathering.md +1 -5
- package/src/xmc/workflows/xiaoma-quick-flow/{quick-dev → xiaoma-quick-dev}/steps/step-03-execute.md +1 -5
- package/src/xmc/workflows/xiaoma-quick-flow/{quick-dev → xiaoma-quick-dev}/steps/step-04-self-check.md +1 -5
- package/src/xmc/workflows/xiaoma-quick-flow/{quick-dev → xiaoma-quick-dev}/steps/step-05-adversarial-review.md +1 -5
- package/src/xmc/workflows/xiaoma-quick-flow/{quick-dev → xiaoma-quick-dev}/steps/step-06-resolve-findings.md +0 -2
- package/src/xmc/workflows/xiaoma-quick-flow/{quick-dev → xiaoma-quick-dev}/workflow.md +1 -13
- package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev/xiaoma-skill-manifest.yaml +1 -0
- package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/SKILL.md +2 -2
- package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/steps/step-01-clarify-and-route.md +2 -5
- package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/steps/step-02-plan.md +2 -6
- package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/steps/step-03-implement.md +1 -3
- package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/steps/step-04-review.md +3 -8
- package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/steps/step-05-present.md +2 -4
- package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-dev-new-preview/workflow.md +0 -5
- package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-spec/SKILL.md +6 -0
- package/src/xmc/workflows/xiaoma-quick-flow/{quick-spec → xiaoma-quick-spec}/steps/step-01-understand.md +7 -11
- package/src/xmc/workflows/xiaoma-quick-flow/{quick-spec → xiaoma-quick-spec}/steps/step-02-investigate.md +3 -6
- package/src/xmc/workflows/xiaoma-quick-flow/{quick-spec → xiaoma-quick-spec}/steps/step-03-generate.md +1 -4
- package/src/xmc/workflows/xiaoma-quick-flow/{quick-spec → xiaoma-quick-spec}/steps/step-04-review.md +5 -8
- package/src/xmc/workflows/xiaoma-quick-flow/{quick-spec → xiaoma-quick-spec}/workflow.md +1 -7
- package/src/xmc/workflows/xiaoma-quick-flow/xiaoma-quick-spec/xiaoma-skill-manifest.yaml +1 -0
- package/tools/cli/external-official-modules.yaml +2 -54
- package/tools/cli/installers/install-messages.yaml +2 -2
- package/tools/cli/installers/lib/core/config-collector.js +1 -1
- package/tools/cli/installers/lib/core/detector.js +1 -1
- package/tools/cli/installers/lib/core/installer.js +30 -13
- package/tools/cli/installers/lib/core/manifest-generator.js +4 -4
- package/tools/cli/installers/lib/core/manifest.js +6 -4
- package/tools/cli/installers/lib/custom/handler.js +2 -2
- package/tools/cli/installers/lib/ide/_base-ide.js +1 -2
- package/tools/cli/installers/lib/ide/_config-driven.js +11 -6
- package/tools/cli/installers/lib/ide/manager.js +8 -8
- package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +2 -2
- package/tools/cli/installers/lib/ide/shared/skill-manifest.js +2 -2
- package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +5 -5
- package/tools/cli/installers/lib/ide/shared/xiaoma-artifacts.js +4 -4
- package/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +5 -5
- package/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml +4 -4
- package/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml +4 -4
- package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +3 -3
- package/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +3 -3
- package/tools/cli/installers/lib/modules/manager.js +8 -8
- package/tools/cli/lib/agent/compiler.js +1 -1
- package/tools/cli/lib/agent/installer.js +4 -4
- package/tools/cli/lib/agent-party-generator.js +1 -1
- package/tools/cli/lib/ui.js +37 -17
- package/tools/cli/lib/yaml-format.js +1 -1
- package/tools/cli/xiaoma-cli.js +0 -0
- package/tools/xiaoma-npx-wrapper.js +0 -0
- package/.github/workflows/quality.yaml +0 -116
- package/.husky/pre-commit +0 -26
- package/.idea/codeStyles/Project.xml +0 -60
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/inspectionProfiles/Project_Default.xml +0 -6
- package/.idea/jsLibraryMappings.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/prettier.xml +0 -6
- package/.idea/vcs.xml +0 -6
- package/.idea/workspace.xml +0 -133
- package/.markdownlint-cli2.yaml +0 -41
- package/.prettierignore +0 -12
- package/.vscode/settings.json +0 -96
- package/XIAOMA-CLI-GUIDE.md +0 -512
- package/XiaoMa-Cli.iml +0 -9
- package/custom/src/agents/commit-poet/commit-poet.agent.yaml +0 -129
- package/custom/src/agents/commit-poet/installation-guide.md +0 -36
- package/custom/src/agents/toolsmith/installation-guide.md +0 -36
- package/custom/src/agents/toolsmith/toolsmith-sidecar/instructions.md +0 -70
- package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/bundlers.md +0 -111
- package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/deploy.md +0 -70
- package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/docs.md +0 -114
- package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md +0 -134
- package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md +0 -160
- package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/tests.md +0 -103
- package/custom/src/agents/toolsmith/toolsmith-sidecar/memories.md +0 -17
- package/custom/src/agents/toolsmith/toolsmith.agent.yaml +0 -108
- package/docs/BUNDLE_DISTRIBUTION_SETUP.md +0 -95
- package/docs/agent-customization-guide.md +0 -208
- package/docs/custom-agent-installation.md +0 -183
- package/docs/document-sharding-guide.md +0 -449
- package/docs/explanation/advanced-elicitation.md +0 -49
- package/docs/explanation/adversarial-review.md +0 -59
- package/docs/explanation/brainstorming.md +0 -33
- package/docs/explanation/established-projects-faq.md +0 -50
- package/docs/explanation/party-mode.md +0 -59
- package/docs/explanation/preventing-agent-conflicts.md +0 -112
- package/docs/explanation/project-context.md +0 -157
- package/docs/explanation/quick-dev-new-preview.md +0 -73
- package/docs/explanation/quick-flow.md +0 -77
- package/docs/explanation/why-solutioning-matters.md +0 -77
- package/docs/how-to/customize-xiaoma.md +0 -172
- package/docs/how-to/established-projects.md +0 -117
- package/docs/how-to/get-answers-about-xiaoma.md +0 -134
- package/docs/how-to/install-xiaoma.md +0 -107
- package/docs/how-to/non-interactive-installation.md +0 -171
- package/docs/how-to/project-context.md +0 -136
- package/docs/how-to/quick-fixes.md +0 -123
- package/docs/how-to/shard-large-documents.md +0 -78
- package/docs/how-to/upgrade-to-v6.md +0 -100
- package/docs/ide-info/auggie.md +0 -31
- package/docs/ide-info/claude-code.md +0 -25
- package/docs/ide-info/cline.md +0 -31
- package/docs/ide-info/codex.md +0 -21
- package/docs/ide-info/crush.md +0 -30
- package/docs/ide-info/cursor.md +0 -25
- package/docs/ide-info/gemini.md +0 -25
- package/docs/ide-info/github-copilot.md +0 -26
- package/docs/ide-info/iflow.md +0 -33
- package/docs/ide-info/kilo.md +0 -24
- package/docs/ide-info/opencode.md +0 -24
- package/docs/ide-info/qwen.md +0 -25
- package/docs/ide-info/roo.md +0 -27
- package/docs/ide-info/rovo-dev.md +0 -388
- package/docs/ide-info/trae.md +0 -25
- package/docs/ide-info/windsurf.md +0 -22
- package/docs/index.md +0 -60
- package/docs/installers-bundlers/ide-injections.md +0 -186
- package/docs/installers-bundlers/installers-modules-platforms-reference.md +0 -379
- package/docs/rag/rag.md +0 -856
- package/docs/reference/agents.md +0 -28
- package/docs/reference/commands.md +0 -145
- package/docs/reference/modules.md +0 -76
- package/docs/reference/testing.md +0 -106
- package/docs/reference/workflow-map.md +0 -89
- package/docs/roadmap.mdx +0 -136
- package/docs/superpowers/plans/2026-03-11-upstream-sync-with-branding.md +0 -586
- package/docs/tutorials/getting-started.md +0 -273
- package/docs/v4-to-v6-upgrade.md +0 -220
- package/docs/v6-open-items.md +0 -17
- package/docs/web-bundles-gemini-gpt-guide.md +0 -468
- package/docs/zh-cn/404.md +0 -9
- package/docs/zh-cn/_STYLE_GUIDE.md +0 -370
- package/docs/zh-cn/explanation/advanced-elicitation.md +0 -62
- package/docs/zh-cn/explanation/adversarial-review.md +0 -71
- package/docs/zh-cn/explanation/brainstorming.md +0 -43
- package/docs/zh-cn/explanation/established-projects-faq.md +0 -60
- package/docs/zh-cn/explanation/party-mode.md +0 -79
- package/docs/zh-cn/explanation/preventing-agent-conflicts.md +0 -137
- package/docs/zh-cn/explanation/project-context.md +0 -176
- package/docs/zh-cn/explanation/quick-flow.md +0 -93
- package/docs/zh-cn/explanation/why-solutioning-matters.md +0 -90
- package/docs/zh-cn/how-to/customize-xiaoma.md +0 -182
- package/docs/zh-cn/how-to/established-projects.md +0 -134
- package/docs/zh-cn/how-to/get-answers-about-xiaoma.md +0 -144
- package/docs/zh-cn/how-to/install-xiaoma.md +0 -105
- package/docs/zh-cn/how-to/non-interactive-installation.md +0 -181
- package/docs/zh-cn/how-to/project-context.md +0 -152
- package/docs/zh-cn/how-to/quick-fixes.md +0 -140
- package/docs/zh-cn/how-to/shard-large-documents.md +0 -86
- package/docs/zh-cn/how-to/upgrade-to-v6.md +0 -120
- package/docs/zh-cn/index.md +0 -69
- package/docs/zh-cn/reference/agents.md +0 -41
- package/docs/zh-cn/reference/commands.md +0 -166
- package/docs/zh-cn/reference/modules.md +0 -94
- package/docs/zh-cn/reference/testing.md +0 -122
- package/docs/zh-cn/reference/workflow-map.md +0 -104
- package/docs/zh-cn/roadmap.mdx +0 -152
- package/docs/zh-cn/tutorials/getting-started.md +0 -300
- package/eslint.config.mjs +0 -144
- package/prettier.config.mjs +0 -32
- package/src/core/_module-installer/install-config.yaml +0 -29
- package/src/core/_module-installer/installer.js +0 -60
- package/src/core/agents/xiaoma-master.agent.yaml +0 -30
- package/src/core/agents/xiaoma-skill-manifest.yaml +0 -3
- package/src/core/agents/xiaoma-web-orchestrator.agent.xml +0 -113
- package/src/core/resources/excalidraw/README.md +0 -160
- package/src/core/resources/excalidraw/excalidraw-helpers.md +0 -127
- package/src/core/resources/excalidraw/library-loader.md +0 -50
- package/src/core/resources/excalidraw/validate-json-instructions.md +0 -79
- package/src/core/tasks/advanced-elicitation-methods.csv +0 -51
- package/src/core/tasks/advanced-elicitation.xml +0 -116
- package/src/core/tasks/editorial-review-prose.xml +0 -102
- package/src/core/tasks/editorial-review-structure.xml +0 -208
- package/src/core/tasks/help.md +0 -92
- package/src/core/tasks/index-docs.xml +0 -65
- package/src/core/tasks/review-adversarial-general.xml +0 -49
- package/src/core/tasks/review-edge-case-hunter.xml +0 -63
- package/src/core/tasks/shard-doc.xml +0 -108
- package/src/core/tasks/validate-workflow.xml +0 -89
- package/src/core/tasks/workflow.xml +0 -235
- package/src/core/tasks/xiaoma-help/SKILL.md +0 -6
- package/src/core/tasks/xiaoma-skill-manifest.yaml +0 -19
- package/src/core/tools/shard-doc.xml +0 -109
- package/src/core/workflows/advanced-elicitation/workflow.xml +0 -118
- package/src/core/workflows/advanced-elicitation/xiaoma-skill-manifest.yaml +0 -3
- package/src/core/workflows/brainstorming/xiaoma-skill-manifest.yaml +0 -3
- package/src/core/workflows/party-mode/xiaoma-skill-manifest.yaml +0 -3
- package/src/utility/agent-components/handler-validate-workflow.txt +0 -7
- package/src/utility/agent-components/handler-workflow.txt +0 -10
- package/src/utility/models/action-command-header.md +0 -0
- package/src/utility/models/agent-activation-ide.xml +0 -51
- package/src/utility/models/agent-activation-web.xml +0 -50
- package/src/utility/models/agent-command-header.md +0 -1
- package/src/utility/models/agent-config-template.md +0 -23
- package/src/utility/models/agent-in-team-activation.xml +0 -3
- package/src/utility/models/fragments/activation-rules.xml +0 -7
- package/src/utility/models/fragments/activation-steps.xml +0 -16
- package/src/utility/models/fragments/handler-action.xml +0 -4
- package/src/utility/models/fragments/handler-data.xml +0 -5
- package/src/utility/models/fragments/handler-exec.xml +0 -6
- package/src/utility/models/fragments/handler-multi.xml +0 -14
- package/src/utility/models/fragments/handler-tmpl.xml +0 -5
- package/src/utility/models/fragments/handler-validate-workflow.xml +0 -7
- package/src/utility/models/fragments/handler-workflow.xml +0 -9
- package/src/utility/models/fragments/menu-handlers.xml +0 -6
- package/src/utility/models/fragments/web-bundle-activation-steps.xml +0 -32
- package/src/utility/templates/agent.customize.template.yaml +0 -42
- package/src/xmc/_module-installer/install-config.yaml +0 -53
- package/src/xmc/_module-installer/installer.js +0 -131
- package/src/xmc/_module-installer/platform-specifics/claude-code.js +0 -35
- package/src/xmc/_module-installer/platform-specifics/windsurf.js +0 -32
- package/src/xmc/sub-modules/claude-code/config.yaml +0 -5
- package/src/xmc/sub-modules/claude-code/injections.yaml +0 -242
- package/src/xmc/sub-modules/claude-code/readme.md +0 -87
- package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-analysis/api-documenter.md +0 -102
- package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-analysis/codebase-analyzer.md +0 -82
- package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-analysis/data-analyst.md +0 -101
- package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-analysis/pattern-detector.md +0 -84
- package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-planning/dependency-mapper.md +0 -83
- package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-planning/epic-optimizer.md +0 -81
- package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-planning/requirements-analyst.md +0 -61
- package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-planning/technical-decisions-curator.md +0 -168
- package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-planning/trend-spotter.md +0 -115
- package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-planning/user-journey-mapper.md +0 -123
- package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-planning/user-researcher.md +0 -72
- package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-research/market-researcher.md +0 -51
- package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-research/tech-debt-auditor.md +0 -106
- package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-review/document-reviewer.md +0 -102
- package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-review/technical-evaluator.md +0 -68
- package/src/xmc/sub-modules/claude-code/sub-agents/xiaoma-review/test-coverage-analyzer.md +0 -108
- package/src/xmc/testarch/knowledge/api-request.md +0 -303
- package/src/xmc/testarch/knowledge/auth-session.md +0 -356
- package/src/xmc/testarch/knowledge/burn-in.md +0 -273
- package/src/xmc/testarch/knowledge/ci-burn-in.md +0 -675
- package/src/xmc/testarch/knowledge/component-tdd.md +0 -486
- package/src/xmc/testarch/knowledge/contract-testing.md +0 -957
- package/src/xmc/testarch/knowledge/data-factories.md +0 -500
- package/src/xmc/testarch/knowledge/email-auth.md +0 -721
- package/src/xmc/testarch/knowledge/error-handling.md +0 -725
- package/src/xmc/testarch/knowledge/feature-flags.md +0 -750
- package/src/xmc/testarch/knowledge/file-utils.md +0 -260
- package/src/xmc/testarch/knowledge/fixture-architecture.md +0 -401
- package/src/xmc/testarch/knowledge/fixtures-composition.md +0 -382
- package/src/xmc/testarch/knowledge/intercept-network-call.md +0 -280
- package/src/xmc/testarch/knowledge/log.md +0 -294
- package/src/xmc/testarch/knowledge/network-error-monitor.md +0 -272
- package/src/xmc/testarch/knowledge/network-first.md +0 -486
- package/src/xmc/testarch/knowledge/network-recorder.md +0 -265
- package/src/xmc/testarch/knowledge/nfr-criteria.md +0 -670
- package/src/xmc/testarch/knowledge/overview.md +0 -284
- package/src/xmc/testarch/knowledge/playwright-config.md +0 -730
- package/src/xmc/testarch/knowledge/probability-impact.md +0 -601
- package/src/xmc/testarch/knowledge/recurse.md +0 -296
- package/src/xmc/testarch/knowledge/risk-governance.md +0 -615
- package/src/xmc/testarch/knowledge/selective-testing.md +0 -732
- package/src/xmc/testarch/knowledge/selector-resilience.md +0 -527
- package/src/xmc/testarch/knowledge/test-healing-patterns.md +0 -644
- package/src/xmc/testarch/knowledge/test-levels-framework.md +0 -473
- package/src/xmc/testarch/knowledge/test-priorities-matrix.md +0 -373
- package/src/xmc/testarch/knowledge/test-quality.md +0 -664
- package/src/xmc/testarch/knowledge/timing-debugging.md +0 -372
- package/src/xmc/testarch/knowledge/visual-debugging.md +0 -524
- package/src/xmc/testarch/tea-index.csv +0 -33
- package/src/xmc/workflows/1-analysis/create-product-brief/xiaoma-skill-manifest.yaml +0 -3
- package/src/xmc/workflows/1-analysis/research/xiaoma-skill-manifest.yaml +0 -14
- package/src/xmc/workflows/2-plan-workflows/create-prd/xiaoma-skill-manifest.yaml +0 -14
- package/src/xmc/workflows/2-plan-workflows/create-ux-design/xiaoma-skill-manifest.yaml +0 -3
- package/src/xmc/workflows/3-solutioning/check-implementation-readiness/xiaoma-skill-manifest.yaml +0 -3
- package/src/xmc/workflows/3-solutioning/create-architecture/xiaoma-skill-manifest.yaml +0 -3
- package/src/xmc/workflows/3-solutioning/create-epics-and-stories/xiaoma-skill-manifest.yaml +0 -3
- package/src/xmc/workflows/4-implementation/code-review/workflow.md +0 -271
- package/src/xmc/workflows/4-implementation/code-review/xiaoma-skill-manifest.yaml +0 -3
- package/src/xmc/workflows/4-implementation/correct-course/xiaoma-skill-manifest.yaml +0 -3
- package/src/xmc/workflows/4-implementation/create-story/xiaoma-skill-manifest.yaml +0 -3
- package/src/xmc/workflows/4-implementation/dev-story/xiaoma-skill-manifest.yaml +0 -3
- package/src/xmc/workflows/4-implementation/retrospective/xiaoma-skill-manifest.yaml +0 -3
- package/src/xmc/workflows/4-implementation/sprint-planning/xiaoma-skill-manifest.yaml +0 -3
- package/src/xmc/workflows/4-implementation/sprint-status/xiaoma-skill-manifest.yaml +0 -3
- package/src/xmc/workflows/document-project/workflow.md +0 -39
- package/src/xmc/workflows/document-project/xiaoma-skill-manifest.yaml +0 -3
- package/src/xmc/workflows/generate-project-context/xiaoma-skill-manifest.yaml +0 -3
- package/src/xmc/workflows/qa-generate-e2e-tests/xiaoma-skill-manifest.yaml +0 -3
- package/src/xmc/workflows/xiaoma-quick-flow/quick-dev/xiaoma-skill-manifest.yaml +0 -3
- package/src/xmc/workflows/xiaoma-quick-flow/quick-spec/xiaoma-skill-manifest.yaml +0 -3
- package/test/README.md +0 -295
- package/test/adversarial-review-tests/README.md +0 -56
- package/test/adversarial-review-tests/sample-content.md +0 -46
- package/test/adversarial-review-tests/test-cases.yaml +0 -103
- package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +0 -27
- package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +0 -30
- package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +0 -22
- package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +0 -20
- package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +0 -25
- package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +0 -24
- package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +0 -25
- package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +0 -25
- package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +0 -25
- package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +0 -31
- package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +0 -25
- package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +0 -25
- package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +0 -25
- package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +0 -25
- package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +0 -26
- package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +0 -24
- package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +0 -27
- package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +0 -23
- package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +0 -24
- package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +0 -27
- package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +0 -27
- package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +0 -24
- package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +0 -29
- package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +0 -31
- package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +0 -28
- package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +0 -28
- package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +0 -5
- package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +0 -28
- package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +0 -11
- package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +0 -19
- package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +0 -18
- package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +0 -24
- package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +0 -22
- package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +0 -27
- package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +0 -31
- package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +0 -22
- package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +0 -38
- package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +0 -23
- package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +0 -31
- package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +0 -34
- package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +0 -24
- package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +0 -24
- package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +0 -24
- package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +0 -24
- package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +0 -23
- package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +0 -24
- package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +0 -24
- package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +0 -24
- package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +0 -22
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +0 -28
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +0 -30
- package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +0 -24
- package/test/fixtures/file-refs-csv/invalid/all-empty-workflow.csv +0 -3
- package/test/fixtures/file-refs-csv/invalid/empty-data.csv +0 -1
- package/test/fixtures/file-refs-csv/invalid/no-workflow-column.csv +0 -3
- package/test/fixtures/file-refs-csv/invalid/unresolvable-vars.csv +0 -3
- package/test/fixtures/file-refs-csv/valid/core-style.csv +0 -3
- package/test/fixtures/file-refs-csv/valid/minimal.csv +0 -2
- package/test/fixtures/file-refs-csv/valid/xmc-style.csv +0 -3
- package/test/test-agent-schema.js +0 -387
- package/test/test-cli-integration.sh +0 -159
- package/test/test-file-refs-csv.js +0 -133
- package/test/test-install-to-xiaoma.js +0 -154
- package/test/test-installation-components.js +0 -1802
- package/test/test-rehype-plugins.mjs +0 -1050
- package/test/test-workflow-path-regex.js +0 -88
- package/test/unit-test-schema.js +0 -133
- package/tools/build-docs.mjs +0 -464
- package/tools/cli/bundlers/bundle-web.js +0 -179
- package/tools/cli/bundlers/bundlers/bundle-web.js +0 -179
- package/tools/cli/bundlers/bundlers/test-analyst.js +0 -28
- package/tools/cli/bundlers/bundlers/test-bundler.js +0 -119
- package/tools/cli/bundlers/bundlers/web-bundler.js +0 -1754
- package/tools/cli/bundlers/test-analyst.js +0 -28
- package/tools/cli/bundlers/test-bundler.js +0 -119
- package/tools/cli/bundlers/web-bundler.js +0 -1754
- package/tools/cli/commands/agent-install.js +0 -409
- package/tools/cli/commands/build.js +0 -458
- package/tools/cli/commands/cleanup.js +0 -144
- package/tools/cli/commands/list.js +0 -43
- package/tools/cli/commands/update.js +0 -28
- package/tools/cli/installers/lib/ide/antigravity.js +0 -510
- package/tools/cli/installers/lib/ide/auggie.js +0 -232
- package/tools/cli/installers/lib/ide/claude-code.js +0 -512
- package/tools/cli/installers/lib/ide/cline.js +0 -269
- package/tools/cli/installers/lib/ide/codex.js +0 -440
- package/tools/cli/installers/lib/ide/crush.js +0 -287
- package/tools/cli/installers/lib/ide/cursor.js +0 -400
- package/tools/cli/installers/lib/ide/gemini.js +0 -253
- package/tools/cli/installers/lib/ide/github-copilot.js +0 -699
- package/tools/cli/installers/lib/ide/iflow.js +0 -172
- package/tools/cli/installers/lib/ide/kilo.js +0 -269
- package/tools/cli/installers/lib/ide/opencode.js +0 -257
- package/tools/cli/installers/lib/ide/qwen.js +0 -372
- package/tools/cli/installers/lib/ide/roo.js +0 -324
- package/tools/cli/installers/lib/ide/rovo-dev.js +0 -290
- package/tools/cli/installers/lib/ide/rovodev.js +0 -257
- package/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +0 -14
- package/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md +0 -15
- package/tools/cli/installers/lib/ide/templates/gemini-agent-command.toml +0 -14
- package/tools/cli/installers/lib/ide/templates/gemini-task-command.toml +0 -12
- package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +0 -13
- package/tools/cli/installers/lib/ide/templates/workflow-commander.md +0 -5
- package/tools/cli/installers/lib/ide/trae.js +0 -313
- package/tools/cli/installers/lib/ide/windsurf.js +0 -258
- package/tools/cli/lib/replace-project-root.js +0 -239
- package/tools/cli/regenerate-manifests.js +0 -28
- package/tools/cli/test-yaml-builder.js +0 -43
- package/tools/docs/_prompt-external-modules-page.md +0 -59
- package/tools/docs/fix-refs.md +0 -91
- package/tools/docs/native-skills-migration-checklist.md +0 -281
- package/tools/fix-doc-links.js +0 -285
- package/tools/flattener/aggregate.js +0 -76
- package/tools/flattener/binary.js +0 -80
- package/tools/flattener/discovery.js +0 -71
- package/tools/flattener/files.js +0 -35
- package/tools/flattener/flattener/aggregate.js +0 -76
- package/tools/flattener/flattener/binary.js +0 -80
- package/tools/flattener/flattener/discovery.js +0 -71
- package/tools/flattener/flattener/files.js +0 -35
- package/tools/flattener/flattener/ignoreRules.js +0 -172
- package/tools/flattener/flattener/main.js +0 -483
- package/tools/flattener/flattener/projectRoot.js +0 -201
- package/tools/flattener/flattener/prompts.js +0 -44
- package/tools/flattener/flattener/stats.helpers.js +0 -368
- package/tools/flattener/flattener/stats.js +0 -75
- package/tools/flattener/flattener/test-matrix.js +0 -409
- package/tools/flattener/flattener/xml.js +0 -88
- package/tools/flattener/ignoreRules.js +0 -172
- package/tools/flattener/main.js +0 -483
- package/tools/flattener/projectRoot.js +0 -201
- package/tools/flattener/prompts.js +0 -44
- package/tools/flattener/stats.helpers.js +0 -368
- package/tools/flattener/stats.js +0 -75
- package/tools/flattener/test-matrix.js +0 -409
- package/tools/flattener/xml.js +0 -88
- package/tools/format-workflow-md.js +0 -263
- package/tools/migrate-custom-module-paths.js +0 -124
- package/tools/validate-agent-schema.js +0 -110
- package/tools/validate-bundles.js +0 -87
- package/tools/validate-doc-links.js +0 -409
- package/tools/validate-file-refs.js +0 -556
- package/web-bundles/xmc/agents/analyst.xml +0 -109
- package/web-bundles/xmc/agents/architect.xml +0 -101
- package/web-bundles/xmc/agents/dev.xml +0 -106
- package/web-bundles/xmc/agents/pm.xml +0 -112
- package/web-bundles/xmc/agents/qa.xml +0 -126
- package/web-bundles/xmc/agents/quick-flow-solo-dev.xml +0 -104
- package/web-bundles/xmc/agents/sm.xml +0 -109
- package/web-bundles/xmc/agents/ux-designer.xml +0 -100
- package/web-bundles/xmc/teams/team-fullstack.xml +0 -1192
- /package/src/core/{workflows/advanced-elicitation → skills/xiaoma-advanced-elicitation}/methods.csv +0 -0
- /package/src/core/{tasks/xiaoma-help → skills/xiaoma-advanced-elicitation}/xiaoma-skill-manifest.yaml +0 -0
- /package/src/core/{workflows/brainstorming → skills/xiaoma-brainstorming}/brain-methods.csv +0 -0
- /package/src/core/{workflows/brainstorming → skills/xiaoma-brainstorming}/template.md +0 -0
- /package/src/core/{tasks/xiaoma-review-adversarial-general → skills/xiaoma-brainstorming}/xiaoma-skill-manifest.yaml +0 -0
- /package/src/core/{tasks/xiaoma-review-edge-case-hunter → skills/xiaoma-editorial-review-prose}/xiaoma-skill-manifest.yaml +0 -0
- /package/src/core/{workflows/party-mode → skills/xiaoma-party-mode}/steps/step-01-agent-loading.md +0 -0
- /package/src/core/{workflows/party-mode → skills/xiaoma-party-mode}/steps/step-02-discussion-orchestration.md +0 -0
- /package/src/core/{tasks → skills}/xiaoma-review-adversarial-general/workflow.md +0 -0
- /package/src/core/{tasks → skills}/xiaoma-review-edge-case-hunter/workflow.md +0 -0
- /package/src/{xmc/workflows/2-plan-workflows/create-prd → core/tasks/xiaoma-create-prd}/templates/prd-template.md +0 -0
- /package/src/xmc/workflows/1-analysis/research/{domain-steps → xiaoma-domain-research/domain-steps}/step-06-research-synthesis.md +0 -0
- /package/src/xmc/workflows/1-analysis/research/{technical-steps → xiaoma-technical-research/technical-steps}/step-06-research-synthesis.md +0 -0
- /package/src/xmc/workflows/2-plan-workflows/{create-ux-design → xiaoma-create-ux-design}/ux-design-template.md +0 -0
- /package/src/xmc/workflows/3-solutioning/{check-implementation-readiness → xiaoma-check-implementation-readiness}/templates/readiness-report-template.md +0 -0
- /package/src/xmc/workflows/3-solutioning/{create-architecture → xiaoma-create-architecture}/architecture-decision-template.md +0 -0
- /package/src/xmc/workflows/3-solutioning/{create-architecture → xiaoma-create-architecture}/data/domain-complexity.csv +0 -0
- /package/src/xmc/workflows/3-solutioning/{create-architecture → xiaoma-create-architecture}/data/project-types.csv +0 -0
- /package/src/xmc/workflows/3-solutioning/{create-architecture → xiaoma-create-architecture}/steps/step-08-complete.md +0 -0
- /package/src/xmc/workflows/4-implementation/{code-review → xiaoma-code-review}/checklist.md +0 -0
- /package/src/xmc/workflows/4-implementation/{code-review → xiaoma-code-review}/discover-inputs.md +0 -0
- /package/src/xmc/workflows/4-implementation/{create-story → xiaoma-create-story}/discover-inputs.md +0 -0
- /package/src/xmc/workflows/4-implementation/{create-story → xiaoma-create-story}/template.md +0 -0
- /package/src/xmc/workflows/4-implementation/{dev-story → xiaoma-dev-story}/checklist.md +0 -0
- /package/src/xmc/workflows/4-implementation/{sprint-planning → xiaoma-sprint-planning}/checklist.md +0 -0
- /package/src/xmc/workflows/4-implementation/{sprint-planning → xiaoma-sprint-planning}/sprint-status-template.yaml +0 -0
- /package/src/xmc/workflows/{document-project → xiaoma-document-project}/checklist.md +0 -0
- /package/src/xmc/workflows/{document-project → xiaoma-document-project}/documentation-requirements.csv +0 -0
- /package/src/xmc/workflows/{document-project → xiaoma-document-project}/templates/deep-dive-template.md +0 -0
- /package/src/xmc/workflows/{document-project → xiaoma-document-project}/templates/index-template.md +0 -0
- /package/src/xmc/workflows/{document-project → xiaoma-document-project}/templates/project-overview-template.md +0 -0
- /package/src/xmc/workflows/{document-project → xiaoma-document-project}/templates/project-scan-report-schema.json +0 -0
- /package/src/xmc/workflows/{document-project → xiaoma-document-project}/templates/source-tree-template.md +0 -0
- /package/src/xmc/workflows/{generate-project-context → xiaoma-generate-project-context}/project-context-template.md +0 -0
- /package/src/xmc/workflows/{generate-project-context → xiaoma-generate-project-context}/steps/step-03-complete.md +0 -0
- /package/src/xmc/workflows/{qa-generate-e2e-tests → xiaoma-qa-generate-e2e-tests}/checklist.md +0 -0
- /package/src/xmc/workflows/xiaoma-quick-flow/{quick-spec → xiaoma-quick-spec}/tech-spec-template.md +0 -0
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"""Tests for analyze_sources.py"""
|
|
2
|
+
|
|
3
|
+
import json
|
|
4
|
+
import os
|
|
5
|
+
import tempfile
|
|
6
|
+
from pathlib import Path
|
|
7
|
+
from unittest.mock import patch
|
|
8
|
+
|
|
9
|
+
import pytest
|
|
10
|
+
|
|
11
|
+
# Add parent dir to path so we can import the script
|
|
12
|
+
import sys
|
|
13
|
+
sys.path.insert(0, str(Path(__file__).parent.parent))
|
|
14
|
+
|
|
15
|
+
from analyze_sources import (
|
|
16
|
+
resolve_inputs,
|
|
17
|
+
detect_doc_type,
|
|
18
|
+
suggest_groups,
|
|
19
|
+
analyze,
|
|
20
|
+
INCLUDE_EXTENSIONS,
|
|
21
|
+
SKIP_DIRS,
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
@pytest.fixture
|
|
26
|
+
def temp_dir():
|
|
27
|
+
"""Create a temp directory with sample files."""
|
|
28
|
+
with tempfile.TemporaryDirectory() as d:
|
|
29
|
+
# Create sample files
|
|
30
|
+
(Path(d) / "product-brief-foo.md").write_text("# Product Brief\nContent here")
|
|
31
|
+
(Path(d) / "product-brief-foo-discovery-notes.md").write_text("# Discovery\nNotes")
|
|
32
|
+
(Path(d) / "architecture-doc.md").write_text("# Architecture\nDesign here")
|
|
33
|
+
(Path(d) / "research-report.md").write_text("# Research\nFindings")
|
|
34
|
+
(Path(d) / "random.txt").write_text("Some text content")
|
|
35
|
+
(Path(d) / "image.png").write_bytes(b"\x89PNG")
|
|
36
|
+
# Create a subdirectory with more files
|
|
37
|
+
sub = Path(d) / "subdir"
|
|
38
|
+
sub.mkdir()
|
|
39
|
+
(sub / "prd-v2.md").write_text("# PRD\nRequirements")
|
|
40
|
+
# Create a skip directory
|
|
41
|
+
skip = Path(d) / "node_modules"
|
|
42
|
+
skip.mkdir()
|
|
43
|
+
(skip / "junk.md").write_text("Should be skipped")
|
|
44
|
+
yield d
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class TestResolveInputs:
|
|
48
|
+
def test_single_file(self, temp_dir):
|
|
49
|
+
f = str(Path(temp_dir) / "product-brief-foo.md")
|
|
50
|
+
result = resolve_inputs([f])
|
|
51
|
+
assert len(result) == 1
|
|
52
|
+
assert result[0].name == "product-brief-foo.md"
|
|
53
|
+
|
|
54
|
+
def test_folder_recursion(self, temp_dir):
|
|
55
|
+
result = resolve_inputs([temp_dir])
|
|
56
|
+
names = {f.name for f in result}
|
|
57
|
+
assert "product-brief-foo.md" in names
|
|
58
|
+
assert "prd-v2.md" in names
|
|
59
|
+
assert "random.txt" in names
|
|
60
|
+
|
|
61
|
+
def test_folder_skips_excluded_dirs(self, temp_dir):
|
|
62
|
+
result = resolve_inputs([temp_dir])
|
|
63
|
+
names = {f.name for f in result}
|
|
64
|
+
assert "junk.md" not in names
|
|
65
|
+
|
|
66
|
+
def test_folder_skips_non_text_files(self, temp_dir):
|
|
67
|
+
result = resolve_inputs([temp_dir])
|
|
68
|
+
names = {f.name for f in result}
|
|
69
|
+
assert "image.png" not in names
|
|
70
|
+
|
|
71
|
+
def test_glob_pattern(self, temp_dir):
|
|
72
|
+
pattern = str(Path(temp_dir) / "product-brief-*.md")
|
|
73
|
+
result = resolve_inputs([pattern])
|
|
74
|
+
assert len(result) == 2
|
|
75
|
+
names = {f.name for f in result}
|
|
76
|
+
assert "product-brief-foo.md" in names
|
|
77
|
+
assert "product-brief-foo-discovery-notes.md" in names
|
|
78
|
+
|
|
79
|
+
def test_deduplication(self, temp_dir):
|
|
80
|
+
f = str(Path(temp_dir) / "product-brief-foo.md")
|
|
81
|
+
result = resolve_inputs([f, f, f])
|
|
82
|
+
assert len(result) == 1
|
|
83
|
+
|
|
84
|
+
def test_mixed_inputs(self, temp_dir):
|
|
85
|
+
file_path = str(Path(temp_dir) / "architecture-doc.md")
|
|
86
|
+
folder_path = str(Path(temp_dir) / "subdir")
|
|
87
|
+
result = resolve_inputs([file_path, folder_path])
|
|
88
|
+
names = {f.name for f in result}
|
|
89
|
+
assert "architecture-doc.md" in names
|
|
90
|
+
assert "prd-v2.md" in names
|
|
91
|
+
|
|
92
|
+
def test_nonexistent_path(self):
|
|
93
|
+
result = resolve_inputs(["/nonexistent/path/file.md"])
|
|
94
|
+
assert len(result) == 0
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
class TestDetectDocType:
|
|
98
|
+
@pytest.mark.parametrize("filename,expected", [
|
|
99
|
+
("product-brief-foo.md", "product-brief"),
|
|
100
|
+
("product_brief_bar.md", "product-brief"),
|
|
101
|
+
("foo-discovery-notes.md", "discovery-notes"),
|
|
102
|
+
("foo-discovery_notes.md", "discovery-notes"),
|
|
103
|
+
("architecture-overview.md", "architecture-doc"),
|
|
104
|
+
("my-prd.md", "prd"),
|
|
105
|
+
("research-report-q4.md", "research-report"),
|
|
106
|
+
("foo-distillate.md", "distillate"),
|
|
107
|
+
("changelog.md", "changelog"),
|
|
108
|
+
("readme.md", "readme"),
|
|
109
|
+
("api-spec.md", "specification"),
|
|
110
|
+
("design-doc-v2.md", "design-doc"),
|
|
111
|
+
("meeting-notes-2026.md", "meeting-notes"),
|
|
112
|
+
("brainstorm-session.md", "brainstorming"),
|
|
113
|
+
("user-interview-notes.md", "interview-notes"),
|
|
114
|
+
("random-file.md", "unknown"),
|
|
115
|
+
])
|
|
116
|
+
def test_detection(self, filename, expected):
|
|
117
|
+
assert detect_doc_type(filename) == expected
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
class TestSuggestGroups:
|
|
121
|
+
def test_groups_brief_with_discovery_notes(self, temp_dir):
|
|
122
|
+
files = [
|
|
123
|
+
Path(temp_dir) / "product-brief-foo.md",
|
|
124
|
+
Path(temp_dir) / "product-brief-foo-discovery-notes.md",
|
|
125
|
+
]
|
|
126
|
+
groups = suggest_groups(files)
|
|
127
|
+
# Should produce one group with both files
|
|
128
|
+
paired = [g for g in groups if len(g["files"]) > 1]
|
|
129
|
+
assert len(paired) == 1
|
|
130
|
+
filenames = {f["filename"] for f in paired[0]["files"]}
|
|
131
|
+
assert "product-brief-foo.md" in filenames
|
|
132
|
+
assert "product-brief-foo-discovery-notes.md" in filenames
|
|
133
|
+
|
|
134
|
+
def test_standalone_files(self, temp_dir):
|
|
135
|
+
files = [
|
|
136
|
+
Path(temp_dir) / "architecture-doc.md",
|
|
137
|
+
Path(temp_dir) / "research-report.md",
|
|
138
|
+
]
|
|
139
|
+
groups = suggest_groups(files)
|
|
140
|
+
assert len(groups) == 2
|
|
141
|
+
for g in groups:
|
|
142
|
+
assert len(g["files"]) == 1
|
|
143
|
+
|
|
144
|
+
def test_mixed_grouped_and_standalone(self, temp_dir):
|
|
145
|
+
files = [
|
|
146
|
+
Path(temp_dir) / "product-brief-foo.md",
|
|
147
|
+
Path(temp_dir) / "product-brief-foo-discovery-notes.md",
|
|
148
|
+
Path(temp_dir) / "architecture-doc.md",
|
|
149
|
+
]
|
|
150
|
+
groups = suggest_groups(files)
|
|
151
|
+
paired = [g for g in groups if len(g["files"]) > 1]
|
|
152
|
+
standalone = [g for g in groups if len(g["files"]) == 1]
|
|
153
|
+
assert len(paired) == 1
|
|
154
|
+
assert len(standalone) == 1
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
class TestAnalyze:
|
|
158
|
+
def test_basic_analysis(self, temp_dir):
|
|
159
|
+
f = str(Path(temp_dir) / "product-brief-foo.md")
|
|
160
|
+
output_file = str(Path(temp_dir) / "output.json")
|
|
161
|
+
analyze([f], output_file)
|
|
162
|
+
result = json.loads(Path(output_file).read_text())
|
|
163
|
+
assert result["status"] == "ok"
|
|
164
|
+
assert result["summary"]["total_files"] == 1
|
|
165
|
+
assert result["files"][0]["doc_type"] == "product-brief"
|
|
166
|
+
assert result["files"][0]["estimated_tokens"] > 0
|
|
167
|
+
|
|
168
|
+
def test_routing_single_small_input(self, temp_dir):
|
|
169
|
+
f = str(Path(temp_dir) / "product-brief-foo.md")
|
|
170
|
+
output_file = str(Path(temp_dir) / "output.json")
|
|
171
|
+
analyze([f], output_file)
|
|
172
|
+
result = json.loads(Path(output_file).read_text())
|
|
173
|
+
assert result["routing"]["recommendation"] == "single"
|
|
174
|
+
|
|
175
|
+
def test_routing_fanout_many_files(self, temp_dir):
|
|
176
|
+
# Create enough files to trigger fan-out (> 3 files)
|
|
177
|
+
for i in range(5):
|
|
178
|
+
(Path(temp_dir) / f"doc-{i}.md").write_text("x" * 1000)
|
|
179
|
+
output_file = str(Path(temp_dir) / "output.json")
|
|
180
|
+
analyze([temp_dir], output_file)
|
|
181
|
+
result = json.loads(Path(output_file).read_text())
|
|
182
|
+
assert result["routing"]["recommendation"] == "fan-out"
|
|
183
|
+
|
|
184
|
+
def test_folder_analysis(self, temp_dir):
|
|
185
|
+
output_file = str(Path(temp_dir) / "output.json")
|
|
186
|
+
analyze([temp_dir], output_file)
|
|
187
|
+
result = json.loads(Path(output_file).read_text())
|
|
188
|
+
assert result["status"] == "ok"
|
|
189
|
+
assert result["summary"]["total_files"] >= 4 # at least the base files
|
|
190
|
+
assert len(result["groups"]) > 0
|
|
191
|
+
|
|
192
|
+
def test_no_files_found(self):
|
|
193
|
+
output_file = "/tmp/test_analyze_empty.json"
|
|
194
|
+
analyze(["/nonexistent/path"], output_file)
|
|
195
|
+
result = json.loads(Path(output_file).read_text())
|
|
196
|
+
assert result["status"] == "error"
|
|
197
|
+
os.unlink(output_file)
|
|
198
|
+
|
|
199
|
+
def test_stdout_output(self, temp_dir, capsys):
|
|
200
|
+
f = str(Path(temp_dir) / "product-brief-foo.md")
|
|
201
|
+
analyze([f])
|
|
202
|
+
captured = capsys.readouterr()
|
|
203
|
+
result = json.loads(captured.out)
|
|
204
|
+
assert result["status"] == "ok"
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
type: skill
|
|
2
|
+
module: core
|
|
3
|
+
capabilities:
|
|
4
|
+
- name: xiaoma-distillator
|
|
5
|
+
menu-code: DSTL
|
|
6
|
+
description: "Produces lossless LLM-optimized distillate from source documents. Use after producing large human presentable documents that will be consumed later by LLMs"
|
|
7
|
+
supports-headless: true
|
|
8
|
+
input: source documents
|
|
9
|
+
args: output, validate
|
|
10
|
+
output: single distillate or folder of distillates next to source input
|
|
11
|
+
config-vars-used: null
|
|
12
|
+
phase: anytime
|
|
13
|
+
before: []
|
|
14
|
+
after: []
|
|
15
|
+
is-required: false
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Editorial Review - Prose
|
|
2
|
+
|
|
3
|
+
**Goal:** Review text for communication issues that impede comprehension and output suggested fixes in a three-column table.
|
|
4
|
+
|
|
5
|
+
**Your Role:** You are a clinical copy-editor: precise, professional, neither warm nor cynical. Apply Microsoft Writing Style Guide principles as your baseline. Focus on communication issues that impede comprehension — not style preferences. NEVER rewrite for preference — only fix genuine issues. 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.
|
|
6
|
+
|
|
7
|
+
**CONTENT IS SACROSANCT:** Never challenge ideas — only clarify how they're expressed.
|
|
8
|
+
|
|
9
|
+
**Inputs:**
|
|
10
|
+
- **content** (required) — Cohesive unit of text to review (markdown, plain text, or text-heavy XML)
|
|
11
|
+
- **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.
|
|
12
|
+
- **reader_type** (optional, default: `humans`) — `humans` for standard editorial, `llm` for precision focus
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## PRINCIPLES
|
|
16
|
+
|
|
17
|
+
1. **Minimal intervention:** Apply the smallest fix that achieves clarity
|
|
18
|
+
2. **Preserve structure:** Fix prose within existing structure, never restructure
|
|
19
|
+
3. **Skip code/markup:** Detect and skip code blocks, frontmatter, structural markup
|
|
20
|
+
4. **When uncertain:** Flag with a query rather than suggesting a definitive change
|
|
21
|
+
5. **Deduplicate:** Same issue in multiple places = one entry with locations listed
|
|
22
|
+
6. **No conflicts:** Merge overlapping fixes into single entries
|
|
23
|
+
7. **Respect author voice:** Preserve intentional stylistic choices
|
|
24
|
+
|
|
25
|
+
> **STYLE GUIDE OVERRIDE:** If a style_guide input is provided, it overrides ALL generic principles in this task (including the Microsoft Writing Style Guide baseline and reader_type-specific priorities). 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.
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## STEPS
|
|
29
|
+
|
|
30
|
+
### Step 1: Validate Input
|
|
31
|
+
|
|
32
|
+
- Check if content is empty or contains fewer than 3 words
|
|
33
|
+
- If empty or fewer than 3 words: **HALT** with error: "Content too short for editorial review (minimum 3 words required)"
|
|
34
|
+
- Validate reader_type is `humans` or `llm` (or not provided, defaulting to `humans`)
|
|
35
|
+
- If reader_type is invalid: **HALT** with error: "Invalid reader_type. Must be 'humans' or 'llm'"
|
|
36
|
+
- Identify content type (markdown, plain text, XML with text)
|
|
37
|
+
- Note any code blocks, frontmatter, or structural markup to skip
|
|
38
|
+
|
|
39
|
+
### Step 2: Analyze Style
|
|
40
|
+
|
|
41
|
+
- Analyze the style, tone, and voice of the input text
|
|
42
|
+
- Note any intentional stylistic choices to preserve (informal tone, technical jargon, rhetorical patterns)
|
|
43
|
+
- Calibrate review approach based on reader_type:
|
|
44
|
+
- If `llm`: Prioritize unambiguous references, consistent terminology, explicit structure, no hedging
|
|
45
|
+
- If `humans`: Prioritize clarity, flow, readability, natural progression
|
|
46
|
+
|
|
47
|
+
### Step 3: Editorial Review (CRITICAL)
|
|
48
|
+
|
|
49
|
+
- If style_guide provided: Consult style_guide now and note its key requirements — these override default principles for this review
|
|
50
|
+
- Review all prose sections (skip code blocks, frontmatter, structural markup)
|
|
51
|
+
- Identify communication issues that impede comprehension
|
|
52
|
+
- For each issue, determine the minimal fix that achieves clarity
|
|
53
|
+
- Deduplicate: If same issue appears multiple times, create one entry listing all locations
|
|
54
|
+
- Merge overlapping issues into single entries (no conflicting suggestions)
|
|
55
|
+
- For uncertain fixes, phrase as query: "Consider: [suggestion]?" rather than definitive change
|
|
56
|
+
- Preserve author voice — do not "improve" intentional stylistic choices
|
|
57
|
+
|
|
58
|
+
### Step 4: Output Results
|
|
59
|
+
|
|
60
|
+
- If issues found: Output a three-column markdown table with all suggested fixes
|
|
61
|
+
- If no issues found: Output "No editorial issues identified"
|
|
62
|
+
|
|
63
|
+
**Output format:**
|
|
64
|
+
|
|
65
|
+
| Original Text | Revised Text | Changes |
|
|
66
|
+
|---------------|--------------|---------|
|
|
67
|
+
| The exact original passage | The suggested revision | Brief explanation of what changed and why |
|
|
68
|
+
|
|
69
|
+
**Example:**
|
|
70
|
+
|
|
71
|
+
| Original Text | Revised Text | Changes |
|
|
72
|
+
|---------------|--------------|---------|
|
|
73
|
+
| The system will processes data and it handles errors. | The system processes data and handles errors. | Fixed subject-verb agreement ("will processes" to "processes"); removed redundant "it" |
|
|
74
|
+
| Users can chose from options (lines 12, 45, 78) | Users can choose from options | Fixed spelling: "chose" to "choose" (appears in 3 locations) |
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
## HALT CONDITIONS
|
|
78
|
+
|
|
79
|
+
- HALT with error if content is empty or fewer than 3 words
|
|
80
|
+
- HALT with error if reader_type is not `humans` or `llm`
|
|
81
|
+
- If no issues found after thorough review, output "No editorial issues identified" (this is valid completion, not an error)
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: xiaoma-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
|
+
Follow the instructions in ./workflow.md.
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# Editorial Review - Structure
|
|
2
|
+
|
|
3
|
+
**Goal:** Review document structure and propose substantive changes to improve clarity and flow -- run this BEFORE copy editing.
|
|
4
|
+
|
|
5
|
+
**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.
|
|
6
|
+
|
|
7
|
+
> **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.
|
|
8
|
+
|
|
9
|
+
**Inputs:**
|
|
10
|
+
- **content** (required) -- Document to review (markdown, plain text, or structured content)
|
|
11
|
+
- **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.
|
|
12
|
+
- **purpose** (optional) -- Document's intended purpose (e.g., 'quickstart tutorial', 'API reference', 'conceptual overview')
|
|
13
|
+
- **target_audience** (optional) -- Who reads this? (e.g., 'new users', 'experienced developers', 'decision makers')
|
|
14
|
+
- **reader_type** (optional, default: "humans") -- 'humans' (default) preserves comprehension aids; 'llm' optimizes for precision and density
|
|
15
|
+
- **length_target** (optional) -- Target reduction (e.g., '30% shorter', 'half the length', 'no limit')
|
|
16
|
+
|
|
17
|
+
## Principles
|
|
18
|
+
|
|
19
|
+
- Comprehension through calibration: Optimize for the minimum words needed to maintain understanding
|
|
20
|
+
- Front-load value: Critical information comes first; nice-to-know comes last (or goes)
|
|
21
|
+
- One source of truth: If information appears identically twice, consolidate
|
|
22
|
+
- Scope discipline: Content that belongs in a different document should be cut or linked
|
|
23
|
+
- Propose, don't execute: Output recommendations -- user decides what to accept
|
|
24
|
+
- **CONTENT IS SACROSANCT: Never challenge ideas -- only optimize how they're organized.**
|
|
25
|
+
|
|
26
|
+
## Human-Reader Principles
|
|
27
|
+
|
|
28
|
+
These elements serve human comprehension and engagement -- preserve unless clearly wasteful:
|
|
29
|
+
|
|
30
|
+
- Visual aids: Diagrams, images, and flowcharts anchor understanding
|
|
31
|
+
- Expectation-setting: "What You'll Learn" helps readers confirm they're in the right place
|
|
32
|
+
- Reader's Journey: Organize content biologically (linear progression), not logically (database)
|
|
33
|
+
- Mental models: Overview before details prevents cognitive overload
|
|
34
|
+
- Warmth: Encouraging tone reduces anxiety for new users
|
|
35
|
+
- Whitespace: Admonitions and callouts provide visual breathing room
|
|
36
|
+
- Summaries: Recaps help retention; they're reinforcement, not redundancy
|
|
37
|
+
- Examples: Concrete illustrations make abstract concepts accessible
|
|
38
|
+
- Engagement: "Flow" techniques (transitions, variety) are functional, not "fluff" -- they maintain attention
|
|
39
|
+
|
|
40
|
+
## LLM-Reader Principles
|
|
41
|
+
|
|
42
|
+
When reader_type='llm', optimize for PRECISION and UNAMBIGUITY:
|
|
43
|
+
|
|
44
|
+
- Dependency-first: Define concepts before usage to minimize hallucination risk
|
|
45
|
+
- Cut emotional language, encouragement, and orientation sections
|
|
46
|
+
- 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.
|
|
47
|
+
- Use consistent terminology -- same word for same concept throughout
|
|
48
|
+
- Eliminate hedging ("might", "could", "generally") -- use direct statements
|
|
49
|
+
- Prefer structured formats (tables, lists, YAML) over prose
|
|
50
|
+
- Reference known standards ("conventional commits", "Google style guide") to leverage training
|
|
51
|
+
- STILL PROVIDE EXAMPLES even for known standards -- grounds the LLM in your specific expectation
|
|
52
|
+
- Unambiguous references -- no unclear antecedents ("it", "this", "the above")
|
|
53
|
+
- Note: LLM documents may be LONGER than human docs in some areas (more explicit) while shorter in others (no warmth)
|
|
54
|
+
|
|
55
|
+
## Structure Models
|
|
56
|
+
|
|
57
|
+
### Tutorial/Guide (Linear)
|
|
58
|
+
**Applicability:** Tutorials, detailed guides, how-to articles, walkthroughs
|
|
59
|
+
- Prerequisites: Setup/Context MUST precede action
|
|
60
|
+
- Sequence: Steps must follow strict chronological or logical dependency order
|
|
61
|
+
- Goal-oriented: clear 'Definition of Done' at the end
|
|
62
|
+
|
|
63
|
+
### Reference/Database
|
|
64
|
+
**Applicability:** API docs, glossaries, configuration references, cheat sheets
|
|
65
|
+
- Random Access: No narrative flow required; user jumps to specific item
|
|
66
|
+
- MECE: Topics are Mutually Exclusive and Collectively Exhaustive
|
|
67
|
+
- Consistent Schema: Every item follows identical structure (e.g., Signature to Params to Returns)
|
|
68
|
+
|
|
69
|
+
### Explanation (Conceptual)
|
|
70
|
+
**Applicability:** Deep dives, architecture overviews, conceptual guides, whitepapers, project context
|
|
71
|
+
- Abstract to Concrete: Definition to Context to Implementation/Example
|
|
72
|
+
- Scaffolding: Complex ideas built on established foundations
|
|
73
|
+
|
|
74
|
+
### Prompt/Task Definition (Functional)
|
|
75
|
+
**Applicability:** XiaoMa tasks, prompts, system instructions, XML definitions
|
|
76
|
+
- Meta-first: Inputs, usage constraints, and context defined before instructions
|
|
77
|
+
- Separation of Concerns: Instructions (logic) separate from Data (content)
|
|
78
|
+
- Step-by-step: Execution flow must be explicit and ordered
|
|
79
|
+
|
|
80
|
+
### Strategic/Context (Pyramid)
|
|
81
|
+
**Applicability:** PRDs, research reports, proposals, decision records
|
|
82
|
+
- Top-down: Conclusion/Status/Recommendation starts the document
|
|
83
|
+
- Grouping: Supporting context grouped logically below the headline
|
|
84
|
+
- Ordering: Most critical information first
|
|
85
|
+
- MECE: Arguments/Groups are Mutually Exclusive and Collectively Exhaustive
|
|
86
|
+
- Evidence: Data supports arguments, never leads
|
|
87
|
+
|
|
88
|
+
## STEPS
|
|
89
|
+
|
|
90
|
+
### Step 1: Validate Input
|
|
91
|
+
|
|
92
|
+
- Check if content is empty or contains fewer than 3 words
|
|
93
|
+
- If empty or fewer than 3 words, HALT with error: "Content too short for substantive review (minimum 3 words required)"
|
|
94
|
+
- Validate reader_type is "humans" or "llm" (or not provided, defaulting to "humans")
|
|
95
|
+
- If reader_type is invalid, HALT with error: "Invalid reader_type. Must be 'humans' or 'llm'"
|
|
96
|
+
- Identify document type and structure (headings, sections, lists, etc.)
|
|
97
|
+
- Note the current word count and section count
|
|
98
|
+
|
|
99
|
+
### Step 2: Understand Purpose
|
|
100
|
+
|
|
101
|
+
- If purpose was provided, use it; otherwise infer from content
|
|
102
|
+
- If target_audience was provided, use it; otherwise infer from content
|
|
103
|
+
- Identify the core question the document answers
|
|
104
|
+
- State in one sentence: "This document exists to help [audience] accomplish [goal]"
|
|
105
|
+
- Select the most appropriate structural model from Structure Models based on purpose/audience
|
|
106
|
+
- Note reader_type and which principles apply (Human-Reader Principles or LLM-Reader Principles)
|
|
107
|
+
|
|
108
|
+
### Step 3: Structural Analysis (CRITICAL)
|
|
109
|
+
|
|
110
|
+
- If style_guide provided, consult style_guide now and note its key requirements -- these override default principles for this analysis
|
|
111
|
+
- Map the document structure: list each major section with its word count
|
|
112
|
+
- Evaluate structure against the selected model's primary rules (e.g., 'Does recommendation come first?' for Pyramid)
|
|
113
|
+
- For each section, answer: Does this directly serve the stated purpose?
|
|
114
|
+
- If reader_type='humans', for each comprehension aid (visual, summary, example, callout), answer: Does this help readers understand or stay engaged?
|
|
115
|
+
- Identify sections that could be: cut entirely, merged with another, moved to a different location, or split
|
|
116
|
+
- Identify true redundancies: identical information repeated without purpose (not summaries or reinforcement)
|
|
117
|
+
- Identify scope violations: content that belongs in a different document
|
|
118
|
+
- Identify burying: critical information hidden deep in the document
|
|
119
|
+
|
|
120
|
+
### Step 4: Flow Analysis
|
|
121
|
+
|
|
122
|
+
- Assess the reader's journey: Does the sequence match how readers will use this?
|
|
123
|
+
- Identify premature detail: explanation given before the reader needs it
|
|
124
|
+
- Identify missing scaffolding: complex ideas without adequate setup
|
|
125
|
+
- Identify anti-patterns: FAQs that should be inline, appendices that should be cut, overviews that repeat the body verbatim
|
|
126
|
+
- If reader_type='humans', assess pacing: Is there enough whitespace and visual variety to maintain attention?
|
|
127
|
+
|
|
128
|
+
### Step 5: Generate Recommendations
|
|
129
|
+
|
|
130
|
+
- Compile all findings into prioritized recommendations
|
|
131
|
+
- 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)
|
|
132
|
+
- For each recommendation, state the rationale in one sentence
|
|
133
|
+
- Estimate impact: how many words would this save (or cost, for PRESERVE)?
|
|
134
|
+
- If length_target was provided, assess whether recommendations meet it
|
|
135
|
+
- If reader_type='humans' and recommendations would cut comprehension aids, flag with warning: "This cut may impact reader comprehension/engagement"
|
|
136
|
+
|
|
137
|
+
### Step 6: Output Results
|
|
138
|
+
|
|
139
|
+
- Output document summary (purpose, audience, reader_type, current length)
|
|
140
|
+
- Output the recommendation list in priority order
|
|
141
|
+
- Output estimated total reduction if all recommendations accepted
|
|
142
|
+
- If no recommendations, output: "No substantive changes recommended -- document structure is sound"
|
|
143
|
+
|
|
144
|
+
Use the following output format:
|
|
145
|
+
|
|
146
|
+
```markdown
|
|
147
|
+
## Document Summary
|
|
148
|
+
- **Purpose:** [inferred or provided purpose]
|
|
149
|
+
- **Audience:** [inferred or provided audience]
|
|
150
|
+
- **Reader type:** [selected reader type]
|
|
151
|
+
- **Structure model:** [selected structure model]
|
|
152
|
+
- **Current length:** [X] words across [Y] sections
|
|
153
|
+
|
|
154
|
+
## Recommendations
|
|
155
|
+
|
|
156
|
+
### 1. [CUT/MERGE/MOVE/CONDENSE/QUESTION/PRESERVE] - [Section or element name]
|
|
157
|
+
**Rationale:** [One sentence explanation]
|
|
158
|
+
**Impact:** ~[X] words
|
|
159
|
+
**Comprehension note:** [If applicable, note impact on reader understanding]
|
|
160
|
+
|
|
161
|
+
### 2. ...
|
|
162
|
+
|
|
163
|
+
## Summary
|
|
164
|
+
- **Total recommendations:** [N]
|
|
165
|
+
- **Estimated reduction:** [X] words ([Y]% of original)
|
|
166
|
+
- **Meets length target:** [Yes/No/No target specified]
|
|
167
|
+
- **Comprehension trade-offs:** [Note any cuts that sacrifice reader engagement for brevity]
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## HALT CONDITIONS
|
|
171
|
+
|
|
172
|
+
- HALT with error if content is empty or fewer than 3 words
|
|
173
|
+
- HALT with error if reader_type is not "humans" or "llm"
|
|
174
|
+
- If no structural issues found, output "No substantive changes recommended" (this is valid completion, not an error)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
type: skill
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: xiaoma-help
|
|
3
|
+
description: 'Analyzes current state and user query to answer XiaoMa questions or recommend the next workflow or agent. Use when user says what should I do next, what do I do now, or asks a question about XiaoMa'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Follow the instructions in ./workflow.md.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
# Task:
|
|
2
|
+
# Task: XiaoMa Help
|
|
3
3
|
|
|
4
4
|
## ROUTING RULES
|
|
5
5
|
|
|
@@ -15,24 +15,24 @@
|
|
|
15
15
|
|
|
16
16
|
### Command-Based Workflows
|
|
17
17
|
When `command` field has a value:
|
|
18
|
-
- Show the command
|
|
18
|
+
- Show the command as a skill name in backticks (e.g., `xiaoma-xmc-create-prd`)
|
|
19
19
|
|
|
20
20
|
### Skill-Referenced Workflows
|
|
21
21
|
When `workflow-file` starts with `skill:`:
|
|
22
22
|
- The value is a skill reference (e.g., `skill:xiaoma-quick-dev-new-preview`), NOT a file path
|
|
23
23
|
- Do NOT attempt to resolve or load it as a file path
|
|
24
|
-
- Display using the `command` column value
|
|
24
|
+
- Display using the `command` column value as a skill name in backticks (same as command-based workflows)
|
|
25
25
|
|
|
26
26
|
### Agent-Based Workflows
|
|
27
27
|
When `command` field is empty:
|
|
28
|
-
- User loads agent first
|
|
28
|
+
- User loads agent first by invoking the agent skill (e.g., `xiaoma-pm`)
|
|
29
29
|
- Then invokes by referencing the `code` field or describing the `name` field
|
|
30
30
|
- Do NOT show a slash command — show the code value and agent load instruction instead
|
|
31
31
|
|
|
32
32
|
Example presentation for empty command:
|
|
33
33
|
```
|
|
34
34
|
Explain Concept (EC)
|
|
35
|
-
Load:
|
|
35
|
+
Load: tech-writer agent skill, then ask to "EC about [topic]"
|
|
36
36
|
Agent: Tech Writer
|
|
37
37
|
Description: Create clear technical explanations with examples...
|
|
38
38
|
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
type: skill
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Index Docs
|
|
2
|
+
|
|
3
|
+
**Goal:** Generate or update an index.md to reference all docs in a target folder.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## EXECUTION
|
|
7
|
+
|
|
8
|
+
### Step 1: Scan Directory
|
|
9
|
+
|
|
10
|
+
- List all files and subdirectories in the target location
|
|
11
|
+
|
|
12
|
+
### Step 2: Group Content
|
|
13
|
+
|
|
14
|
+
- Organize files by type, purpose, or subdirectory
|
|
15
|
+
|
|
16
|
+
### Step 3: Generate Descriptions
|
|
17
|
+
|
|
18
|
+
- Read each file to understand its actual purpose and create brief (3-10 word) descriptions based on the content, not just the filename
|
|
19
|
+
|
|
20
|
+
### Step 4: Create/Update Index
|
|
21
|
+
|
|
22
|
+
- Write or update index.md with organized file listings
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## OUTPUT FORMAT
|
|
26
|
+
|
|
27
|
+
```markdown
|
|
28
|
+
# Directory Index
|
|
29
|
+
|
|
30
|
+
## Files
|
|
31
|
+
|
|
32
|
+
- **[filename.ext](./filename.ext)** - Brief description
|
|
33
|
+
- **[another-file.ext](./another-file.ext)** - Brief description
|
|
34
|
+
|
|
35
|
+
## Subdirectories
|
|
36
|
+
|
|
37
|
+
### subfolder/
|
|
38
|
+
|
|
39
|
+
- **[file1.ext](./subfolder/file1.ext)** - Brief description
|
|
40
|
+
- **[file2.ext](./subfolder/file2.ext)** - Brief description
|
|
41
|
+
|
|
42
|
+
### another-folder/
|
|
43
|
+
|
|
44
|
+
- **[file3.ext](./another-folder/file3.ext)** - Brief description
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
## HALT CONDITIONS
|
|
49
|
+
|
|
50
|
+
- HALT if target directory does not exist or is inaccessible
|
|
51
|
+
- HALT if user does not have write permissions to create index.md
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
## VALIDATION
|
|
55
|
+
|
|
56
|
+
- Use relative paths starting with ./
|
|
57
|
+
- Group similar files together
|
|
58
|
+
- Read file contents to generate accurate descriptions - don't guess from filenames
|
|
59
|
+
- Keep descriptions concise but informative (3-10 words)
|
|
60
|
+
- Sort alphabetically within groups
|
|
61
|
+
- Skip hidden files (starting with .) unless specified
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
type: skill
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: party-mode
|
|
3
|
-
description: 'Orchestrates group discussions between all installed XiaoMa agents, enabling natural multi-agent conversations. Use when user requests party mode.'
|
|
4
2
|
---
|
|
5
3
|
|
|
6
4
|
# Party Mode Workflow
|
|
@@ -36,7 +34,6 @@ Load config from `{project-root}/_xiaoma/core/config.yaml` and resolve:
|
|
|
36
34
|
|
|
37
35
|
### Paths
|
|
38
36
|
|
|
39
|
-
- `installed_path` = `{project-root}/_xiaoma/core/workflows/party-mode`
|
|
40
37
|
- `agent_manifest_path` = `{project-root}/_xiaoma/_config/agent-manifest.csv`
|
|
41
38
|
- `standalone_mode` = `true` (party mode is an interactive workflow)
|
|
42
39
|
|
|
@@ -115,7 +112,6 @@ Load step: `./steps/step-02-discussion-orchestration.md`
|
|
|
115
112
|
```yaml
|
|
116
113
|
---
|
|
117
114
|
stepsCompleted: [1]
|
|
118
|
-
workflowType: 'party-mode'
|
|
119
115
|
user_name: '{{user_name}}'
|
|
120
116
|
date: '{{date}}'
|
|
121
117
|
agents_loaded: true
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
type: skill
|
|
@@ -3,4 +3,4 @@ name: xiaoma-review-adversarial-general
|
|
|
3
3
|
description: 'Perform a Cynical Review and produce a findings report. Use when the user requests a critical review of something'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
Follow the instructions in
|
|
6
|
+
Follow the instructions in ./workflow.md.
|