dsh-compound-engineering 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +160 -2
- package/README.zh.md +161 -0
- package/cordis.patch.yml +6 -0
- package/lib/frontmatter.js +167 -0
- package/lib/index.js +46 -0
- package/lib/provider.js +201 -0
- package/package.json +62 -4
- package/skills/CODING_STANDARDS.md +68 -0
- package/skills/ce-babysit-pr/SKILL.md +59 -0
- package/skills/ce-babysit-pr/references/branch-currency.md +22 -0
- package/skills/ce-babysit-pr/references/envelope.md +44 -0
- package/skills/ce-babysit-pr/references/pipeline.md +15 -0
- package/skills/ce-babysit-pr/references/report.md +20 -0
- package/skills/ce-babysit-pr/references/settle.md +37 -0
- package/skills/ce-babysit-pr/references/setup.md +33 -0
- package/skills/ce-babysit-pr/references/stack-commands.md +39 -0
- package/skills/ce-babysit-pr/references/stack.md +43 -0
- package/skills/ce-babysit-pr/references/tick.md +102 -0
- package/skills/ce-babysit-pr/references/watch-loop.md +222 -0
- package/skills/ce-babysit-pr/scripts/pr-snapshot +3656 -0
- package/skills/ce-bakeoff/SKILL.md +48 -0
- package/skills/ce-bakeoff/references/candidates.md +37 -0
- package/skills/ce-bakeoff/references/judging.md +19 -0
- package/skills/ce-bakeoff/references/output.md +11 -0
- package/skills/ce-bakeoff/references/verification.md +15 -0
- package/skills/ce-brainstorm/SKILL.md +69 -0
- package/skills/ce-brainstorm/references/agents/slack-researcher.md +127 -0
- package/skills/ce-brainstorm/references/approaches.md +57 -0
- package/skills/ce-brainstorm/references/bakeoff.md +9 -0
- package/skills/ce-brainstorm/references/blindspot-pass.md +70 -0
- package/skills/ce-brainstorm/references/brainstorm-sections.md +458 -0
- package/skills/ce-brainstorm/references/dialogue.md +89 -0
- package/skills/ce-brainstorm/references/handoff.md +187 -0
- package/skills/ce-brainstorm/references/html-rendering.md +638 -0
- package/skills/ce-brainstorm/references/interaction-rules.md +33 -0
- package/skills/ce-brainstorm/references/markdown-rendering.md +242 -0
- package/skills/ce-brainstorm/references/model-tiers.md +13 -0
- package/skills/ce-brainstorm/references/output-mode.md +26 -0
- package/skills/ce-brainstorm/references/phase-0.md +104 -0
- package/skills/ce-brainstorm/references/plan-write.md +32 -0
- package/skills/ce-brainstorm/references/product-pressure-test.md +42 -0
- package/skills/ce-brainstorm/references/reasoning-elevation.md +124 -0
- package/skills/ce-brainstorm/references/settled-decisions.md +45 -0
- package/skills/ce-brainstorm/references/synthesis-summary.md +149 -0
- package/skills/ce-brainstorm/references/universal-brainstorming.md +72 -0
- package/skills/ce-brainstorm/references/verdict-routing.md +26 -0
- package/skills/ce-brainstorm/references/visual-probes.md +164 -0
- package/skills/ce-brainstorm/scripts/elevation-dispatch.sh +288 -0
- package/skills/ce-brainstorm/scripts/light-webserver.js +1275 -0
- package/skills/ce-brainstorm/scripts/packs-resolve.py +737 -0
- package/skills/ce-brainstorm/scripts/peer-job-runner.py +2594 -0
- package/skills/ce-code-review/SKILL.md +40 -0
- package/skills/ce-code-review/references/action-class-rubric.md +67 -0
- package/skills/ce-code-review/references/cross-model-recovery.md +38 -0
- package/skills/ce-code-review/references/cross-model-review.md +191 -0
- package/skills/ce-code-review/references/depth-paths.md +32 -0
- package/skills/ce-code-review/references/diff-scope.md +59 -0
- package/skills/ce-code-review/references/dispatch-reviewers.md +135 -0
- package/skills/ce-code-review/references/findings-schema.json +125 -0
- package/skills/ce-code-review/references/finish-input.md +118 -0
- package/skills/ce-code-review/references/finish-review.md +202 -0
- package/skills/ce-code-review/references/intent-and-plan.md +73 -0
- package/skills/ce-code-review/references/modes-and-output.md +156 -0
- package/skills/ce-code-review/references/persona-catalog.md +66 -0
- package/skills/ce-code-review/references/personas/adversarial-reviewer.md +111 -0
- package/skills/ce-code-review/references/personas/agent-native-reviewer.md +173 -0
- package/skills/ce-code-review/references/personas/api-contract-reviewer.md +44 -0
- package/skills/ce-code-review/references/personas/correctness-reviewer.md +48 -0
- package/skills/ce-code-review/references/personas/data-migration-reviewer.md +111 -0
- package/skills/ce-code-review/references/personas/deployment-verification-agent.md +157 -0
- package/skills/ce-code-review/references/personas/julik-frontend-races-reviewer.md +45 -0
- package/skills/ce-code-review/references/personas/learnings-researcher.md +260 -0
- package/skills/ce-code-review/references/personas/maintainability-reviewer.md +85 -0
- package/skills/ce-code-review/references/personas/performance-reviewer.md +45 -0
- package/skills/ce-code-review/references/personas/previous-comments-reviewer.md +59 -0
- package/skills/ce-code-review/references/personas/project-standards-reviewer.md +77 -0
- package/skills/ce-code-review/references/personas/reliability-reviewer.md +49 -0
- package/skills/ce-code-review/references/personas/security-reviewer.md +50 -0
- package/skills/ce-code-review/references/personas/swift-ios-reviewer.md +99 -0
- package/skills/ce-code-review/references/personas/testing-reviewer.md +51 -0
- package/skills/ce-code-review/references/review-output-template.md +172 -0
- package/skills/ce-code-review/references/scope.md +176 -0
- package/skills/ce-code-review/references/select-and-route.md +93 -0
- package/skills/ce-code-review/references/subagent-template.md +206 -0
- package/skills/ce-code-review/references/validator-batch-template.md +67 -0
- package/skills/ce-code-review/scripts/cross-model-adversarial-review.sh +1275 -0
- package/skills/ce-code-review/scripts/findings-mechanics.py +274 -0
- package/skills/ce-code-review/scripts/packs-resolve.py +737 -0
- package/skills/ce-code-review/scripts/peer-job-runner.py +2594 -0
- package/skills/ce-code-review/scripts/review-scope.py +419 -0
- package/skills/ce-code-review/scripts/run-log.py +280 -0
- package/skills/ce-commit/SKILL.md +60 -0
- package/skills/ce-commit-push-pr/SKILL.md +69 -0
- package/skills/ce-commit-push-pr/references/apply-and-handoff.md +79 -0
- package/skills/ce-commit-push-pr/references/branch-creation.md +47 -0
- package/skills/ce-commit-push-pr/references/commit-and-push.md +26 -0
- package/skills/ce-commit-push-pr/references/compose.md +29 -0
- package/skills/ce-commit-push-pr/references/context.md +42 -0
- package/skills/ce-commit-push-pr/references/gh-stack-cli.md +83 -0
- package/skills/ce-commit-push-pr/references/pr-description-writing.md +208 -0
- package/skills/ce-commit-push-pr/references/stack-submit.md +81 -0
- package/skills/ce-compound/SKILL.md +79 -0
- package/skills/ce-compound/assets/resolution-template.md +96 -0
- package/skills/ce-compound/references/agents/best-practices-researcher.md +115 -0
- package/skills/ce-compound/references/agents/data-integrity-guardian.md +68 -0
- package/skills/ce-compound/references/agents/framework-docs-researcher.md +93 -0
- package/skills/ce-compound/references/agents/pattern-recognition-specialist.md +55 -0
- package/skills/ce-compound/references/agents/performance-oracle.md +108 -0
- package/skills/ce-compound/references/agents/security-sentinel.md +91 -0
- package/skills/ce-compound/references/agents/session-historian.md +82 -0
- package/skills/ce-compound/references/assembly.md +127 -0
- package/skills/ce-compound/references/concepts-vocabulary.md +98 -0
- package/skills/ce-compound/references/enhancement.md +42 -0
- package/skills/ce-compound/references/grounding-validation.md +89 -0
- package/skills/ce-compound/references/lightweight.md +56 -0
- package/skills/ce-compound/references/modes.md +13 -0
- package/skills/ce-compound/references/refresh-and-discoverability.md +96 -0
- package/skills/ce-compound/references/report.md +115 -0
- package/skills/ce-compound/references/research.md +144 -0
- package/skills/ce-compound/references/schema.yaml +236 -0
- package/skills/ce-compound/references/session-history.md +73 -0
- package/skills/ce-compound/references/yaml-schema.md +130 -0
- package/skills/ce-compound/scripts/packs-resolve.py +737 -0
- package/skills/ce-compound/scripts/session-history/__pycache__/dsh_session.cpython-314.pyc +0 -0
- package/skills/ce-compound/scripts/session-history/discover-sessions.sh +290 -0
- package/skills/ce-compound/scripts/session-history/discover_dsh.py +123 -0
- package/skills/ce-compound/scripts/session-history/dsh_session.py +225 -0
- package/skills/ce-compound/scripts/session-history/extract-errors.py +178 -0
- package/skills/ce-compound/scripts/session-history/extract-metadata.py +301 -0
- package/skills/ce-compound/scripts/session-history/extract-skeleton.py +346 -0
- package/skills/ce-compound/scripts/validate-doc-claims.py +497 -0
- package/skills/ce-compound/scripts/validate-frontmatter.py +137 -0
- package/skills/ce-compound-refresh/SKILL.md +88 -0
- package/skills/ce-compound-refresh/assets/resolution-template.md +96 -0
- package/skills/ce-compound-refresh/references/classify.md +42 -0
- package/skills/ce-compound-refresh/references/commit.md +7 -0
- package/skills/ce-compound-refresh/references/concepts-vocabulary.md +116 -0
- package/skills/ce-compound-refresh/references/discoverability.md +15 -0
- package/skills/ce-compound-refresh/references/investigate.md +23 -0
- package/skills/ce-compound-refresh/references/modes.md +27 -0
- package/skills/ce-compound-refresh/references/per-action-flows.md +142 -0
- package/skills/ce-compound-refresh/references/report.md +23 -0
- package/skills/ce-compound-refresh/references/schema.yaml +236 -0
- package/skills/ce-compound-refresh/references/scope.md +18 -0
- package/skills/ce-compound-refresh/references/worth-audit.md +35 -0
- package/skills/ce-compound-refresh/references/yaml-schema.md +130 -0
- package/skills/ce-compound-refresh/scripts/validate-doc-claims.py +497 -0
- package/skills/ce-compound-refresh/scripts/validate-frontmatter.py +137 -0
- package/skills/ce-debug/SKILL.md +122 -0
- package/skills/ce-debug/references/anti-patterns.md +91 -0
- package/skills/ce-debug/references/defense-in-depth.md +39 -0
- package/skills/ce-debug/references/fix.md +21 -0
- package/skills/ce-debug/references/investigate.md +114 -0
- package/skills/ce-debug/references/investigation-techniques.md +384 -0
- package/skills/ce-debug/references/pipeline-mode.md +78 -0
- package/skills/ce-debug/references/post-fix-handoff.md +60 -0
- package/skills/ce-debug/references/return-to-caller.md +57 -0
- package/skills/ce-doc-review/SKILL.md +75 -0
- package/skills/ce-doc-review/references/bulk-preview.md +146 -0
- package/skills/ce-doc-review/references/cross-model-review.md +207 -0
- package/skills/ce-doc-review/references/decision-primer.md +47 -0
- package/skills/ce-doc-review/references/dispatch.md +56 -0
- package/skills/ce-doc-review/references/document-intake.md +44 -0
- package/skills/ce-doc-review/references/findings-schema.json +85 -0
- package/skills/ce-doc-review/references/modes.md +20 -0
- package/skills/ce-doc-review/references/open-questions-defer.md +158 -0
- package/skills/ce-doc-review/references/persona-selection.md +41 -0
- package/skills/ce-doc-review/references/personas/adversarial-document-reviewer.md +109 -0
- package/skills/ce-doc-review/references/personas/coherence-reviewer.md +69 -0
- package/skills/ce-doc-review/references/personas/design-lens-reviewer.md +48 -0
- package/skills/ce-doc-review/references/personas/feasibility-reviewer.md +50 -0
- package/skills/ce-doc-review/references/personas/product-lens-reviewer.md +85 -0
- package/skills/ce-doc-review/references/personas/scope-guardian-reviewer.md +83 -0
- package/skills/ce-doc-review/references/personas/security-lens-reviewer.md +41 -0
- package/skills/ce-doc-review/references/personas/whole-doc-reviewer.md +25 -0
- package/skills/ce-doc-review/references/rendering-floor.md +175 -0
- package/skills/ce-doc-review/references/review-output-template.md +123 -0
- package/skills/ce-doc-review/references/subagent-template.md +188 -0
- package/skills/ce-doc-review/references/synthesis-and-presentation.md +350 -0
- package/skills/ce-doc-review/references/walkthrough.md +347 -0
- package/skills/ce-doc-review/scripts/cross-model-doc-review.sh +1270 -0
- package/skills/ce-doc-review/scripts/packs-resolve.py +737 -0
- package/skills/ce-doc-review/scripts/peer-job-runner.py +2594 -0
- package/skills/ce-dogfood/SKILL.md +66 -0
- package/skills/ce-dogfood/agents/openai.yaml +2 -0
- package/skills/ce-dogfood/references/dogfood-report-template.md +97 -0
- package/skills/ce-dogfood/references/phases.md +167 -0
- package/skills/ce-dogfood/references/test-matrix-taxonomy.md +62 -0
- package/skills/ce-dogfood/scripts/packs-resolve.py +737 -0
- package/skills/ce-explain/SKILL.md +81 -0
- package/skills/ce-explain/references/agents/behavior-trace-scout.md +19 -0
- package/skills/ce-explain/references/agents/work-recap-scout.md +23 -0
- package/skills/ce-explain/references/check-in.md +18 -0
- package/skills/ce-explain/references/destinations.md +35 -0
- package/skills/ce-explain/references/explainer-html.md +29 -0
- package/skills/ce-explain/references/explainer-markdown.md +24 -0
- package/skills/ce-explain/references/intake.md +50 -0
- package/skills/ce-explain/references/orchestration.md +46 -0
- package/skills/ce-handoff/SKILL.md +54 -0
- package/skills/ce-handoff/references/create.md +88 -0
- package/skills/ce-handoff/references/resume.md +46 -0
- package/skills/ce-ideate/SKILL.md +75 -0
- package/skills/ce-ideate/references/agents/issue-intelligence-analyst.md +166 -0
- package/skills/ce-ideate/references/agents/learnings-researcher.md +247 -0
- package/skills/ce-ideate/references/agents/slack-researcher.md +127 -0
- package/skills/ce-ideate/references/agents/web-researcher.md +121 -0
- package/skills/ce-ideate/references/decomposition.md +39 -0
- package/skills/ce-ideate/references/divergent-ideation.md +112 -0
- package/skills/ce-ideate/references/grounding.md +138 -0
- package/skills/ce-ideate/references/html-rendering.md +638 -0
- package/skills/ce-ideate/references/ideation-sections.md +191 -0
- package/skills/ce-ideate/references/issue-intelligence.md +44 -0
- package/skills/ce-ideate/references/markdown-rendering.md +242 -0
- package/skills/ce-ideate/references/output-mode.md +34 -0
- package/skills/ce-ideate/references/post-ideation-workflow.md +169 -0
- package/skills/ce-ideate/references/scope-gates.md +148 -0
- package/skills/ce-ideate/references/universal-ideation.md +119 -0
- package/skills/ce-ideate/references/user-research-artifacts.md +28 -0
- package/skills/ce-ideate/references/web-research-cache.md +56 -0
- package/skills/ce-noslop/SKILL.md +45 -0
- package/skills/ce-noslop/references/patterns.md +61 -0
- package/skills/ce-noslop/references/terminology.md +3 -0
- package/skills/ce-optimize/SKILL.md +64 -0
- package/skills/ce-optimize/references/agents/learnings-researcher.md +247 -0
- package/skills/ce-optimize/references/agents/repo-research-analyst.md +258 -0
- package/skills/ce-optimize/references/example-expensive-benchmark-spec.yaml +88 -0
- package/skills/ce-optimize/references/example-hard-spec.yaml +64 -0
- package/skills/ce-optimize/references/example-judge-spec.yaml +83 -0
- package/skills/ce-optimize/references/example-text-target-spec.yaml +80 -0
- package/skills/ce-optimize/references/experiment-log-schema.yaml +563 -0
- package/skills/ce-optimize/references/experiment-prompt-template.md +143 -0
- package/skills/ce-optimize/references/judge-prompt-template.md +117 -0
- package/skills/ce-optimize/references/loop.md +286 -0
- package/skills/ce-optimize/references/measurement.md +168 -0
- package/skills/ce-optimize/references/optimize-spec-schema.yaml +570 -0
- package/skills/ce-optimize/references/persistence.md +93 -0
- package/skills/ce-optimize/references/spec.md +107 -0
- package/skills/ce-optimize/references/text-targets.md +51 -0
- package/skills/ce-optimize/references/usage-guide.md +147 -0
- package/skills/ce-optimize/references/wrap-up.md +54 -0
- package/skills/ce-optimize/scripts/decide.mjs +676 -0
- package/skills/ce-optimize/scripts/experiment-worktree.sh +330 -0
- package/skills/ce-optimize/scripts/measure.sh +140 -0
- package/skills/ce-optimize/scripts/parallel-probe.sh +134 -0
- package/skills/ce-plan/SKILL.md +60 -0
- package/skills/ce-plan/references/agents/agent-native-planning-strategist.md +66 -0
- package/skills/ce-plan/references/agents/architecture-strategist.md +46 -0
- package/skills/ce-plan/references/agents/best-practices-researcher.md +118 -0
- package/skills/ce-plan/references/agents/data-integrity-guardian.md +68 -0
- package/skills/ce-plan/references/agents/framework-docs-researcher.md +97 -0
- package/skills/ce-plan/references/agents/git-history-analyzer.md +40 -0
- package/skills/ce-plan/references/agents/learnings-researcher.md +268 -0
- package/skills/ce-plan/references/agents/pattern-recognition-specialist.md +55 -0
- package/skills/ce-plan/references/agents/performance-oracle.md +108 -0
- package/skills/ce-plan/references/agents/repo-research-analyst.md +262 -0
- package/skills/ce-plan/references/agents/security-sentinel.md +91 -0
- package/skills/ce-plan/references/agents/slack-researcher.md +131 -0
- package/skills/ce-plan/references/agents/spec-flow-analyzer.md +84 -0
- package/skills/ce-plan/references/agents/web-researcher.md +125 -0
- package/skills/ce-plan/references/approach-altitude.md +55 -0
- package/skills/ce-plan/references/bakeoff.md +9 -0
- package/skills/ce-plan/references/deepening-workflow.md +263 -0
- package/skills/ce-plan/references/final-review.md +134 -0
- package/skills/ce-plan/references/html-rendering.md +638 -0
- package/skills/ce-plan/references/intake.md +158 -0
- package/skills/ce-plan/references/markdown-rendering.md +242 -0
- package/skills/ce-plan/references/output-contracts.md +29 -0
- package/skills/ce-plan/references/output-mode.md +45 -0
- package/skills/ce-plan/references/plan-handoff.md +116 -0
- package/skills/ce-plan/references/plan-sections.md +489 -0
- package/skills/ce-plan/references/reasoning-elevation.md +124 -0
- package/skills/ce-plan/references/research.md +211 -0
- package/skills/ce-plan/references/resume.md +61 -0
- package/skills/ce-plan/references/settled-decisions.md +45 -0
- package/skills/ce-plan/references/structure.md +207 -0
- package/skills/ce-plan/references/synthesis-summary.md +260 -0
- package/skills/ce-plan/references/universal-planning.md +170 -0
- package/skills/ce-plan/scripts/elevation-dispatch.sh +288 -0
- package/skills/ce-plan/scripts/packs-resolve.py +737 -0
- package/skills/ce-plan/scripts/peer-job-runner.py +2594 -0
- package/skills/ce-polish/SKILL.md +22 -0
- package/skills/ce-polish/agents/openai.yaml +2 -0
- package/skills/ce-polish/references/dev-server-astro.md +58 -0
- package/skills/ce-polish/references/dev-server-detection.md +40 -0
- package/skills/ce-polish/references/dev-server-next.md +61 -0
- package/skills/ce-polish/references/dev-server-nuxt.md +58 -0
- package/skills/ce-polish/references/dev-server-procfile.md +59 -0
- package/skills/ce-polish/references/dev-server-rails.md +50 -0
- package/skills/ce-polish/references/dev-server-remix.md +58 -0
- package/skills/ce-polish/references/dev-server-sveltekit.md +58 -0
- package/skills/ce-polish/references/dev-server-vite.md +48 -0
- package/skills/ce-polish/references/install-riffrec.md +35 -0
- package/skills/ce-polish/references/launch-json-schema.md +177 -0
- package/skills/ce-polish/references/live-loop.md +98 -0
- package/skills/ce-polish/references/live-remote.md +35 -0
- package/skills/ce-polish/references/live-start.md +93 -0
- package/skills/ce-polish/references/live-stream-contract.md +253 -0
- package/skills/ce-polish/references/run.md +67 -0
- package/skills/ce-polish/scripts/detect-project-type.sh +277 -0
- package/skills/ce-polish/scripts/detect-riffrec.sh +225 -0
- package/skills/ce-polish/scripts/live-endpoint.js +2841 -0
- package/skills/ce-polish/scripts/read-launch-json.sh +117 -0
- package/skills/ce-polish/scripts/resolve-package-manager.sh +95 -0
- package/skills/ce-polish/scripts/resolve-port.sh +307 -0
- package/skills/ce-pov/SKILL.md +64 -0
- package/skills/ce-pov/references/agents/external-evidence-researcher.md +26 -0
- package/skills/ce-pov/references/agents/pov-peer.md +43 -0
- package/skills/ce-pov/references/agents/precedent-activity-scout.md +21 -0
- package/skills/ce-pov/references/agents/project-grounding-scout.md +32 -0
- package/skills/ce-pov/references/boundaries.md +36 -0
- package/skills/ce-pov/references/cross-model-panel.md +596 -0
- package/skills/ce-pov/references/followup.md +9 -0
- package/skills/ce-pov/references/grounding.md +47 -0
- package/skills/ce-pov/references/intake.md +61 -0
- package/skills/ce-pov/references/invocation.md +47 -0
- package/skills/ce-pov/references/method.md +68 -0
- package/skills/ce-pov/references/pov-schema.json +56 -0
- package/skills/ce-pov/references/report.md +7 -0
- package/skills/ce-pov/scripts/cross-model-pov.sh +1110 -0
- package/skills/ce-pov/scripts/peer-job-runner.py +2594 -0
- package/skills/ce-product-pulse/SKILL.md +81 -0
- package/skills/ce-product-pulse/agents/openai.yaml +2 -0
- package/skills/ce-product-pulse/references/config.md +20 -0
- package/skills/ce-product-pulse/references/interview.md +260 -0
- package/skills/ce-product-pulse/references/report-template.md +89 -0
- package/skills/ce-product-pulse/references/run.md +46 -0
- package/skills/ce-product-pulse/references/setup.md +43 -0
- package/skills/ce-promote/SKILL.md +90 -0
- package/skills/ce-promote/agents/openai.yaml +2 -0
- package/skills/ce-promote/references/spiral-cli.md +149 -0
- package/skills/ce-proof/SKILL.md +65 -0
- package/skills/ce-proof/references/api.md +176 -0
- package/skills/ce-proof/references/workflows.md +124 -0
- package/skills/ce-prototype/SKILL.md +59 -0
- package/skills/ce-prototype/assets/annotate.css +206 -0
- package/skills/ce-prototype/assets/annotate.js +837 -0
- package/skills/ce-prototype/references/annotation-loop.md +32 -0
- package/skills/ce-prototype/references/build.md +39 -0
- package/skills/ce-prototype/references/craft-floor.md +43 -0
- package/skills/ce-prototype/references/preview.md +118 -0
- package/skills/ce-prototype/references/scoping.md +38 -0
- package/skills/ce-prototype/references/write-back.md +37 -0
- package/skills/ce-prototype/scripts/light-webserver.js +1275 -0
- package/skills/ce-resolve-pr-feedback/SKILL.md +60 -0
- package/skills/ce-resolve-pr-feedback/references/agents/pr-comment-resolver.md +59 -0
- package/skills/ce-resolve-pr-feedback/references/evaluation-rubric.md +141 -0
- package/skills/ce-resolve-pr-feedback/references/full-mode.md +336 -0
- package/skills/ce-resolve-pr-feedback/references/pipeline-mode.md +23 -0
- package/skills/ce-resolve-pr-feedback/references/resume.md +60 -0
- package/skills/ce-resolve-pr-feedback/references/return-to-caller.md +111 -0
- package/skills/ce-resolve-pr-feedback/references/targeted-mode.md +48 -0
- package/skills/ce-resolve-pr-feedback/scripts/get-pr-comments +176 -0
- package/skills/ce-resolve-pr-feedback/scripts/get-thread-for-comment +84 -0
- package/skills/ce-resolve-pr-feedback/scripts/pending-feedback.py +287 -0
- package/skills/ce-resolve-pr-feedback/scripts/reply-to-pr-thread +57 -0
- package/skills/ce-resolve-pr-feedback/scripts/resolve-pr-thread +23 -0
- package/skills/ce-retune/SKILL.md +42 -0
- package/skills/ce-retune/agents/openai.yaml +2 -0
- package/skills/ce-retune/references/baseline-mining.md +122 -0
- package/skills/ce-retune/references/corpus-audit.md +128 -0
- package/skills/ce-retune/references/cut-passes.md +129 -0
- package/skills/ce-retune/references/halt-taxonomy.md +123 -0
- package/skills/ce-retune/references/noise-floor.md +131 -0
- package/skills/ce-retune/references/workflow-shapes.md +73 -0
- package/skills/ce-riffrec-feedback-analysis/SKILL.md +33 -0
- package/skills/ce-riffrec-feedback-analysis/references/analyzer.md +18 -0
- package/skills/ce-riffrec-feedback-analysis/references/compound-engineering-feedback-format.md +116 -0
- package/skills/ce-riffrec-feedback-analysis/references/extensive-analysis.md +98 -0
- package/skills/ce-riffrec-feedback-analysis/references/install-riffrec.md +27 -0
- package/skills/ce-riffrec-feedback-analysis/references/quick-bug-report.md +38 -0
- package/skills/ce-riffrec-feedback-analysis/scripts/analyze_riffrec_zip.py +1306 -0
- package/skills/ce-setup/SKILL.md +103 -0
- package/skills/ce-setup/agents/openai.yaml +2 -0
- package/skills/ce-setup/assets/compounding-directive.md +11 -0
- package/skills/ce-setup/assets/noslop-directive.md +7 -0
- package/skills/ce-setup/assets/pack-rule-template.md +11 -0
- package/skills/ce-setup/references/acpx-cache-warm.md +14 -0
- package/skills/ce-setup/references/config-template.yaml +210 -0
- package/skills/ce-setup/references/legacy-codex-tool-map.md +15 -0
- package/skills/ce-setup/references/pack-scaffold.md +45 -0
- package/skills/ce-setup/references/repo-fixes.md +121 -0
- package/skills/ce-setup/scripts/check-health +929 -0
- package/skills/ce-setup/scripts/packs-resolve.py +737 -0
- package/skills/ce-simplify-code/SKILL.md +76 -0
- package/skills/ce-simplify-code/references/personas/code-quality-reviewer.md +17 -0
- package/skills/ce-simplify-code/references/personas/code-reuse-reviewer.md +7 -0
- package/skills/ce-simplify-code/references/personas/comment-reviewer.md +24 -0
- package/skills/ce-simplify-code/references/personas/efficiency-reviewer.md +11 -0
- package/skills/ce-simplify-code/references/personas/test-value-reviewer.md +23 -0
- package/skills/ce-simplify-code/references/reviewer-dispatch.md +11 -0
- package/skills/ce-simplify-code/references/standalone-report.md +25 -0
- package/skills/ce-strategy/SKILL.md +61 -0
- package/skills/ce-strategy/references/grounding.md +22 -0
- package/skills/ce-strategy/references/interview.md +179 -0
- package/skills/ce-strategy/references/strategy-template.md +94 -0
- package/skills/ce-strategy/references/update-run.md +33 -0
- package/skills/ce-sweep/SKILL.md +93 -0
- package/skills/ce-sweep/agents/openai.yaml +2 -0
- package/skills/ce-sweep/references/agents/media-analyzer.md +54 -0
- package/skills/ce-sweep/references/interview.md +208 -0
- package/skills/ce-sweep/references/model-tiers.md +13 -0
- package/skills/ce-sweep/references/plan-template.md +62 -0
- package/skills/ce-sweep/references/run.md +126 -0
- package/skills/ce-sweep/references/sources/email.md +57 -0
- package/skills/ce-sweep/references/sources/github-issues.md +59 -0
- package/skills/ce-sweep/references/sources/slack.md +61 -0
- package/skills/ce-sweep/references/state-schema.md +157 -0
- package/skills/ce-sweep/references/subagent-template.md +60 -0
- package/skills/ce-sweep/scripts/analyze_riffrec_zip.py +1306 -0
- package/skills/ce-sweep/scripts/sweep-state.py +793 -0
- package/skills/ce-test-browser/SKILL.md +50 -0
- package/skills/ce-test-browser/references/agent-browser-driver.md +47 -0
- package/skills/ce-test-browser/references/pipeline-orchestration.md +45 -0
- package/skills/ce-test-browser/references/route-and-report.md +129 -0
- package/skills/ce-test-browser/scripts/resolve-port.sh +41 -0
- package/skills/ce-test-xcode/SKILL.md +26 -0
- package/skills/ce-test-xcode/agents/openai.yaml +2 -0
- package/skills/ce-test-xcode/references/setup-and-build.md +32 -0
- package/skills/ce-test-xcode/references/test-and-report.md +64 -0
- package/skills/ce-work/SKILL.md +62 -0
- package/skills/ce-work/references/agents/figma-design-sync.md +27 -0
- package/skills/ce-work/references/agents/implementation-worker.md +17 -0
- package/skills/ce-work/references/cross-model-execution.md +191 -0
- package/skills/ce-work/references/execution-engines.md +64 -0
- package/skills/ce-work/references/execution-strategy.md +73 -0
- package/skills/ce-work/references/implementation-loop.md +107 -0
- package/skills/ce-work/references/implementation-result-schema.json +52 -0
- package/skills/ce-work/references/input-triage.md +50 -0
- package/skills/ce-work/references/non-code-execution.md +23 -0
- package/skills/ce-work/references/return-to-caller.md +33 -0
- package/skills/ce-work/references/review-findings-followup.md +82 -0
- package/skills/ce-work/references/shipping-workflow.md +89 -0
- package/skills/ce-work/references/tracker-defer.md +150 -0
- package/skills/ce-work/references/work-intake.md +51 -0
- package/skills/ce-work/references/workspace-setup.md +27 -0
- package/skills/ce-work/scripts/__pycache__/unit_workspace_jobs.cpython-314.pyc +0 -0
- package/skills/ce-work/scripts/__pycache__/unit_workspace_state.cpython-314.pyc +0 -0
- package/skills/ce-work/scripts/cross-model-work.sh +1385 -0
- package/skills/ce-work/scripts/peer-job-runner.py +2594 -0
- package/skills/ce-work/scripts/unit-workspace.py +215 -0
- package/skills/ce-work/scripts/unit_workspace_ignored.py +93 -0
- package/skills/ce-work/scripts/unit_workspace_integration.py +677 -0
- package/skills/ce-work/scripts/unit_workspace_jobs.py +1216 -0
- package/skills/ce-work/scripts/unit_workspace_lifecycle.py +981 -0
- package/skills/ce-work/scripts/unit_workspace_state.py +1379 -0
- package/skills/ce-work/scripts/unit_workspace_transaction.py +612 -0
- package/skills/ce-worktree/SKILL.md +54 -0
- package/skills/lfg/SKILL.md +59 -0
- package/skills/lfg/references/debug-return.md +25 -0
- package/skills/lfg/references/intake.md +30 -0
- package/skills/lfg/references/next-work-handoff.md +96 -0
- package/skills/lfg/references/plan-brief.md +36 -0
- package/skills/lfg/references/review-followup.md +78 -0
- package/skills/lfg/references/shipping.md +65 -0
- package/skills/lfg/references/stage-routing.md +49 -0
- package/skills/lfg/references/task-visibility.md +11 -0
- package/skills/lfg/references/tracker-defer.md +150 -0
- package/skills/lfg/references/work-return.md +27 -0
- package/skills/wtf/SKILL.md +33 -0
- package/skills/wtf/agents/openai.yaml +2 -0
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
# Plan Intake
|
|
2
|
+
|
|
3
|
+
Phase 0.2 through 0.7 of `ce-plan`. Read this before resolving the upstream product source. The principles and quality bar below govern every phase from here on.
|
|
4
|
+
|
|
5
|
+
## Core Principles
|
|
6
|
+
|
|
7
|
+
1. **Use the Product Contract as the source of truth** - If `ce-brainstorm` produced a requirements-only unified plan, planning should enrich it in place rather than re-inventing behavior or creating a second artifact.
|
|
8
|
+
2. **Decisions, not code** - Capture approach, boundaries, files, dependencies, risks, and test scenarios. Do not pre-write implementation code or shell command choreography. Pseudo-code sketches or DSL grammars that communicate high-level technical design are welcome when they help a reviewer validate direction — but they must be explicitly framed as directional guidance, not implementation specification.
|
|
9
|
+
3. **Research before structuring** - Explore the codebase, institutional learnings, and external guidance when warranted before finalizing the plan.
|
|
10
|
+
4. **Right-size the artifact** - Small work gets a compact plan. Large work gets more structure. The philosophy stays the same at every depth.
|
|
11
|
+
5. **Separate planning from execution discovery** - Resolve planning-time questions here. Explicitly defer execution-time unknowns to implementation.
|
|
12
|
+
6. **Keep the plan portable** - The plan should work as a living document, review artifact, or issue body without embedding tool-specific executor instructions.
|
|
13
|
+
7. **Carry execution direction lightly when it matters** - If the request, origin document, or repo context clearly implies test-first proof, characterization coverage, smoke-first verification, or another non-default execution direction, reflect that in the plan as a lightweight natural-language signal. Do not encode it as a finite enum or turn the plan into step-by-step execution choreography.
|
|
14
|
+
8. **Honor user-named resources** - When the user names a specific resource — a CLI, MCP server, URL, file, doc link, or prior artifact — treat it as authoritative input, not a suggestion. Discover it if unknown (`command -v`, fetch, read) before assuming it's unavailable. Use it in place of generic alternatives. If it fails or doesn't exist, say so explicitly rather than silently substituting.
|
|
15
|
+
|
|
16
|
+
## Plan Quality Bar
|
|
17
|
+
|
|
18
|
+
Every plan should contain:
|
|
19
|
+
- A clear problem frame and scope boundary
|
|
20
|
+
- Concrete requirements traceability back to the request or origin document
|
|
21
|
+
- Repo-relative file paths for the work being proposed (never absolute paths — see Planning Rules)
|
|
22
|
+
- Explicit test file paths for feature-bearing implementation units
|
|
23
|
+
- Decisions with rationale, not just tasks
|
|
24
|
+
- Existing patterns or code references to follow
|
|
25
|
+
- Enumerated test scenarios for each feature-bearing unit, specific enough that an implementer knows exactly what to test without inventing coverage themselves
|
|
26
|
+
- Clear dependencies and sequencing
|
|
27
|
+
|
|
28
|
+
A plan is ready when its contents give an implementer sufficient direction and no launch-blocking question remains. Verify material claims about existing code and fixtures against the repository; distinguish these prerequisites from additions the plan proposes to build. Record any unresolved prerequisite that prevents implementation as a blocker.
|
|
29
|
+
|
|
30
|
+
#### 0.2 Find Upstream Product Contract
|
|
31
|
+
|
|
32
|
+
Before asking planning questions, resolve the upstream product source in this order:
|
|
33
|
+
|
|
34
|
+
1. **Explicit path from the user.** Read its contents. If a unified plan has a Product Contract but needs implementation planning, this run enriches that same file in place. If it already contains implementation planning, treat it as a resume/deepening target and resolve any gaps there. If it is a legacy `docs/brainstorms/*-requirements.{md,html}` file, use it as a legacy origin and write a new unified plan in `<root>/plans/`.
|
|
35
|
+
2. **Recent Product Contracts needing planning.** Search `<root>/plans/*.{md,html}` for unified plans from `product_contract_source: ce-brainstorm`, and inspect their contents. Follow an explicit supersession notice to its canonical path only when the linked document's contents establish that it represents the same requested work; otherwise stop for clarification. If same-basename Markdown and HTML copies exist without a clear canonical path, ask which to use; neither format nor a readiness label establishes precedence.
|
|
36
|
+
3. **Legacy requirements docs.** Search `docs/brainstorms/` for files matching `*-requirements.md` or `*-requirements.html`. These remain readable historical inputs; do not migrate or rewrite them.
|
|
37
|
+
|
|
38
|
+
**Relevance criteria:** A Product Contract source is relevant if:
|
|
39
|
+
- The topic semantically matches the feature description
|
|
40
|
+
- It was created within the last 30 days (use judgment to override if the document is clearly still relevant or clearly stale)
|
|
41
|
+
- It appears to cover the same user problem or scope
|
|
42
|
+
|
|
43
|
+
If multiple source documents match, ask which one to use using the platform's blocking question tool when available (see Interaction Method). Otherwise, present numbered options in chat and wait for the user's reply before proceeding.
|
|
44
|
+
|
|
45
|
+
**Session-settled decisions are an input tier alongside the document sources above.** Decisions already examined-and-chosen in the invoking conversation — or carried in a distilled brief passed as invocation input, from the user or a calling skill — enter planning as settled constraints, not open questions. Read `references/settled-decisions.md` before classifying decisions carried in from the conversation; it defines the settlement test, the two provenance classes, the annotation shape, the capture rules, and what a brief entry must include. Classifying without it risks labeling unexamined assertions as settled, or re-asking decisions the user already closed.
|
|
46
|
+
|
|
47
|
+
#### 0.3 Use the Product Contract as Primary Input
|
|
48
|
+
|
|
49
|
+
If a relevant requirements-only unified plan exists:
|
|
50
|
+
1. Read metadata, Goal Capsule, Product Contract, Open Questions, and Sources (scan headings to locate them; don't read long appendices unless referenced).
|
|
51
|
+
2. Announce that `ce-plan` will add the implementation planning to that same file.
|
|
52
|
+
3. Preserve the Product Contract's **meaning and stable R/A/F/AE IDs** unless planning discovers a direct conflict. Conflicts become explicit assumptions or questions; do not silently rewrite product scope.
|
|
53
|
+
- Preservation protects decisions, not bytes. **Meaning-preserving restructuring is sanctioned without a conflict:** splitting an overloaded requirement (the original R-ID keeps the original core intent; split-out parts take next unused numbers), moving a rule's full statement onto the R that governs it while slimming the Key Decision to label + annotation + `Governs R…` links, and deleting unlinked duplicate restatement. When an R is split, or a rule moves to a different R, re-point every affected `Governs R…`, `Covers R…`, and inline `per R…` citation to the IDs that now govern it; the preservation map records the change but does not replace those live links. Restructuring must not weaken a qualifier, drop an edge case, or reclassify a product constraint as an implementation preference — those are scope changes, not restructures.
|
|
54
|
+
- Because enrichment edits the same file that holds the user's product decisions, record a one-line **Product Contract preservation** note in the enriched plan: "Product Contract unchanged", "restructured, no scope change: \<old-ID → new-IDs map\>", or "changed: \<R-IDs\> — \<why\>". This keeps the WHAT/HOW review boundary visible to reviewers (`ce-doc-review`, PR review) when there is no separate brainstorm file to diff against. For a *substantive* product-scope change (not a clarification or restructure), pause and confirm with the user before writing implementation units.
|
|
55
|
+
4. Carry forward all applicable Product Contract sections listed below.
|
|
56
|
+
5. Use the Product Contract as the primary input to planning and research.
|
|
57
|
+
6. Do not create a duplicate plan unless an explicit `output:` conversion or pipeline override requires a new canonical path; when conversion happens, report old path and new canonical path.
|
|
58
|
+
|
|
59
|
+
If a relevant legacy requirements document exists:
|
|
60
|
+
1. Read it thoroughly
|
|
61
|
+
2. Announce that it will serve as the origin document for planning
|
|
62
|
+
3. Carry forward all of the following:
|
|
63
|
+
- Problem frame
|
|
64
|
+
- Actors (A-IDs), Key Flows (F-IDs), and Acceptance Examples (AE-IDs) when present — preserve these as constraints that implementation units must honor
|
|
65
|
+
- Requirements and success criteria
|
|
66
|
+
- Scope boundaries (including "Deferred for later" and "Outside this product's identity" subsections when present)
|
|
67
|
+
- Key decisions and rationale
|
|
68
|
+
- Dependencies or assumptions
|
|
69
|
+
- Outstanding questions, preserving whether they are blocking or deferred
|
|
70
|
+
4. Use the source document as the primary input to planning and research
|
|
71
|
+
5. Reference important carried-forward decisions in the plan with `(see origin: <source-path>)`
|
|
72
|
+
6. Do not silently omit source content — if the origin document discussed it, the plan must address it even if briefly. Before finalizing, scan each section of the origin document to verify nothing was dropped.
|
|
73
|
+
|
|
74
|
+
If no relevant Product Contract source exists, planning may proceed from the user's request directly and will create a complete unified plan with `product_contract_source: ce-plan-bootstrap`.
|
|
75
|
+
|
|
76
|
+
**Settled decisions get the same preservation discipline as origin Product Contract decisions.** Session-settled decisions (from the conversation or a passed brief) are augmented by research, never re-asked, and never silently rewritten. Handle contradiction evidence by its severity. Nothing found: proceed silently. Suboptimal but workable: proceed as settled, and attach a conflict call-out to the labeled KTD when the plan is written (Phase 5.2). Invalidating: stop as blocked, as the Phase 5.2 pipeline contract describes.
|
|
77
|
+
|
|
78
|
+
#### 0.4 Planning Bootstrap (No Requirements Doc or Unclear Input)
|
|
79
|
+
|
|
80
|
+
If no relevant requirements document exists, or the input needs more structure:
|
|
81
|
+
- Assess whether the request is already clear enough for direct technical planning — "clear enough" means the bootstrap exit condition below already holds, so confirm the problem frame, scope boundaries, and success signals are known or recorded as assumptions, then continue to Phase 0.5
|
|
82
|
+
- If the ambiguity is mainly product framing, user behavior, or scope definition, recommend `ce-brainstorm` as a suggestion — but always offer to continue planning here as well
|
|
83
|
+
- If the user signals they lack working knowledge of the problem domain itself, recommend `ce-brainstorm` — its blindspot pass maps the decisions the territory will force before requirements are extracted — but honor their choice to continue here; Phase 2 (Resolve Planning Questions) then applies its unfamiliar-territory scaffolding
|
|
84
|
+
- If the user wants to continue here (or was already explicit about wanting a plan), run the planning bootstrap below
|
|
85
|
+
|
|
86
|
+
The planning bootstrap should establish:
|
|
87
|
+
- Problem frame
|
|
88
|
+
- Intended behavior
|
|
89
|
+
- Scope boundaries and obvious non-goals
|
|
90
|
+
- Success criteria
|
|
91
|
+
- Blocking questions or assumptions
|
|
92
|
+
|
|
93
|
+
Keep this bootstrap brief. It exists to preserve direct-entry convenience, not to replace a full brainstorm.
|
|
94
|
+
|
|
95
|
+
**Exit condition:** Exit the bootstrap when each of these holds, OR the user explicitly wants to proceed: the problem frame is stated; the in-scope and out-of-scope boundaries that matter are known; success criteria or acceptance signals are known or recorded as assumptions. Recording an item as an assumption satisfies the boundaries and success-signal clauses. That is what lets the check pass in headless mode and on a `SKIP_SCOPING_CONFIRM` run, where no synchronous user exists to answer. The problem-frame clause is the exception: it must be **stated**, because the plan's required sections always include `Problem Frame`, and an assumed frame would either leave a mandatory section empty or promote an unvalidated guess into product scope. When the prompt does not supply one, or supplies only an approach with no outcome, derive the outcome from the request's own motivation rather than assuming it, or stop and ask; when that motivation is itself a component-level fact (a platform limit, a cost, a failure mode inside the system), follow it to what it costs the people the system serves — the approach becomes the Goal Capsule's Means, not its Objective. That derived Objective is the holdable goal, not a catalog of what the plan will cover; those assumptions go to `### Assumptions` at Phase 5.2 (Write Plan File), following the existing rule. A session-settled decision counts as already-established for every clause it covers — never re-ask it. This exit condition covers the bootstrap only; it adds no check to Phase 2's planning questions or the brainstorm-sourced Phase 5.1.5 path.
|
|
96
|
+
|
|
97
|
+
If the bootstrap uncovers major unresolved product questions:
|
|
98
|
+
- Recommend `ce-brainstorm` again
|
|
99
|
+
- If the user still wants to continue, require explicit assumptions before proceeding
|
|
100
|
+
|
|
101
|
+
If the bootstrap reveals that a different workflow would serve the user better:
|
|
102
|
+
|
|
103
|
+
- **Bug-shaped prompt** (user describes broken behavior — "fix the bug where X", error message, regression, "doesn't work"). Offer `ce-debug` as an alternative alongside continuing with `ce-plan` whenever the code with the bug is reachable (in cwd OR in a named repo found at another local path). Stay in `ce-plan` silently when the named code can't be found anywhere local — paper-planning is the only useful output when the code cannot be reached.
|
|
104
|
+
|
|
105
|
+
**When the bug is at another local path (not cwd):**
|
|
106
|
+
- Announce the target explicitly **before** any cross-repo investigation: which path will be read AND where plan outputs will land (default: target repo's `<root>/plans/`, not cwd's).
|
|
107
|
+
- Default: proceed from the target repo for both investigation and plan-write. The user can interrupt to redirect (switch context, paper-plan, abandon, etc.). No location menu — the announcement makes the cross-repo nature visible, and the user can speak up if they want something unusual.
|
|
108
|
+
- **After** announcing and proceeding, present the standard ce-debug routing menu (continue with `ce-plan` vs switch to `ce-debug`) — same shape as the in-cwd case. Cross-repo location and ce-debug skill routing are separate decisions; do not merge them into a single question.
|
|
109
|
+
|
|
110
|
+
Reading code at another path is fine in principle — that's just file access. The harm to avoid is silent operation on the wrong repo, especially writing the plan doc somewhere it won't be discovered (a busyblock plan landing in `cli-printing-press/<root>/plans/` is a discoverability disaster). The announcement requirement makes the target visible; defaulting to the target repo for both investigation and outputs respects the user's stated intent (they named that repo); the orthogonal ce-debug menu keeps the skill-choice question clean.
|
|
111
|
+
|
|
112
|
+
The accessibility classification is conservative and may under-suggest in monorepos, dependency bugs, or after renames. Users can always invoke `ce-debug` manually.
|
|
113
|
+
|
|
114
|
+
**Headless mode**: skip the `ce-debug` suggestion menu entirely; default to continuing with `ce-plan` (the user's explicit invocation). There is no synchronous user to choose between skills, and switching to `ce-debug` automatically would change the skill mid-run without authorization.
|
|
115
|
+
|
|
116
|
+
- **Clear task ready to execute** (known root cause, obvious fix, no architectural decisions) — no routing question; the Output Contract gate in SKILL.md resolves it at Phase 0.6 (Assess Plan Depth), and the user can redirect at any point.
|
|
117
|
+
|
|
118
|
+
#### 0.5 Classify Outstanding Questions Before Planning
|
|
119
|
+
|
|
120
|
+
If the origin document contains `Resolve Before Planning` or similar blocking questions:
|
|
121
|
+
- Review each one before proceeding
|
|
122
|
+
- Reclassify it into planning-owned work **only if** it is actually a technical, architectural, or research question
|
|
123
|
+
- Keep it as a blocker if it would change product behavior, scope, or success criteria
|
|
124
|
+
|
|
125
|
+
If true product blockers remain:
|
|
126
|
+
- State them clearly
|
|
127
|
+
- Ask the user, using the platform's blocking question tool when available (see Interaction Method), whether to:
|
|
128
|
+
1. Resume `ce-brainstorm` to resolve them
|
|
129
|
+
2. Convert them into explicit assumptions or decisions and continue
|
|
130
|
+
- Do not continue planning while true blockers remain unresolved
|
|
131
|
+
|
|
132
|
+
#### 0.6 Assess Plan Depth
|
|
133
|
+
|
|
134
|
+
First resolve the Output Contract gate that SKILL.md states. A Direct or Chat brief selection exits intake to `references/output-contracts.md` without classifying depth; only Durable continues here.
|
|
135
|
+
|
|
136
|
+
Classify the work into one of these plan depths:
|
|
137
|
+
|
|
138
|
+
- **Lightweight** - small, well-bounded, low ambiguity
|
|
139
|
+
- **Standard** - normal feature or bounded refactor with some technical decisions to document
|
|
140
|
+
- **Deep** - cross-cutting, strategic, high-risk, or highly ambiguous implementation work
|
|
141
|
+
|
|
142
|
+
If depth is unclear, ask one targeted question and then continue.
|
|
143
|
+
|
|
144
|
+
For a material Durable run, use the host's task-tracking capability when available to show route-level outcomes and meaningful transitions. If unavailable, continue without simulating it in chat.
|
|
145
|
+
|
|
146
|
+
#### 0.7 Solo-Mode Scoping Synthesis
|
|
147
|
+
|
|
148
|
+
Show the user the call-outs — the specific forks in scope or approach where user input materially changes the plan — so scope can be corrected **before Phase 1 research is spent**. Sub-agent dispatch (repo-research-analyst, learnings-researcher, etc.) is the expensive next step; this phase exists so that effort is not spent on the wrong scope.
|
|
149
|
+
|
|
150
|
+
Runs **only in solo invocation** — when Phase 0.2 found no upstream Product Contract source (no requirements-only unified plan and no legacy `*-requirements` doc; `product_contract_source: ce-plan-bootstrap`) AND Phase 0.4 stayed in ce-plan (did not route to ce-debug, ce-work, or universal-planning) AND Phase 0.5 cleared (no unresolved blockers) AND not on Phase 0.1 fast paths (resume normal, deepen-intent) AND Phase 0.6's Output Contract gate selected Durable. Each of these is an explicit condition. Skip Phase 0.7 entirely when any of them fails — upstream-sourced invocations (unified-plan enrichment or legacy brainstorm) defer to Phase 5.1.5 instead.
|
|
151
|
+
|
|
152
|
+
**Read `references/synthesis-summary.md` before composing the scoping synthesis.** It defines what the user sees, the confirmation and auto-proceed lines, the revision loop, soft-cut, self-redirect, headless routing, and where the internal draft lands in the plan.
|
|
153
|
+
|
|
154
|
+
**Required output of this step — do not skip; silent proceeding is not allowed.** Compose an internal three-bucket scope draft (Stated / Inferred / Out of scope — internal thinking that feeds where content goes in the plan body at Phase 5.2, not the chat output). Derive call-outs (specific forks where user input materially changes the plan), then emit the **solo-variant** synthesis and **wait for user confirmation before continuing to Phase 1.** It states the problem as you understand it, then a scope claim — what the plan will target, what it will not, at affirm-or-redirect level — never an enumeration of Implementation Units, file paths, or PR/sequencing shape (the plan-write step decides those, and they are not knowable yet). Use the confirmation or auto-proceed lines in `references/synthesis-summary.md` (loaded above) rather than reconstructing them here.
|
|
155
|
+
|
|
156
|
+
**Blocking decision:** auto-proceed — send the user the auto-proceed announcement in chat, then continue without waiting — only when plan depth is **Lightweight AND zero call-outs survive**. Standard and Deep always present the confirmation and wait for it, even with zero call-outs.
|
|
157
|
+
|
|
158
|
+
**Headless / opt-in skip:** in headless mode, or when `SKIP_SCOPING_CONFIRM` resolved to skip in Phase 0.0, do not block — compose the internal draft, skip the chat-time confirmation, and write Inferred bets into a `## Assumptions` section when the plan is written (Phase 5.2). The skip covers only this scoping confirmation; Phase 0.4 routing, Phase 0.5 blockers, Phase 2 questions, source-doc disambiguation, and the Phase 5.4 menu still happen. Announcement wording and full routing: `references/synthesis-summary.md` ("Headless mode", "When to skip the blocking confirmation").
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
# Markdown Rendering
|
|
2
|
+
|
|
3
|
+
This is a format-rendering reference — it describes how to render any
|
|
4
|
+
artifact in markdown, independent of which skill is producing it.
|
|
5
|
+
|
|
6
|
+
It is paired with a section contract (`plan-sections.md`,
|
|
7
|
+
`brainstorm-sections.md`, etc.) that describes *what* the artifact contains.
|
|
8
|
+
This reference describes *how* markdown specifically presents it. The same
|
|
9
|
+
content rendered by different skills shares the same markdown principles.
|
|
10
|
+
|
|
11
|
+
## Hard invariants
|
|
12
|
+
|
|
13
|
+
These hold regardless of which skill produced the artifact.
|
|
14
|
+
|
|
15
|
+
- **YAML frontmatter at the top of the file.** Standard `---` delimited block
|
|
16
|
+
containing the artifact's stable metadata (title, date, type, etc.
|
|
17
|
+
— exact fields are per-skill, defined in the section contract).
|
|
18
|
+
- **ASCII identifiers in anchors.** Markdown headings auto-generate anchors
|
|
19
|
+
from the heading text. Keep headings ASCII so anchors are predictable
|
|
20
|
+
(`#implementation-units`, not `#implementación-units`).
|
|
21
|
+
- **Repo-relative paths for file references.** Always. Never absolute paths
|
|
22
|
+
— they break portability across machines, worktrees, teammates.
|
|
23
|
+
- **No HTML mixed in.** Keep the markdown pure. No `<div>`, no `<details>`,
|
|
24
|
+
no inline `<style>`. The only exception is a contract-defined invisible
|
|
25
|
+
semantic marker such as `<!-- ce-section: work-relationships -->`; it carries
|
|
26
|
+
section meaning for downstream agents and does not create layout. If a layout
|
|
27
|
+
idea only works as HTML, defer it to the HTML rendering. Markdown stays
|
|
28
|
+
markdown.
|
|
29
|
+
- **No fixed-width line wrapping.** Do not hard-wrap prose to a column (e.g.
|
|
30
|
+
80 chars). Write one sentence per line, or let each paragraph flow as a
|
|
31
|
+
single line. The artifact is read rendered and shared, where fixed wraps add
|
|
32
|
+
nothing and only produce noisy mid-sentence diffs; markdown joins soft line
|
|
33
|
+
breaks within a paragraph, so wrapping never changes the rendered output.
|
|
34
|
+
- **Unified plan sections use stable headings.** For unified plan artifacts,
|
|
35
|
+
render the required sections with exact ASCII headings so agents can find
|
|
36
|
+
them by heading scan: `## Goal Capsule`, `## Product Contract`,
|
|
37
|
+
`## Planning Contract`, `## Implementation Units`, `## Verification Contract`,
|
|
38
|
+
`## Definition of Done`, and optional `## Appendix`. Requirements-only
|
|
39
|
+
artifacts omit the plan-only sections rather than emitting empty placeholders.
|
|
40
|
+
These stable headings are the wayfinding contract: consumers scan them
|
|
41
|
+
(markdown headings, or `<h1>`–`<h3>` / anchor ids in HTML) instead of reading
|
|
42
|
+
the whole document.
|
|
43
|
+
- **Goal Capsule is top-loaded.** It appears before Product Contract and long
|
|
44
|
+
appendices for fast orientation — not a hidden machine copy.
|
|
45
|
+
|
|
46
|
+
## Format principles
|
|
47
|
+
|
|
48
|
+
These shape what "good" markdown looks like; the agent applies them per
|
|
49
|
+
artifact based on content shape.
|
|
50
|
+
|
|
51
|
+
### ID prefix format
|
|
52
|
+
|
|
53
|
+
Stable IDs (R, U, A, F, AE, KTD) appear as plain prefixes at the start of
|
|
54
|
+
the bullet or heading — do NOT bold the prefix. The prefix is visually
|
|
55
|
+
distinctive on its own; bolding it inflates visual noise.
|
|
56
|
+
|
|
57
|
+
```markdown
|
|
58
|
+
- R1. The plan returns paginated sessions. ← right
|
|
59
|
+
- **R1.** The plan returns paginated sessions. ← wrong (bolded prefix)
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Same applies to unit headings: `### U1. Cloak detection in preflight contract`.
|
|
63
|
+
|
|
64
|
+
### Content shape: prose vs bullets vs tables
|
|
65
|
+
|
|
66
|
+
The same content can be rendered three ways; the agent picks per content
|
|
67
|
+
shape, not by template default.
|
|
68
|
+
|
|
69
|
+
- **Prose** when the content has narrative flow (motivation, decision
|
|
70
|
+
rationale, problem framing). Bullets fragment narrative into
|
|
71
|
+
disconnected pieces.
|
|
72
|
+
- **Bullets** when items share a parallel shape but each carries enough
|
|
73
|
+
prose to not fit a table cell.
|
|
74
|
+
- **Tables** when 5+ items share uniform structure (`ID + body`,
|
|
75
|
+
`name + value`, `decision + rationale`, `risk + mitigation`). Tables
|
|
76
|
+
scan faster at that scale and unlock additional columns (status,
|
|
77
|
+
traceability, severity) that bullets can't accommodate cleanly.
|
|
78
|
+
|
|
79
|
+
The test: which shape would a reader scan fastest for this content? If
|
|
80
|
+
items have parallel structure and 5+ instances, table. If items are 3-5
|
|
81
|
+
and each has a few lines of prose, bullets. If the content is a single
|
|
82
|
+
narrative thought, prose.
|
|
83
|
+
|
|
84
|
+
### Bold leader labels within bullets
|
|
85
|
+
|
|
86
|
+
When a bullet has substructure that benefits from named fields (Key Flows
|
|
87
|
+
with Trigger / Actors / Steps / Outcome, Acceptance Examples with Covers
|
|
88
|
+
/ Given / When / Then), use bold leader labels at the start of nested
|
|
89
|
+
bullets — not deeper heading levels.
|
|
90
|
+
|
|
91
|
+
```markdown
|
|
92
|
+
- F1. Anonymous capture
|
|
93
|
+
- **Trigger:** Agent enters Step 2a with no session.
|
|
94
|
+
- **Actors:** A1, A2
|
|
95
|
+
- **Steps:** Preflight detects cloak; agent launches; capture proceeds.
|
|
96
|
+
- **Covered by:** R1, R2, R5
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
This gives the bullet structure without needing H4/H5 headings that would
|
|
100
|
+
clutter the doc and break TOC generation.
|
|
101
|
+
|
|
102
|
+
### Section separators
|
|
103
|
+
|
|
104
|
+
For substantial artifacts, use horizontal rules (`---`) between top-level
|
|
105
|
+
H2 sections. Omit for short docs where separators would dominate.
|
|
106
|
+
|
|
107
|
+
### Tables for genuinely comparative info only
|
|
108
|
+
|
|
109
|
+
Use tables for the uniform-shape case in "Content shape" above. Don't use
|
|
110
|
+
tables to render content lists that are really bullets — markdown tables
|
|
111
|
+
are noisier in raw form and worse for diffs.
|
|
112
|
+
|
|
113
|
+
## Section anatomy
|
|
114
|
+
|
|
115
|
+
How section types commonly render in markdown. These are patterns, not
|
|
116
|
+
contracts — the agent picks the shape that fits the content.
|
|
117
|
+
|
|
118
|
+
- **Goal Capsule** — bullets or a small table for objective, means (only
|
|
119
|
+
when an approach is fixed), authority, execution profile, stop conditions, and who finishes the remaining work.
|
|
120
|
+
- **Product Contract** — H2 section containing Summary, Problem Frame,
|
|
121
|
+
Requirements, and product-scope subsections. Put Requirements under
|
|
122
|
+
`### Requirements` so review tools can distinguish Product Requirements
|
|
123
|
+
from implementation detail.
|
|
124
|
+
- **Planning Contract** — H2 section for KTDs, high-level technical design,
|
|
125
|
+
assumptions, and sequencing.
|
|
126
|
+
- **Summary / Problem Frame** — prose paragraphs.
|
|
127
|
+
- **Requirements** — bullets with `R<N>.` prefix. When requirements span
|
|
128
|
+
more than one concern, grouping under bold inline headers is the default
|
|
129
|
+
shape, not optional polish (group by capability, not by discussion order);
|
|
130
|
+
render a flat list only when every requirement is about the same thing.
|
|
131
|
+
When requirements have status, traceability, or severity that warrant
|
|
132
|
+
additional columns, escalate to a table.
|
|
133
|
+
- **Implementation Units** — H3 heading per unit with `U<N>.` prefix.
|
|
134
|
+
Fields (Goal, Files, Patterns, Test Scenarios, Verification) render as
|
|
135
|
+
bullets with bold leader labels, or as sub-headings if the field has
|
|
136
|
+
multi-paragraph content.
|
|
137
|
+
- **Verification Contract / Definition of Done** — use tables when commands,
|
|
138
|
+
applicability, unit IDs, and done signals share a uniform shape. Name
|
|
139
|
+
concrete repo commands such as `bun test` rather than generic "run tests"
|
|
140
|
+
when the repo has known commands.
|
|
141
|
+
- **Key Technical Decisions** — bullets with `KTD<N>.` plain prefix (same
|
|
142
|
+
format as `R1.`/`U1.`) + bold decision name + prose rationale. Legacy
|
|
143
|
+
plans with unnumbered KTDs stay readable by label; do not renumber
|
|
144
|
+
existing numbered ones. A `session-settled:` annotation renders as part
|
|
145
|
+
of the KTD bullet's visible text, stem preserved verbatim.
|
|
146
|
+
- **Key Flows / Acceptance Examples** — bullets with bold leader labels
|
|
147
|
+
(Trigger / Actors / Steps / Outcome / Covers / Given-When-Then).
|
|
148
|
+
- **Scope Boundaries** — bullets, optionally split into "Deferred for
|
|
149
|
+
later" / "Outside this product's identity" sub-headings when the
|
|
150
|
+
positioning distinction matters.
|
|
151
|
+
|
|
152
|
+
The agent picks more elaborate or simpler shapes based on what each
|
|
153
|
+
specific artifact's content needs.
|
|
154
|
+
|
|
155
|
+
## Diagrams
|
|
156
|
+
|
|
157
|
+
When the section contract calls for a diagram (architecture, sequence,
|
|
158
|
+
flowchart, state machine, swim lane, data-flow), markdown renders it as
|
|
159
|
+
a fenced mermaid block:
|
|
160
|
+
|
|
161
|
+
```markdown
|
|
162
|
+
` ``mermaid
|
|
163
|
+
flowchart TB
|
|
164
|
+
A[Start] --> B{Decision}
|
|
165
|
+
B -->|yes| C[Action]
|
|
166
|
+
B -->|no| D[Other action]
|
|
167
|
+
` ``
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
(`TB` direction default — keeps diagrams narrow in source view and in
|
|
171
|
+
narrow rendered viewports.)
|
|
172
|
+
|
|
173
|
+
Markdown's diagram affordances are limited compared to HTML. For
|
|
174
|
+
quantitative comparisons (bar charts, scatter plots) markdown has no
|
|
175
|
+
native equivalent — use a table with the data and let prose or caption
|
|
176
|
+
carry the interpretation. The richer visualization happens in the HTML
|
|
177
|
+
rendering.
|
|
178
|
+
|
|
179
|
+
For a **UI/layout shape** that would be a wireframe in HTML, markdown has
|
|
180
|
+
no inline-SVG wireframe affordance. Render the region composition as a
|
|
181
|
+
mermaid layout `flowchart` (or describe it in prose) — never hand-draw a
|
|
182
|
+
box-drawing/ASCII wireframe; it violates the no-box-drawing-characters rule
|
|
183
|
+
and reads poorly. The wireframe proper is an HTML-only affordance.
|
|
184
|
+
|
|
185
|
+
## Inline code and code blocks
|
|
186
|
+
|
|
187
|
+
- **Inline code** for identifiers (variable names, function names,
|
|
188
|
+
flag names, file paths, IDs that aren't section anchors).
|
|
189
|
+
- **Fenced code blocks** with language tag for code, shell commands,
|
|
190
|
+
API request/response samples. Always specify the language for syntax
|
|
191
|
+
highlighting and accessibility.
|
|
192
|
+
|
|
193
|
+
```markdown
|
|
194
|
+
The flag `--cdp-url` accepts a URL.
|
|
195
|
+
|
|
196
|
+
` ``bash
|
|
197
|
+
browser-use --cdp-url http://localhost:9222
|
|
198
|
+
` ``
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## No process exhaust
|
|
202
|
+
|
|
203
|
+
Engineering process metadata stays out of the artifact:
|
|
204
|
+
|
|
205
|
+
- No "captured at Phase X" notes
|
|
206
|
+
- No `## Next Steps` pointing to the next skill
|
|
207
|
+
- No italic provenance lines ("*Brainstorm completed 2026-05-13*")
|
|
208
|
+
- No engineering-flow shepherding ("Now read this file:", "Next, run that
|
|
209
|
+
command:")
|
|
210
|
+
|
|
211
|
+
This information belongs in commit messages, tool output, and agent
|
|
212
|
+
transcripts — not in the artifact a reader returns to weeks later.
|
|
213
|
+
|
|
214
|
+
## Frontmatter shape
|
|
215
|
+
|
|
216
|
+
Per-skill frontmatter fields are defined in each skill's section contract
|
|
217
|
+
(`plan-sections.md` lists plan frontmatter; `brainstorm-sections.md` lists
|
|
218
|
+
brainstorm frontmatter). Common rules:
|
|
219
|
+
|
|
220
|
+
- YAML at the top of the file, delimited by `---` on its own line above
|
|
221
|
+
and below.
|
|
222
|
+
- Field names in lowercase snake_case (`created_at`, `topic`, not
|
|
223
|
+
`CreatedAt`, `Topic`).
|
|
224
|
+
- **No status / lifecycle field.** Artifacts are point-in-time records
|
|
225
|
+
(decision or discovery), not tracked work items. Do not introduce a
|
|
226
|
+
mutable `status` field or an `active → completed` lifecycle — whether
|
|
227
|
+
the work shipped is derived from git, not stored in the doc.
|
|
228
|
+
- Stable across artifact revisions — never rename or repurpose a field.
|
|
229
|
+
|
|
230
|
+
## Post-write audit
|
|
231
|
+
|
|
232
|
+
Before declaring the markdown file written, scan it for these common
|
|
233
|
+
slips:
|
|
234
|
+
|
|
235
|
+
- All stable IDs are plain-prefix format, not bolded.
|
|
236
|
+
- No HTML elements mixed in.
|
|
237
|
+
- All file paths are repo-relative.
|
|
238
|
+
- Horizontal rule separators between H2s (for Standard / Deep artifacts).
|
|
239
|
+
- No process exhaust (Phase X notes, Next Steps pointers, provenance
|
|
240
|
+
lines).
|
|
241
|
+
- Tables only where 5+ uniform-shape items justify them.
|
|
242
|
+
- Frontmatter has all the per-skill required fields with reasonable values.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Direct and Chat Brief Output Contracts
|
|
2
|
+
|
|
3
|
+
Read this when the Output Contract gate in SKILL.md selects Direct or Chat brief. SKILL.md states the gate itself: its condition, the safe direction, the Durable pins, and the point where it resolves. This file defines what the two chat-tier results contain, how each hands off, and when each is done. A Durable run never reads this file.
|
|
4
|
+
|
|
5
|
+
## What both tiers share
|
|
6
|
+
|
|
7
|
+
- The result is delivered in chat, in plain sentences, and nothing is written under `<root>/plans/` unless the user asks for a file.
|
|
8
|
+
- No subagent runs, no confidence check, no document review, and no Phase 5.4 menu. The result closes the run on its own.
|
|
9
|
+
- `ce-plan` still never implements. A Direct result describes the change; the implementation belongs to `ce-work` or the user.
|
|
10
|
+
|
|
11
|
+
## Direct
|
|
12
|
+
|
|
13
|
+
Say what changes, where, and how it is verified, in a few sentences. Then offer the handoff in one line: hand it to `ce-work` or the user makes the change. Invoke `ce-work` with that statement as its prompt only when the user accepts, or when the invocation already carried implementation intent from an orchestrator; `ce-plan` never makes the edit itself, and a planning invocation is not execution authority. A Direct result is complete when the statement and the offer are in chat.
|
|
14
|
+
|
|
15
|
+
## Chat brief
|
|
16
|
+
|
|
17
|
+
Deliver, in chat:
|
|
18
|
+
|
|
19
|
+
- a summary of what changes and why, in a few sentences;
|
|
20
|
+
- the implementation units, each with its files and its test expectations;
|
|
21
|
+
- one decisions line when the request or a brainstorm summary settled a choice the implementer must honor, otherwise none.
|
|
22
|
+
|
|
23
|
+
Close with one line offering to save the brief to a file or hand it to `ce-work`. A Chat brief is complete when the brief and that offer are in chat. "Proceed" after a Chat brief hands the brief to `ce-work` as its prompt; `ce-work`'s session-carried resolution accepts an in-conversation brief as that prompt.
|
|
24
|
+
|
|
25
|
+
A brainstorm summary that carries a settled decision the implementer must honor selects Chat brief at minimum, so the decision has a line to live on.
|
|
26
|
+
|
|
27
|
+
## Saving a Chat brief
|
|
28
|
+
|
|
29
|
+
A save request for anything the file described here cannot be (another renderer, or the full plan floor) is a Durable request whenever it arrives. Re-invoke `ce-plan` on the brief; the Durable path then chooses the renderer and writes the artifact. Otherwise, naming markdown or not, write the brief as a plain markdown file under `<root>/plans/` with the same filename shape as a plan, with frontmatter `title`, `type`, and `date`, and `execution: code` for a code deliverable. Reserve the path with exclusive creation; on collision retry with the smallest available numeric suffix before the extension, never overwriting an existing file. Do not set `artifact_contract`: a saved brief does not carry the unified-plan floor. `ce-work` treats a saved brief as a legacy plan (no contract field, normal code lifecycle).
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Output Mode and Artifact Root
|
|
2
|
+
|
|
3
|
+
Read this before interpreting any planning phase. It defines how prompt tokens are parsed, which configuration layer wins, how the renderer is selected, and how the artifact root is resolved. Parse immediate prompt and contextual signals now. Defer every repository-backed fallback until resume and domain routing establish that this run will compose a rooted path or artifact; an answer-seeking run or a run with an explicit plan path may never need repository discovery.
|
|
4
|
+
|
|
5
|
+
## Artifact Root
|
|
6
|
+
|
|
7
|
+
**Every file reference inside the plan document is repo-relative** (`src/models/user.rb`), never absolute — unit file lists, pattern references, origin links, and prose mentions alike. Absolute paths break portability across machines, worktrees, and teammates. Paths printed to the user in chat are the exception and stay absolute so they are clickable.
|
|
8
|
+
|
|
9
|
+
This skill writes plans under `<root>/plans/` and reads learnings under `<root>/solutions/`. Resolve `<root>` when you first compose a `<root>/` path, never before you need it. A write to `<root>/...` and a read of `<root>/solutions/` both count, so either one triggers resolution; only a run that touches no `<root>/` path at all — a scratch-only or no-repo flow — skips it. Pass the resolved path to any subagent, not the config.
|
|
10
|
+
|
|
11
|
+
<!-- ce-docs-root:start -->
|
|
12
|
+
**Resolve the CE artifact root `<root>` before composing any artifact path.**
|
|
13
|
+
|
|
14
|
+
- **Read** `docs_root` from `<repo-root>/.compound-engineering/config.yaml` only (`<repo-root>` = `git rev-parse --show-toplevel`). Do not read it from `config.local.yaml`. Unset -> `<root>` is `docs`, exactly as before.
|
|
15
|
+
- **Validate** a set value: a repo-relative directory whose real, symlink-resolved path stays inside the repo and is neither the repo root nor under `.git/`. Otherwise stop with an error naming `docs_root` and the value -- never fall back to `docs`.
|
|
16
|
+
- **Use** `<root>` as the sole artifact location: create it if absent, compose each path as `<root>/<subdir>` with this skill's own subdirectory, and never also read `docs`.
|
|
17
|
+
<!-- ce-docs-root:end -->
|
|
18
|
+
|
|
19
|
+
## 0.0 Resolve Output Mode
|
|
20
|
+
|
|
21
|
+
Output mode is **exclusive** — a plan is written as either markdown (`.md`) OR HTML (`.html`), never both. Its precedence is in-prompt request > user-stated preference > config > default (`md`). There is no pipeline override: a headless or non-interactive run resolves the format by the same steps. Before routing, resolve any tier that needs no repository. If those tiers do not settle the format, keep config/default resolution pending until an artifact-producing route is known; settle it before selecting a renderer or composing the artifact path. A terminal no-artifact route never probes config merely to resolve an unused format.
|
|
22
|
+
|
|
23
|
+
1. **In-prompt request.** Reason over the user's prompt for this run for a request about *this document's* output format, expressed either as the `output:` shorthand or in plain language ("make the plan a webpage"). Match an explicit format case-insensitively to `md`/`html`, and ignore the `output:` token when reading the rest of the prompt as the feature description. Distinguish a request about the document's format from a format named as subject matter: "add an HTML export feature" is the work, not a doc-format request.
|
|
24
|
+
- `output:` alone (no value) → no-op, fall through to step 2.
|
|
25
|
+
- `output:<unknown>` (e.g., `output:pdf`) → drop the token, fall through, and emit a one-line note above the post-generation menu after final resolution: `Ignored unknown output: value '<value>' — using <resolved_format> instead.` Do not hardcode `md` in the note — that misleads users when config has set HTML.
|
|
26
|
+
2. **User-stated preference.** If this prompt holds no format request, honor an output-format preference the user established earlier that is already in your context, matching `md`/`html` case-insensitively. A remembered preference is more current than the rarely-edited config, so it **overrides** the config in step 3. Do not open or search instruction files to find it.
|
|
27
|
+
3. **Config.** Once an artifact-producing route is known, apply the ordinary-key rule below: the first **active (non-commented)** `plan_output:` matching `md` or `html` (case-insensitively) wins. Missing, invalid, or commented values continue to the next layer, then step 4. The shipped template's commented examples are not settings.
|
|
28
|
+
4. **Default.** Otherwise `OUTPUT_FORMAT=md`. If `<repo-root>` cannot be resolved so the config cannot be read, fall through to this default rather than failing.
|
|
29
|
+
5. **Pipeline mode and model elevation.** Pipeline mode skips interactive questions but does **not** disable model elevation — `plan_model` config (and a `plan_model:<alias>` token passed by the caller) is still honored (see the model-elevation sub-step below and `references/reasoning-elevation.md`). It does not change the output format.
|
|
30
|
+
|
|
31
|
+
**Token-parsing convention:** only literal-prefix flag tokens (`output:`, `mode:`, the exact `confirm:auto`/`confirm:ask` forms, `plan_model:<alias>`, `delegate:` where applicable) are consumed and stripped. Other `<word>:<word>` tokens — including commit prefixes like `feat:` and any unrecognized `confirm:<value>` — pass through verbatim into the feature description. A stripped `plan_model:<alias>` token is kept for the Phase 5.2 model-elevation step.
|
|
32
|
+
|
|
33
|
+
**For an artifact-producing route, load the format-rendering reference only after the value settles:** `references/markdown-rendering.md` when `OUTPUT_FORMAT=md`, `references/html-rendering.md` when `OUTPUT_FORMAT=html`. Section content is the same either way; presentation differs. Both are paired with `references/plan-sections.md`.
|
|
34
|
+
|
|
35
|
+
<!-- ce-config-layers:start -->
|
|
36
|
+
**Resolve ordinary CE yaml keys from the two repo files.**
|
|
37
|
+
|
|
38
|
+
- **Read** `<repo-root>/.compound-engineering/config.local.yaml`, then `config.yaml` (`<repo-root>` = `git rev-parse --show-toplevel`). Missing files are skipped. Gitignore does not change resolution.
|
|
39
|
+
- **Win** with the first active (non-commented) value. For scalars, empty is unset; an invalid value continues to the next layer, then the skill default. For lists and maps, a present key — including an empty list or map — replaces the whole key.
|
|
40
|
+
- **Do not** use this rule for `docs_root` — that key is `config.yaml` only.
|
|
41
|
+
<!-- ce-config-layers:end -->
|
|
42
|
+
|
|
43
|
+
Also resolve the immediate `SKIP_SCOPING_CONFIRM` signals here. `confirm:auto` skips the scoping-synthesis confirmation for this run and `confirm:ask` forces it on; honor an equivalent plain-language instruction the same way ("just write it, don't ask me to confirm" skips; "ask me before writing the plan" asks). Only those two literal values are consumed as a flag — any other `confirm:<value>` stays verbatim in the feature description. Then use a preference already in your context. If neither settles the value, defer the first **active (non-commented)** `plan_skip_scoping_confirm:` matching `true` or `false`, then the default of asking, until `references/intake.md` reaches the scoping-confirmation step where the value matters. A route that never reaches that step does not probe config for it.
|
|
44
|
+
|
|
45
|
+
**Model-elevation visibility.** Treat a stripped `plan_model:<alias>` token, or a `plan_model` config value you have found, as a pending Phase 5.2 input, not a resolved choice. Phase 5.2 resolves the choice from the current conversation, that token, and config immediately before authoring, so later user intent cannot be lost.
|