dsh-compound-engineering 0.0.0-stage → 0.1.1
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,98 @@
|
|
|
1
|
+
# CONCEPTS.md vocabulary rules
|
|
2
|
+
|
|
3
|
+
`CONCEPTS.md` defines the words that mean something specific in this codebase. It is the shared base that `<root>/solutions/` and AGENTS.md can cite without redefining terms. It lives at the repo root. Terms enter in two ways, accretion and seeding (below), and the file is created the first time either path produces a qualifying entry.
|
|
4
|
+
|
|
5
|
+
## The supported mutations
|
|
6
|
+
|
|
7
|
+
A run may **add** an entry, **refine** one, **fold** one into the entry that already carries its meaning, **retire** one to `## Retired`, **delete** one, or **scrub** violations from one it touched. Which subset a given run may perform is stated where that run is defined, and is not re-listed anywhere else.
|
|
8
|
+
|
|
9
|
+
**Update-only** names what a run withholds, never what it grants: no creation and no seeding. It does not widen the subset that run's own definition permits.
|
|
10
|
+
|
|
11
|
+
## How terms enter: accretion and seeding
|
|
12
|
+
|
|
13
|
+
Two paths populate the file, and they cover different gaps:
|
|
14
|
+
|
|
15
|
+
- **Accretion**: a learning brings up a term whose meaning was not obvious, so it gets defined. This reliably catches *peripheral* terms, because friction is what brings them up.
|
|
16
|
+
- **Seeding**: a run proactively defines the **core domain nouns** of the area it is working in. This catches the *stable-central* terms accretion never reaches: the nouns a system is built around rarely break, so they rarely appear in a learning, yet they are exactly what a reader needs to orient. Without seeding, the file fills with peripheral mechanics and never names what the project is about.
|
|
17
|
+
|
|
18
|
+
### Seed goal
|
|
19
|
+
|
|
20
|
+
Define the core domain nouns the area's **declared domain model** exposes that meet the qualifying bar (see "What earns a slot"). The codebase sets the count: seed every term that genuinely qualifies, none added to reach a number and none pulled from beyond the declared model to inflate one. A small domain yields a few; a large one, more. The bound is the **source** (the declared domain model of the area in scope, meaning schema, core types, primary models, and top-level domain docs, not a full-codebase trawl) and the **bar** (the same "a new engineer would need this defined" test), never a fixed quantity.
|
|
21
|
+
|
|
22
|
+
### Scope of a seed
|
|
23
|
+
|
|
24
|
+
- A **scoped run** (a learning capture, or a refresh narrowed to an area) seeds only that area's core nouns, and defines only terms it actually investigated against code. It does not reach for repo-wide nouns it never touched.
|
|
25
|
+
- A **repo-wide bootstrap** (an explicit "create CONCEPTS.md" request) seeds the whole project's declared domain model. This is the only path that produces a coherent "what is this project" glossary; a scoped run cannot, and should not pretend to.
|
|
26
|
+
|
|
27
|
+
## Be opinionated
|
|
28
|
+
|
|
29
|
+
When the team uses several words for the same concept, pick the best one and drop the rest. Dropping a synonym is not a retirement: the surviving entry still carries that meaning, so the word becomes an aliases line on it (see "Per entry") and never goes to `## Retired`, which is only for a concept the project no longer has. Settled distinctions go to the Flagged ambiguities tail. The glossary is not a record of all words the team has ever used. It is the team's agreed-upon vocabulary.
|
|
30
|
+
|
|
31
|
+
## The file stands on its own
|
|
32
|
+
|
|
33
|
+
Each entry teaches its concept to a reader with no access to anything else: no codebase, no PR history, no architecture meetings, no Slack. This rules out:
|
|
34
|
+
|
|
35
|
+
- Implementation specifics (file paths, class names, function signatures, table names, library calls)
|
|
36
|
+
- Status fields, dates, owners on the entries
|
|
37
|
+
- Examples or current-config values drawn from the code, such as specific thresholds, counts, or enum values that will change. State the behavior, not the number: "each skill sets its own actionable threshold" rather than "surfaces at 50, fixes at 75."
|
|
38
|
+
- Links to PRs, issues, channels, or roadmap milestones
|
|
39
|
+
- Version-specific claims ("currently uses X; migrating to Y")
|
|
40
|
+
|
|
41
|
+
Cross-references between entries within `CONCEPTS.md` are fine — they resolve internally. General programming vocabulary (caches, queues, jobs, sessions) and everyday domain English need no redefinition either. But if an entry leans on another *project-specific* term to make sense, that term must be defined here too — an undefined project-specific sibling is itself a candidate to add.
|
|
42
|
+
|
|
43
|
+
## What earns a slot — and what keeps one
|
|
44
|
+
|
|
45
|
+
A term qualifies on two counts: its meaning here is precise enough that a new engineer would need it defined to follow conversations, tickets, or code, and it is a concept in its own right rather than a property of one already defined. General programming vocabulary does not belong, even when used heavily.
|
|
46
|
+
|
|
47
|
+
Both counts apply at both moments — admitting a term the work surfaced, and deciding whether an existing entry keeps its heading.
|
|
48
|
+
|
|
49
|
+
An entry that loses its heading still has to resolve for whoever meets the term next in an old ticket, learning, or commit. Ask which surviving entry can carry it. Usually one can, either the neighbor whose property it always was, or the concept that replaced it. **Fold** it there: the meaning moves into that entry, cross-references repoint, and the old term is named on that entry, worded so a reader can tell whether it meant this entry or was replaced by it. When nothing can carry it, the term **retires** to `## Retired` at the tail if readers will still meet it in the project's own material, and is deleted if they will not. Version history is the archive.
|
|
50
|
+
|
|
51
|
+
Removing an entry acts only on positive contrary evidence, and uncertainty leaves it standing. Name where the concept went — what replaced it, what absorbed it, what took it out. Being unable to find it is not the same as it being gone: a deleted class, path, or symbol is never that evidence (an entry is meant to outlive the code that implemented it, which is what standing on its own means), and neither is the absence of corroboration.
|
|
52
|
+
|
|
53
|
+
## The coherence neighborhood
|
|
54
|
+
|
|
55
|
+
The neighborhood of an entry is its cluster siblings plus the terms it cross-references or that reference it. It bounds a capture-time pass: act only on evidence already in hand, never audit the whole file, and flag for `ce-compound-refresh` anything whose judgment would need investigation this run did not do.
|
|
56
|
+
|
|
57
|
+
## Per entry
|
|
58
|
+
|
|
59
|
+
The definition is one sentence: what the term means in this domain, and what makes it distinct from neighbors. A term with non-obvious behavioral rules (lifecycle, cancellation semantics, ownership invariants) earns a second paragraph for those rules, never for elaborating the definition itself.
|
|
60
|
+
|
|
61
|
+
When dropped synonyms exist, list them as an aliases line directly under the definition: *Avoid: Booking, appointment*. Entities typically need more depth than value types; status concepts may need transition notes.
|
|
62
|
+
|
|
63
|
+
## Relationships (optional)
|
|
64
|
+
|
|
65
|
+
When relationships between entries carry meaning a reader needs (ownership, cardinality, lifecycle dependencies that span entries), capture them in a `## Relationships` section near the top of the file or its cluster. Skip it when entries stand on their own without structural context. Relationships are a lift for domains where structure is part of what makes terms meaningful, not a routine section.
|
|
66
|
+
|
|
67
|
+
## Organization
|
|
68
|
+
|
|
69
|
+
Cluster concepts by domain relationship (entities with their states, processes with their stages) so a reader sees structure without effort. A flat list works when the file is small. Reshape as the file grows.
|
|
70
|
+
|
|
71
|
+
## Flagged ambiguities (tail of file)
|
|
72
|
+
|
|
73
|
+
When two terms were used interchangeably and the team settled on a distinction, record the resolution as a one-line note: *"'account' had been used for both Customer and User — these are distinct."* This section is the audit trail for opinions the team has formed.
|
|
74
|
+
|
|
75
|
+
## Retired (tail of file, present only when it has entries)
|
|
76
|
+
|
|
77
|
+
One line per concept the project no longer has and nothing replaced: what the term meant, and what removed it. Write enough that someone meeting it in an old ticket understands what they were reading and why it is not current. Do not carry the original entry over.
|
|
78
|
+
|
|
79
|
+
## One illustrative entry — the shape, not a template
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
## Booking
|
|
83
|
+
|
|
84
|
+
### Reservation
|
|
85
|
+
A future commitment to seat a Party at a specified date and time.
|
|
86
|
+
*Avoid:* Booking, appointment
|
|
87
|
+
|
|
88
|
+
A Reservation owns its Party but does not own a Table — Tables are acquired only when the Party arrives, through a Seating. Lifecycle: Booked, Seated, Completed, No-Show. Cancellation before a Seating is non-destructive; cancellation after a Seating is recorded as a No-Show.
|
|
89
|
+
|
|
90
|
+
### Party
|
|
91
|
+
The guests committed to a Reservation. Each Reservation has exactly one Party. Party size is the count promised at booking, not the count who arrive.
|
|
92
|
+
|
|
93
|
+
### Table
|
|
94
|
+
A physical seating unit with fixed capacity. Tables are shared resources — they do not belong to Reservations and are allocated only on the day-of through Seatings.
|
|
95
|
+
|
|
96
|
+
### Seating
|
|
97
|
+
The act of placing a Party at a Table once the Party arrives. A Reservation has at most one Seating; a Table accumulates many Seatings across its lifetime.
|
|
98
|
+
```
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Phase 3: optional enhancement
|
|
2
|
+
|
|
3
|
+
### Phase 3: Optional Enhancement
|
|
4
|
+
|
|
5
|
+
**WAIT for Phase 2 to complete before proceeding.**
|
|
6
|
+
|
|
7
|
+
This phase is interactive-only: a non-interactive caller has no human-in-the-loop to act on reviewer findings, and downstream automations can run specialized reviewers themselves if they want that pass.
|
|
8
|
+
|
|
9
|
+
<parallel_tasks>
|
|
10
|
+
|
|
11
|
+
Based on problem type, optionally dispatch generic subagents seeded with local prompt assets from `references/agents/` to review the documentation. Do not dispatch standalone agents by type/name.
|
|
12
|
+
|
|
13
|
+
- **performance_issue** → `references/agents/performance-oracle.md`
|
|
14
|
+
- **security_issue** → `references/agents/security-sentinel.md`
|
|
15
|
+
- **database_issue** → `references/agents/data-integrity-guardian.md`
|
|
16
|
+
- Any code-heavy issue → preserve code simplification as a **read-only documentation review**. Inspect the solution draft's code examples and explanatory claims inline, or dispatch a generic subagent seeded with a local prompt only to return suggestions. Do **not** invoke `ce-simplify-code` from this phase and do not mutate product code unless the user explicitly asks for a separate code-simplification pass. Do not use the deleted `code-simplicity-reviewer`.
|
|
17
|
+
Example: review the solution draft's examples for speculative abstractions, redundant wrappers, dead branches, and just-in-case parameters. Apply edits only to the documentation/examples being written by `ce-compound`; leave any branch code changes untouched.
|
|
18
|
+
|
|
19
|
+
</parallel_tasks>
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Applicable Specialized Local Prompts
|
|
24
|
+
|
|
25
|
+
Based on problem type, these local prompt assets can enhance documentation:
|
|
26
|
+
|
|
27
|
+
### Code Quality & Review
|
|
28
|
+
- **Read-only code simplification review**: Checks solution examples and documentation claims for unnecessary complexity without mutating product code
|
|
29
|
+
- **references/agents/pattern-recognition-specialist.md**: Identifies anti-patterns or repeating issues
|
|
30
|
+
|
|
31
|
+
### Specific Domain Experts
|
|
32
|
+
- **references/agents/performance-oracle.md**: Analyzes performance_issue category solutions
|
|
33
|
+
- **references/agents/security-sentinel.md**: Reviews security_issue solutions for vulnerabilities
|
|
34
|
+
- **references/agents/data-integrity-guardian.md**: Reviews database_issue migrations and queries
|
|
35
|
+
|
|
36
|
+
### Enhancement & Research
|
|
37
|
+
- **references/agents/best-practices-researcher.md**: Enriches solution with industry best practices
|
|
38
|
+
- **references/agents/framework-docs-researcher.md**: Links to framework/library documentation references
|
|
39
|
+
|
|
40
|
+
### When to Invoke
|
|
41
|
+
- **Auto-triggered** (optional): Generic subagents seeded with local prompts can run post-documentation for enhancement
|
|
42
|
+
- **Manual trigger**: User can run surviving skills such as `ce-simplify-code` after `ce-compound` completes for deeper code review and mutation
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Grounding Validation (Phase 2.45)
|
|
2
|
+
|
|
3
|
+
Read this when Phase 2.45 runs. The doc just written becomes permanent, trusted knowledge. Future agents will act on its claims without re-verifying them. This phase checks the claims against reality before they compound: a deterministic mechanical pass (bundled script) plus a semantic pass (one read-only validator subagent). Neither pass is a hard stop. You judge every flag, because solution docs legitimately cite deleted paths and pre-fix states.
|
|
4
|
+
|
|
5
|
+
## Which tree is the ground truth
|
|
6
|
+
|
|
7
|
+
Two claim categories verify against different trees:
|
|
8
|
+
|
|
9
|
+
- **Code-behavior claims** (enum values, status semantics, limits, defaults) verify against the **local working tree**. They describe what this session's work produced and verified here.
|
|
10
|
+
- **Merge-state claims** ("fixed in #1608", "landed", "shipped") verify against **remote truth**. The checkout may predate a merge, so `gh pr view` (or the tracker equivalent) is primary and local git reachability is only the fallback. The script's `INFO: worktree is N commits behind …` line tells you how much to distrust the local tree for this category.
|
|
11
|
+
|
|
12
|
+
Before running the script, optionally run `git fetch --quiet` (best-effort; skip silently on failure or offline, because the network is never a correctness dependency). When remote state cannot be checked at all, keep the claim, add an as-of qualifier ("as of this writing"), and record degraded verification in the run report.
|
|
13
|
+
|
|
14
|
+
## Step 1: Adjudicate the mechanical flags
|
|
15
|
+
|
|
16
|
+
The script reports in two tiers and you decide each item. A **FLAG** is a claim it can defend; a **NOTE** is an item it reported without being able to classify, and notes do not affect its exit code. There are three resolutions, **fix**, **annotate**, or **confirm intentional**, and never an automatic rewrite or an automatic pass:
|
|
17
|
+
|
|
18
|
+
| Flag | Likely meaning | Resolution |
|
|
19
|
+
|------|----------------|------------|
|
|
20
|
+
| path not found anywhere | Typo, or drafted from memory | Fix the citation or remove the claim |
|
|
21
|
+
| path missing here, exists at upstream | Stale checkout | Verify the claim against upstream; annotate if the doc implies the file is present locally |
|
|
22
|
+
| path deliberately gone (doc says removed/renamed) | Historical citation | Confirm the surrounding prose marks it as historical ("removed by this fix", "pre-fix state"); add that marker if absent |
|
|
23
|
+
| SHA does not resolve, cited as a commit | Fabricated or from another repo | Replace with the PR number, or drop |
|
|
24
|
+
| NOTE: unresolved hex, no commit context | The script cannot tell a session id or content hash from a commit; it is reporting, not accusing | Read the line: if it was never a commit citation, nothing to do; if it was, verify it |
|
|
25
|
+
| SHA reachable from HEAD only | Local-only commit; SHA will change on rebase/squash merge | Replace with the PR number |
|
|
26
|
+
| SHA reachable from upstream only | Checkout predates the merge | Keep, with a temporal qualifier; verify the landed claim via `gh` |
|
|
27
|
+
| SHA exists but unreachable | Rebased-away commit | Replace with the PR number |
|
|
28
|
+
| scaffold ("Learning 3", `{{…}}`) | Drafting-context leak | Always fix; rewrite as a real path or link |
|
|
29
|
+
| relative link unresolved | Wrong target | Fix the path |
|
|
30
|
+
|
|
31
|
+
If the script cannot be resolved on this platform, apply its checks manually at the same scope: scan the body for cited paths that do not exist, hex words presented as commits anywhere in the body (in commands and code blocks as much as in prose), `Learning(s) N` / `{{…}}` scaffold, and broken relative links. Note in the run output that the check was manual. Do not silently skip.
|
|
32
|
+
|
|
33
|
+
After any body edit from this step or Step 2, re-run the script until it reports clean or every remaining flag is confirmed intentional.
|
|
34
|
+
|
|
35
|
+
## Step 2: Semantic validator subagent (Full and non-interactive; skipped in lightweight)
|
|
36
|
+
|
|
37
|
+
Dispatch **one generic read-only subagent** covering the written solution doc plus any `CONCEPTS.md` entries added or edited this run. Phase 2.4's entries are claims too; a glossary entry written from a session-level summary is exactly how wrong semantics enter the vocabulary. Use the same mid-tier model class as other reviewer subagents when the platform exposes one.
|
|
38
|
+
|
|
39
|
+
If the user's or project's active instructions or the live prompt name a model for this subagent, use that model instead of the default tier above. They can name it by the subagent's tier, by its prompt-asset name, or for the subagents being dispatched. Without such an instruction, a model configured for this subagent's role takes precedence over the default tier.
|
|
40
|
+
|
|
41
|
+
Build its prompt from this template:
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
You are a grounding validator for documentation about to enter a permanent
|
|
45
|
+
knowledge store. You are read-only: never edit files. Inspect with Read,
|
|
46
|
+
Grep, Glob, git (non-mutating), and gh when available.
|
|
47
|
+
|
|
48
|
+
Inputs: the doc content below, the CONCEPTS.md entries below (if any), and
|
|
49
|
+
this staleness context: <INFO line from the mechanical script, or "none">.
|
|
50
|
+
|
|
51
|
+
Check every factual claim in three categories:
|
|
52
|
+
|
|
53
|
+
1. CODE-BEHAVIOR CLAIMS — assertions about how code behaves: enum values,
|
|
54
|
+
status semantics, limits, defaults, ordering, state transitions. For
|
|
55
|
+
each, locate the defining source in the current tree and quote the
|
|
56
|
+
defining line(s) with file:line. Verdict: verified (with quote),
|
|
57
|
+
contradicted (with the quote showing otherwise), or unverifiable
|
|
58
|
+
(defining source not found).
|
|
59
|
+
|
|
60
|
+
2. MERGE-STATE CLAIMS — assertions that a change landed ("fixed in",
|
|
61
|
+
"merged", "shipped in", "resolved by #N"). Primary check: gh pr view
|
|
62
|
+
<n> --json state,mergedAt,baseRefName (remote truth). Fallback: git
|
|
63
|
+
reachability from the upstream default branch. Verdict: verified,
|
|
64
|
+
contradicted (e.g. PR open, not merged), or unverifiable (offline / no
|
|
65
|
+
gh) — mark unverifiable as "degraded", do not guess.
|
|
66
|
+
|
|
67
|
+
3. INTERNAL COMPLETENESS — countable assertions ("six PRs", "three root
|
|
68
|
+
causes", "all N consumers"). Count the substantiating items in the doc
|
|
69
|
+
itself. Verdict: complete, or short (found M of N).
|
|
70
|
+
|
|
71
|
+
Ignore session narrative ("we first tried X") — that describes the
|
|
72
|
+
conversation, not the tree. Ignore style.
|
|
73
|
+
|
|
74
|
+
Return a structured list, one entry per claim checked:
|
|
75
|
+
claim (verbatim) | category | verdict | evidence (quote + file:line, or
|
|
76
|
+
command output) | suggested edit (only for non-verified claims)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Orchestrator handling of verdicts:**
|
|
80
|
+
|
|
81
|
+
- **contradicted** → fix the doc using the quoted evidence (the quote, not the conversation, is authoritative)
|
|
82
|
+
- **unverifiable** (behavior) → soften or attribute ("per this session's conclusion…"), or drop the claim
|
|
83
|
+
- **unverifiable/degraded** (merge-state) → keep with an as-of qualifier; record degraded verification in the report
|
|
84
|
+
- **short** (completeness) → complete the enumeration or restate the count to match what the doc substantiates
|
|
85
|
+
- **verified** → no change
|
|
86
|
+
|
|
87
|
+
## Reporting
|
|
88
|
+
|
|
89
|
+
Summarize the phase in one line of the run output (non-interactive report's `Grounding:` line; interactive success output): flags adjudicated (fixed / annotated / confirmed), claims checked, claims softened or corrected, and `degraded — merge-state claims unverified offline` when applicable.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Lightweight mode
|
|
2
|
+
|
|
3
|
+
### Lightweight Mode
|
|
4
|
+
|
|
5
|
+
<critical_requirement>
|
|
6
|
+
**Single-pass alternative — same artifact type, reduced research and validation.**
|
|
7
|
+
|
|
8
|
+
This mode skips parallel subagents entirely. The orchestrator performs all work in a single pass and writes the same solution-doc artifact type, but omits cross-referencing, duplicate detection, session-history research, and semantic grounding validation.
|
|
9
|
+
|
|
10
|
+
Non-interactive mode enters Lightweight only when explicitly invoked with `depth:lightweight`; otherwise it defaults to Full for backward compatibility.
|
|
11
|
+
</critical_requirement>
|
|
12
|
+
|
|
13
|
+
The orchestrator (main conversation) performs ALL of the following in one sequential pass:
|
|
14
|
+
|
|
15
|
+
1. **Extract from conversation**: Identify the problem and solution from conversation history. Also scan the "user's auto-memory" block injected into your system prompt, if present (Claude Code only). Use any relevant notes as supplementary context alongside conversation history. Tag any memory-sourced content incorporated into the final doc with "(auto memory [claude])". Before asserting how code behaves (enum values, status semantics, limits, defaults), Read the defining line at the current tree. Soften or attribute any claim you cannot verify. Cite PR numbers over bare commit SHAs, and phrase unmerged fixes as pending
|
|
16
|
+
2. **Classify**: Read `references/schema.yaml` and `references/yaml-schema.md`, then determine track (bug vs knowledge), category, and filename. Sample existing docs under `<root>/solutions/` and choose `component`, `root_cause`, and the directory under the corpus-first rule in `references/yaml-schema.md` (it names what each is matched on and when the suggested defaults apply)
|
|
17
|
+
3. **Write minimal doc**: Before writing, check whether the exact proposed `<root>/solutions/[category]/[filename].md` path exists. If it exists, read it: update it only when it covers the same problem, preserving its path and frontmatter structure and adding `last_updated: YYYY-MM-DD`; otherwise choose a distinct, descriptive filename and re-check that exact path is absent before writing. This is exact-path collision handling only — do not run Full mode's semantic overlap research or dispatch subagents. Create or update the doc using the appropriate track template from `assets/resolution-template.md`, with:
|
|
18
|
+
- YAML frontmatter with track-appropriate fields, applying the YAML-safety quoting rule for array items (see `references/yaml-schema.md` > YAML Safety Rules)
|
|
19
|
+
- Bug track: Problem, root cause, solution with key code snippets, one prevention tip
|
|
20
|
+
- Knowledge track: Context, guidance with key examples, one applicability note
|
|
21
|
+
4. **Vocabulary capture (update-only)**: if `CONCEPTS.md` exists at repo root, read `references/concepts-vocabulary.md`, then scan the new doc and the conversation for qualifying terms and add, refine, fold, or scrub entries silently, within the criteria and coherence-neighborhood bounds that reference states. If `CONCEPTS.md` does not exist, defer creation to a Full run, which is the run that seeds the file. Record the outcome in the output (e.g., "Vocabulary: 1 entry refined, 1 folded" or "scanned, no qualifying terms"). If this run changed `CONCEPTS.md` at all (added, refined, folded, or scrubbed) and the project's active instructions and conventions already in your context do not mention it, add the discoverability tip to the output below. Lightweight only **tips**; it does not edit instruction files. An interactive Full run makes that edit after consent; non-interactive Full also only tips and reports.
|
|
22
|
+
5. **Read-only discoverability check**: Using the project's active instructions and conventions already in your context, assess whether they point agents to `<root>/solutions/` against the three criteria under **Discoverability Check** in `references/refresh-and-discoverability.md`. Do not open, offer to edit, or edit instruction files; Lightweight only reports the result. Record one of:
|
|
23
|
+
- `no gap` when active project instructions point agents to the knowledge store
|
|
24
|
+
- `gap noted — instruction-file tip emitted` when active project instructions exist but do not mention it
|
|
25
|
+
- `not applicable — no active project instructions` when no project instructions are active; emit no discoverability tip
|
|
26
|
+
6. **Mechanical claims check**: run `scripts/validate-doc-claims.py` against the written doc exactly as in `references/assembly.md` Phase 2.45 step 1 (same `SKILL_DIR` anchor, same adjudicate-not-auto-fix rule; read `references/grounding-validation.md` for the adjudication table when it flags anything). Lightweight skips only the semantic validator subagent, not this deterministic check.
|
|
27
|
+
7. **Frontmatter parser-safety check**: validate the written doc exactly as in `references/assembly.md` Phase 2 step 8, using the same bundled-script existence guard and manual fallback checklist. Fix any violation and repeat the check; do not report success until the written frontmatter is parser-safe.
|
|
28
|
+
8. **Skip specialized agent reviews** (`references/enhancement.md`) and the semantic grounding validator (`references/assembly.md` Phase 2.45 step 2) to conserve context
|
|
29
|
+
|
|
30
|
+
**User-runnable retry rendering.** In the lightweight completion output below, default to `/ce-compound`; use `$ce-compound` only when the active host is Codex or explicitly documents dollar-prefixed skill invocation. Render only the invocation as inline code and output one form only.
|
|
31
|
+
|
|
32
|
+
**Lightweight completion output:** In non-interactive Lightweight, do not emit this interactive block; use the depth-specific report under `Non-interactive mode` in `references/report.md` instead. In interactive Lightweight, emit:
|
|
33
|
+
```
|
|
34
|
+
✓ Documentation complete (lightweight mode)
|
|
35
|
+
|
|
36
|
+
File created:
|
|
37
|
+
- <root>/solutions/[category]/[filename].md
|
|
38
|
+
|
|
39
|
+
[If discoverability check found instruction files don't surface the knowledge store:]
|
|
40
|
+
Tip: Your AGENTS.md/CLAUDE.md doesn't surface <root>/solutions/ to agents —
|
|
41
|
+
a brief mention helps all agents discover these learnings.
|
|
42
|
+
|
|
43
|
+
[If CONCEPTS.md changed at all this run and isn't surfaced in the instruction files:]
|
|
44
|
+
Tip: Your AGENTS.md/CLAUDE.md doesn't surface CONCEPTS.md —
|
|
45
|
+
a one-line mention helps agents find the shared vocabulary.
|
|
46
|
+
|
|
47
|
+
Note: This was created in lightweight mode. For richer documentation
|
|
48
|
+
(cross-references, detailed prevention strategies, specialized reviews,
|
|
49
|
+
semantic grounding validation), re-run <rendered invocation> in a fresh session.
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**No subagents are launched. No parallel tasks. The solution doc is the one deliverable** (Phase 2.4's update-only vocabulary capture may also change an existing `CONCEPTS.md`).
|
|
53
|
+
|
|
54
|
+
In lightweight mode, the overlap check is skipped (no Related Docs Finder subagent). This means lightweight mode may create a doc that overlaps with an existing one. That is acceptable; `ce-compound-refresh` will catch it later. Only suggest `ce-compound-refresh` if there is an obvious narrow refresh target. Do not broaden into a large refresh sweep from a lightweight session.
|
|
55
|
+
|
|
56
|
+
---
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Depth and session-history: why neither is a question
|
|
2
|
+
|
|
3
|
+
Both are decisions the agent is better positioned to make than the user. Depth depends on the context budget the agent can observe and the user cannot. Neither party can know in advance whether session history will pay off, because the payoff is an unrelated earlier session the current agent was never in. So a cheap probe decides it instead of a question to the user.
|
|
4
|
+
|
|
5
|
+
**Full is the right choice for essentially every documented learning.** Its token cost is small next to the engineering work that produced the learning, and it is dwarfed by the value of a doc that compounds. Lightweight buys back context at the cost of cross-referencing, overlap detection, and semantic grounding validation, so it is for real context pressure only. If Lightweight turns out to be the wrong call for the user's taste, re-running is a rare, cheap correction. It is cheaper than taxing every run with a question.
|
|
6
|
+
|
|
7
|
+
**The session-history probe is near-free on wall-clock** because it runs alongside the Related Docs Finder and your drafting, and it escalates to the expensive extraction and synthesis only when genuinely relevant candidate sessions turn up (`references/session-history.md`). This support exists only inside the compounding workflow; there is no standalone session-history feature for users.
|
|
8
|
+
|
|
9
|
+
## Auto-Invoke
|
|
10
|
+
|
|
11
|
+
Completion phrases such as "that worked", "it's fixed", "working now", and "problem solved" identify the completion checkpoint; they do not establish that a learning is worth documenting. Auto-invoke only when the Preconditions in `SKILL.md` qualify the learning.
|
|
12
|
+
|
|
13
|
+
An explicit invocation with optional context requests immediate evaluation without waiting for auto-detection. It does not waive the solved, verified, and durable-learning preconditions.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Phase 2.5 and the Discoverability Check
|
|
2
|
+
|
|
3
|
+
### Phase 2.5: Selective Refresh Check
|
|
4
|
+
|
|
5
|
+
After writing the new learning, decide whether this new solution is evidence that older docs should be refreshed.
|
|
6
|
+
|
|
7
|
+
`ce-compound-refresh` is **not** a default follow-up. Use it selectively when the new learning suggests an older learning or pattern doc may now be inaccurate.
|
|
8
|
+
|
|
9
|
+
It makes sense to invoke `ce-compound-refresh` when one or more of these are true:
|
|
10
|
+
|
|
11
|
+
1. A related learning or pattern doc recommends an approach that the new fix now contradicts
|
|
12
|
+
2. The new fix clearly supersedes an older documented solution
|
|
13
|
+
3. The current work involved a refactor, migration, rename, or dependency upgrade that likely invalidated references in older docs
|
|
14
|
+
4. A pattern doc now looks overly broad, outdated, or no longer supported by the refreshed reality
|
|
15
|
+
5. The Related Docs Finder surfaced high-confidence refresh candidates in the same problem space
|
|
16
|
+
6. The Related Docs Finder reported **moderate overlap** with an existing doc, so there may be consolidation opportunities that benefit from a focused review
|
|
17
|
+
|
|
18
|
+
It does **not** make sense to invoke `ce-compound-refresh` when:
|
|
19
|
+
|
|
20
|
+
1. No related docs were found
|
|
21
|
+
2. Related docs still appear consistent with the new learning
|
|
22
|
+
3. The overlap is superficial and does not change prior guidance
|
|
23
|
+
4. Refresh would require a broad historical review with weak evidence
|
|
24
|
+
|
|
25
|
+
Use these rules:
|
|
26
|
+
|
|
27
|
+
- If there is **one obvious stale candidate**, invoke `ce-compound-refresh` with a narrow scope hint after the new learning is written
|
|
28
|
+
- If there are **multiple candidates in the same area**, ask the user whether to run a targeted refresh for that module, category, or pattern set
|
|
29
|
+
- If context is already tight or you are in lightweight mode, do not expand into a broad refresh automatically; instead recommend `ce-compound-refresh` as the next step with a scope hint
|
|
30
|
+
- **In non-interactive mode**, never invoke `ce-compound-refresh` and never ask the user. Put the recommended scope hint in the terminal report's "Refresh recommendation" line and let the caller decide
|
|
31
|
+
|
|
32
|
+
**User-runnable refresh rendering.** When recommending rather than directly invoking `ce-compound-refresh`, default to `/ce-compound-refresh <scope>`; use `$ce-compound-refresh <scope>` only when the active host is Codex or explicitly documents dollar-prefixed skill invocation. Render only the invocation as inline code and output one form only. Agent-to-agent invocation remains semantic.
|
|
33
|
+
|
|
34
|
+
When invoking or recommending `ce-compound-refresh`, be explicit about the argument to pass. Prefer the narrowest useful scope:
|
|
35
|
+
|
|
36
|
+
- **Specific file** when one learning or pattern doc is the likely stale artifact
|
|
37
|
+
- **Module or component name** when several related docs may need review
|
|
38
|
+
- **Category name** when the drift is concentrated in one solutions area
|
|
39
|
+
- **Pattern filename or pattern topic** when the stale guidance lives in `<root>/solutions/patterns/`
|
|
40
|
+
|
|
41
|
+
Examples:
|
|
42
|
+
|
|
43
|
+
- `ce-compound-refresh release-please-version-drift-recovery`
|
|
44
|
+
- `ce-compound-refresh payments`
|
|
45
|
+
- `ce-compound-refresh performance-issues`
|
|
46
|
+
- `ce-compound-refresh critical-patterns`
|
|
47
|
+
|
|
48
|
+
A single scope hint may still expand to multiple related docs when the change is cross-cutting within one domain, category, or pattern area.
|
|
49
|
+
|
|
50
|
+
Do not invoke `ce-compound-refresh` without an argument unless the user explicitly wants a broad sweep.
|
|
51
|
+
|
|
52
|
+
Always capture the new learning first. Refresh is a targeted maintenance follow-up, not a prerequisite for documentation.
|
|
53
|
+
|
|
54
|
+
### Discoverability Check
|
|
55
|
+
|
|
56
|
+
After the learning is written and the refresh decision is made, check whether the project's instruction files would lead an agent to discover and search `<root>/solutions/` before starting work in a documented area. This runs every time. The knowledge store only compounds value when agents can find it.
|
|
57
|
+
|
|
58
|
+
1. Identify which root-level instruction files exist (AGENTS.md, CLAUDE.md, or both). Read the file(s) and determine which holds the substantive content — one file may just be a shim that `@`-includes the other (e.g., `CLAUDE.md` containing only `@AGENTS.md`, or vice versa). The substantive file is the assessment and edit target; ignore shims. If neither file exists, skip this check entirely.
|
|
59
|
+
2. Assess whether an agent reading the instruction files would learn three things:
|
|
60
|
+
- That a searchable knowledge store of documented solutions exists
|
|
61
|
+
- Enough about its structure to search effectively (category organization, YAML frontmatter fields like `module`, `tags`, `problem_type`)
|
|
62
|
+
- When to search it (before implementing features, debugging issues, or making decisions in documented areas — learnings may cover bugs, best practices, workflow patterns, or other institutional knowledge)
|
|
63
|
+
|
|
64
|
+
This is a semantic assessment, not a string match. The information could be a line in an architecture section, a bullet in a gotchas section, spread across multiple places, or expressed without ever using the exact path `<root>/solutions/`. Use judgment. If an agent would reasonably discover and use the knowledge store after reading the file, the check passes.
|
|
65
|
+
|
|
66
|
+
3. If the spirit is already met, no action is needed; move on.
|
|
67
|
+
4. If not:
|
|
68
|
+
a. Based on the file's existing structure, tone, and density, identify where a mention fits naturally. Before creating a new section, check whether the information could be a single line in the closest related section: an architecture tree, a directory listing, a documentation section, or a conventions block. A line added to an existing section is almost always better than a new headed section. Only add a new section as a last resort when the file has clear sectioned structure and nothing is even remotely related.
|
|
69
|
+
b. Draft the smallest addition that communicates the three things. Match the file's existing style and density. The addition should describe the knowledge store itself, not the plugin. An agent without the plugin should still find value in it.
|
|
70
|
+
|
|
71
|
+
Keep the tone informational, not imperative. Express timing as description, not instruction, for example "relevant when implementing or debugging in documented areas" rather than "check before implementing or debugging." Imperative directives like "always search before implementing" cause redundant reads when a workflow already includes a dedicated search step. The goal is awareness: agents learn the folder exists and what is in it, then use their own judgment about when to consult it.
|
|
72
|
+
|
|
73
|
+
**Substitute the concrete root in what you write.** The examples below show `<root>/solutions/`, but the instruction file is read by agents without this plugin (and by people), who cannot resolve `<root>`. When you insert the text, replace `<root>` with the resolved concrete path, never the literal placeholder. That path is the actual artifact directory, which is the default `docs` root's `solutions/` unless a `docs_root` is configured.
|
|
74
|
+
|
|
75
|
+
Examples of calibration (not templates; adapt to the file):
|
|
76
|
+
|
|
77
|
+
When there is an existing directory listing or architecture section, add a line:
|
|
78
|
+
```
|
|
79
|
+
<root>/solutions/ # documented solutions to past problems (bugs, best practices, workflow patterns), organized by category with YAML frontmatter (module, tags, problem_type)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
When nothing in the file is a natural fit, a small headed section is appropriate:
|
|
83
|
+
```
|
|
84
|
+
## Documented Solutions
|
|
85
|
+
|
|
86
|
+
`<root>/solutions/` — documented solutions to past problems (bugs, best practices, workflow patterns), organized by category with YAML frontmatter (`module`, `tags`, `problem_type`). Relevant when implementing or debugging in documented areas.
|
|
87
|
+
```
|
|
88
|
+
c. In full interactive mode, explain to the user why this matters. Agents working in this repo (including fresh sessions, other tools, or collaborators without the plugin) will not know to check `<root>/solutions/` unless the instruction file mentions it. Show the proposed change and where it would go, then get consent before making the edit through the host's blocking question tool already in the current tool list (match by capability, not by a host-specific name). Presence in the current tool list is proof the tool exists; never call a user-facing question tool to discover whether it exists. If a matching tool is listed but unloaded, use the host's tool-discovery primitive to load that capability. Do not search for another host's tool name. Fall back to presenting the proposal in the host's user-visible chat only when no blocking tool exists in the harness or the call errors (e.g., Codex edit modes), not because a schema load is required. Never silently skip the question. In lightweight mode (interactive or non-interactive), output a one-liner note and move on. In full non-interactive mode, **do not edit instruction files**. Report the gap in the terminal report as `Instruction-file edit: gap noted, not applied` (non-interactive scope is documentation capture, not project-config edits; a human-invoked interactive run applies the edit with consent)
|
|
89
|
+
|
|
90
|
+
5. **If `CONCEPTS.md` exists at repo root, run a parallel discoverability check for it.** Assess whether the instruction file would lead an agent to discover the project's shared domain vocabulary. Use the same workflow as the `<root>/solutions/` check above: same target file, same edit-placement judgment, same consent-then-edit interaction shape per mode. A line in an existing section is almost always better than a new headed section. Example calibration when nothing else fits:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
CONCEPTS.md # shared domain vocabulary (entities, named processes, status concepts) — relevant when orienting to the codebase or discussing domain concepts
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Skip this step entirely if `CONCEPTS.md` does not exist.** Never nag for an artifact the project has not adopted. When skipped, this step produces no output and no edit.
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Completion reports
|
|
2
|
+
|
|
3
|
+
## Success Output
|
|
4
|
+
|
|
5
|
+
**User-runnable refresh rendering.** The reports below print a `ce-compound-refresh` invocation for the user to copy. Default to `/ce-compound-refresh <scope>`; use `$ce-compound-refresh <scope>` only when the active host is Codex or explicitly documents dollar-prefixed skill invocation. Render only the invocation as inline code and output one form only.
|
|
6
|
+
|
|
7
|
+
### Non-interactive mode
|
|
8
|
+
|
|
9
|
+
Emit a structured terminal report as the last thing this skill writes. No "What's next?" question, no blocking prompt. The report ends this skill, not the turn. When a caller invoked this skill, its next step follows the report in the same session; otherwise end the turn. End with `Documentation complete` as the terminal signal so callers can detect completion.
|
|
10
|
+
|
|
11
|
+
For `depth:lightweight`, use this lower-overhead report after the Lightweight Mode workflow:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
✓ Documentation complete (non-interactive lightweight mode)
|
|
15
|
+
|
|
16
|
+
File: <root>/solutions/<category>/<filename>.md (created | updated)
|
|
17
|
+
Track: <bug | knowledge>
|
|
18
|
+
Category: <category>
|
|
19
|
+
Grounding: <mechanical check clean | N flags adjudicated>
|
|
20
|
+
Discoverability: <no gap | gap noted — instruction-file tip emitted | not applicable — no active project instructions>
|
|
21
|
+
CONCEPTS.md: <not present | scanned, no qualifying terms | updated — N added, N refined, N folded, N scrubbed>
|
|
22
|
+
CONCEPTS.md discoverability: <not checked — CONCEPTS.md unchanged | no gap | gap noted — instruction-file tip emitted | not applicable — no active project instructions>
|
|
23
|
+
Refresh recommendation: <none | scope hint for /ce-compound-refresh>
|
|
24
|
+
|
|
25
|
+
Documentation complete
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
For `depth:full` or backward-compatible non-interactive calls with no depth token, use the Full report:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
✓ Documentation complete (non-interactive mode)
|
|
32
|
+
|
|
33
|
+
File: <root>/solutions/<category>/<filename>.md (created | updated)
|
|
34
|
+
Track: <bug | knowledge>
|
|
35
|
+
Category: <category>
|
|
36
|
+
Overlap: <none | low | moderate — see <path> | high — existing doc updated>
|
|
37
|
+
Grounding: <clean | N flags adjudicated (X fixed, Y annotated, Z confirmed) | N claims softened or corrected | degraded — merge-state claims unverified offline>
|
|
38
|
+
Instruction-file edit: <none needed | gap noted, not applied>
|
|
39
|
+
CONCEPTS.md: <scanned, no qualifying terms | created with N entries (M seeded from the learning's area) | updated — N added, N refined, N folded, N scrubbed>
|
|
40
|
+
Refresh recommendation: <none | scope hint for /ce-compound-refresh>
|
|
41
|
+
|
|
42
|
+
Documentation complete
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
When no doc was written (e.g., non-interactive invoked on a session where the problem is not yet solved), emit a structured failure instead and end with `Documentation skipped` so callers can distinguish success from no-op:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
✗ Documentation skipped (non-interactive mode)
|
|
49
|
+
|
|
50
|
+
Reason: <one-sentence explanation — e.g., "no solved problem detected in
|
|
51
|
+
conversation history" or "solution not yet verified">
|
|
52
|
+
|
|
53
|
+
Documentation skipped
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Interactive mode
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
✓ Documentation complete
|
|
60
|
+
|
|
61
|
+
Ran Full mode.
|
|
62
|
+
Auto memory: 2 relevant entries used as supplementary evidence
|
|
63
|
+
|
|
64
|
+
Research Results:
|
|
65
|
+
✓ Classified: performance_issue in background_job (component from corpus), category: performance-issues/
|
|
66
|
+
✓ Drafted: 3 code fixes, prevention strategies
|
|
67
|
+
✓ Related Docs Finder: 2 related issues
|
|
68
|
+
✓ Session History: 3 prior sessions in this repo, 2 failed approaches surfaced
|
|
69
|
+
|
|
70
|
+
Grounding Validation:
|
|
71
|
+
✓ Mechanical check: 14 paths, 2 SHAs, 3 links checked — 1 flag annotated as historical
|
|
72
|
+
✓ Semantic validator: 9 claims verified, 1 merge-state claim softened to pending
|
|
73
|
+
|
|
74
|
+
Specialized Agent Reviews (Auto-Triggered):
|
|
75
|
+
✓ performance-oracle: Validated query optimization approach
|
|
76
|
+
✓ Code simplification review: Code examples are appropriately minimal
|
|
77
|
+
|
|
78
|
+
Files written:
|
|
79
|
+
- <root>/solutions/performance-issues/n-plus-one-brief-generation.md (created)
|
|
80
|
+
- CONCEPTS.md (created with 3 entries: BriefSystem, EmailQueue, Brief Status)
|
|
81
|
+
|
|
82
|
+
This documentation will be searchable for future reference when similar
|
|
83
|
+
issues occur in the Email Processing or Brief System modules.
|
|
84
|
+
|
|
85
|
+
Refresh recommendation: none
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
`Files written:` lists the destination the assembly step settled on. That is a pack rule's path (`<pack dir>/<file>.md`) when the user routed the capture into a writable pack, and the `<root>/solutions/` path otherwise.
|
|
89
|
+
|
|
90
|
+
**The summary is the last thing this skill writes. When a caller invoked this skill, its next step follows the summary in the same session; otherwise end the turn. `ce-compound` does not present a "What's next?" menu.** The doc is written and any cross-references the workflow found are already in it. Cross-doc maintenance (fixing references in *other* docs, consolidation) is left to `ce-compound-refresh`, the skill designed for it, through the `Refresh recommendation` line above. It is not applied here, because that would edit tracked docs beyond the one deliverable. If the user wants to view the file or take a follow-up action, they will ask. (Interactive mode only.)
|
|
91
|
+
|
|
92
|
+
**Alternate interactive output (when updating an existing doc due to high overlap):** in non-interactive mode, this case is communicated via the `Overlap: high — existing doc updated` line of the non-interactive terminal report above, not as a separate output block.
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
✓ Documentation updated (existing doc refreshed with current context)
|
|
96
|
+
|
|
97
|
+
Overlap detected: <root>/solutions/performance-issues/n-plus-one-queries.md
|
|
98
|
+
Matched dimensions: problem statement, root cause, solution, referenced files
|
|
99
|
+
Action: Updated existing doc with fresher code examples and prevention tips
|
|
100
|
+
|
|
101
|
+
File updated:
|
|
102
|
+
- <root>/solutions/performance-issues/n-plus-one-queries.md (added last_updated: 2026-03-24)
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Common Mistakes to Avoid
|
|
106
|
+
|
|
107
|
+
| ❌ Wrong | ✅ Correct |
|
|
108
|
+
|----------|-----------|
|
|
109
|
+
| Subagents write product files into `docs/` or edit tracked paths | Subagents write only scratch artifacts under `<run-dir>/` and return the path; orchestrator writes the one final doc |
|
|
110
|
+
| Subagent returns a long prose body only as its inline response | Subagent writes full output to its run artifact; orchestrator Reads it back (inline return is fallback only) |
|
|
111
|
+
| Research and assembly run in parallel | Research completes → then assembly runs |
|
|
112
|
+
| Non-interactive Discoverability Check edits AGENTS.md/CLAUDE.md | non-interactive Full reports `Instruction-file edit: gap noted, not applied`; non-interactive Lightweight emits a discoverability tip; only interactive Full applies the edit after consent |
|
|
113
|
+
| Creating a new doc when an existing doc covers the same problem | Check overlap assessment; update the existing doc when overlap is high |
|
|
114
|
+
| Asserting code behavior or merge-state from conversation memory | Read the defining source line before asserting; cite PR numbers over SHAs; soften unverifiable claims (Phase 1 extractor rules, re-checked in Phase 2.45) |
|
|
115
|
+
| Batching several learnings through one run and stitching cross-references between drafts | One learning per run; run the skill sequentially for each additional learning |
|