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,107 @@
|
|
|
1
|
+
# Phase 0: input type and the optimization spec
|
|
2
|
+
|
|
3
|
+
Read this at the start of Phase 0. It carries how to tell a spec path from a goal description, and how to load, build, or validate the spec before CP-0. The schemas it validates against are `references/optimize-spec-schema.yaml` and `references/experiment-log-schema.yaml`.
|
|
4
|
+
|
|
5
|
+
**Horizon:** continue while another measurement or experiment is worthwhile within the stopping rules. Start serial until measurement is trusted. Stop as soon as a stopping criterion holds.
|
|
6
|
+
|
|
7
|
+
### 0.1 Determine Input Type
|
|
8
|
+
|
|
9
|
+
Check whether the input is:
|
|
10
|
+
- **A spec file path** (ends in `.yaml` or `.yml`): read and validate it
|
|
11
|
+
- **A description of the optimization goal**: help the user create a spec interactively
|
|
12
|
+
|
|
13
|
+
### 0.2 Load or Create Spec
|
|
14
|
+
|
|
15
|
+
**If spec file provided:**
|
|
16
|
+
1. Read the YAML spec file. The orchestrating agent parses YAML natively -- no shell script parsing.
|
|
17
|
+
2. Validate the spec against **every** rule in the `validation_rules` section of `references/optimize-spec-schema.yaml`. That section is the single source of truth for what a valid spec requires. Do not rely on a remembered subset; conditional rules such as the singleton-rubric and exclusive-resources requirements live only there.
|
|
18
|
+
3. If any rule fails, report the specific failures and ask the user to fix them before proceeding
|
|
19
|
+
|
|
20
|
+
**If description provided:**
|
|
21
|
+
1. Analyze the project to understand what can be measured. `references/usage-guide.md` has longer kickoff prompt shapes if the interview needs them.
|
|
22
|
+
2. **Detect whether the optimization target is qualitative or quantitative.** This determines `type: hard` vs `type: judge` and is the single most important spec decision:
|
|
23
|
+
|
|
24
|
+
**Use `type: hard`** when:
|
|
25
|
+
- The metric is a scalar number with a clear "better" direction
|
|
26
|
+
- The metric is objectively measurable (build time, test pass rate, latency, memory usage)
|
|
27
|
+
- No human judgment is needed to evaluate "is this result actually good?"
|
|
28
|
+
- Examples: reduce build time, increase test coverage, reduce API latency, decrease bundle size
|
|
29
|
+
|
|
30
|
+
If the user names more than one hard success condition that must all hold (local wall time and CI critical path and runner-minutes, for example), put them in `metric.objectives` as `role: required` and keep `metric.primary` as the ranking key. A spec without `metric.objectives` keeps single-primary acceptance. If each evaluation costs minutes, set `measurement.stability.mode: ladder` with a relative or paired comparison and a futility bound; do not spend the full confirmation protocol on every exploratory experiment. Start from `references/example-expensive-benchmark-spec.yaml` for that shape.
|
|
31
|
+
|
|
32
|
+
**Use `type: judge`** when:
|
|
33
|
+
- The quality of the output requires semantic understanding to evaluate
|
|
34
|
+
- A human reviewer would need to look at the results to say "this is better"
|
|
35
|
+
- Proxy metrics exist but can mislead (e.g., "more clusters" does not mean "better clusters")
|
|
36
|
+
- The optimization could produce degenerate solutions that look good on paper
|
|
37
|
+
- Examples: clustering quality, search relevance, summarization quality, code readability, UX copy, recommendation relevance
|
|
38
|
+
|
|
39
|
+
**IMPORTANT**: If the target is qualitative, **strongly recommend `type: judge`**. Explain that hard metrics alone will optimize proxy numbers without checking actual quality. Show the user the three-tier approach:
|
|
40
|
+
- **Degenerate gates** (hard, cheap, fast checks that reject a candidate outright): catch obviously broken solutions such as "all items in 1 cluster" or "0% coverage". Run first. If any gate fails, skip the expensive judge step.
|
|
41
|
+
- **LLM-as-judge** (the actual optimization target): sample outputs, score them against a rubric, aggregate. This is what the loop optimizes.
|
|
42
|
+
- **Diagnostics** (logged, never used to reject): distribution stats, counts, timing. These help explain WHY a judge score changed.
|
|
43
|
+
|
|
44
|
+
If the user insists on `type: hard` for a qualitative target, proceed but warn that the results may optimize a misleading proxy.
|
|
45
|
+
|
|
46
|
+
**Exemplars for the validity gate.** A person's input is needed only where the score is itself a judgment. When the primary is measured objectively (a duration, a size, a count, a pass rate over fixed cases), ask the user for nothing here: the measurement is its own ground truth, and Phase 1 builds the shortcut probe itself. When the primary is a judgment (`type: judge`, or a hard metric standing in for a quality the user would otherwise rate), use the known-good and known-bad outputs the project already has (recorded failures, fixtures, the cases of a text target) and ask the user only for what is missing: a few outputs they would score at the top and a few at the bottom. A user who has none to give is not blocked; Phase 1 runs the probes it can and states the rest as a limitation at approval. When the target is instruction text (a skill, an agent-instructions file, a persona, a tool description), read `references/text-targets.md` before going further: the eval set and the hypothesis moves differ from a code target.
|
|
47
|
+
|
|
48
|
+
3. **Design the sampling strategy** (for `type: judge`):
|
|
49
|
+
|
|
50
|
+
Guide the user through defining stratified sampling. The key question is: "What parts of the output space do you need to check quality on?"
|
|
51
|
+
|
|
52
|
+
Walk through these questions:
|
|
53
|
+
- **What does one "item" look like?** (a cluster, a search result page, a summary, etc.)
|
|
54
|
+
- **What are the natural size/quality strata?** (e.g., large clusters vs small clusters vs singletons)
|
|
55
|
+
- **Where are quality failures most likely?** (e.g., very large clusters may be degenerate merges; singletons may be missed groupings)
|
|
56
|
+
- **What total sample size balances cost vs signal?** (default: 30 items, adjust based on output volume)
|
|
57
|
+
|
|
58
|
+
Example stratified sampling for clustering:
|
|
59
|
+
```yaml
|
|
60
|
+
stratification:
|
|
61
|
+
- bucket: "top_by_size" # largest clusters: check for degenerate mega-clusters
|
|
62
|
+
count: 10
|
|
63
|
+
- bucket: "mid_range" # middle of non-solo cluster size range: representative quality
|
|
64
|
+
count: 10
|
|
65
|
+
- bucket: "small_clusters" # clusters with 2-3 items: check if connections are real
|
|
66
|
+
count: 10
|
|
67
|
+
singleton_sample: 15 # singletons: check for false negatives (items that should cluster)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
The sampling strategy is domain-specific. For search relevance, strata might be "top-3 results", "results 4-10", "tail results". For summarization, strata might be "short documents", "long documents", "multi-topic documents".
|
|
71
|
+
|
|
72
|
+
**Singleton evaluation is critical when the goal involves coverage.** Sampling singletons with the singleton rubric checks whether the system is missing obvious groupings.
|
|
73
|
+
|
|
74
|
+
4. **Design the rubric** (for `type: judge`):
|
|
75
|
+
|
|
76
|
+
Help the user define the scoring rubric. A good rubric:
|
|
77
|
+
- Has a 1-5 scale (or similar) with concrete descriptions for each level
|
|
78
|
+
- Includes supplementary fields that help diagnose issues (e.g., `distinct_topics`, `outlier_count`)
|
|
79
|
+
- Is specific enough that two judges would give similar scores
|
|
80
|
+
- Does NOT assume bigger/more is better. "3 items per cluster average" is not inherently good or bad
|
|
81
|
+
- Asks for a per-item `feedback` string (what is wrong, what would fix it); the judge template requires it and Phase 3 generates hypotheses from it
|
|
82
|
+
|
|
83
|
+
Example for clustering:
|
|
84
|
+
```yaml
|
|
85
|
+
rubric: |
|
|
86
|
+
Rate this cluster 1-5:
|
|
87
|
+
- 5: All items clearly about the same issue/feature
|
|
88
|
+
- 4: Strong theme, minor outliers
|
|
89
|
+
- 3: Related but covers 2-3 sub-topics that could reasonably be split
|
|
90
|
+
- 2: Weak connection: items share superficial similarity only
|
|
91
|
+
- 1: Unrelated items grouped together
|
|
92
|
+
Also report: distinct_topics (integer), outlier_count (integer)
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
5. Guide the user through the remaining spec fields:
|
|
96
|
+
- What degenerate cases should be rejected? (degenerate gates, for example "solo_pct <= 0.95" catches all-singletons and "max_cluster_size <= 500" catches mega-clusters)
|
|
97
|
+
- What command runs the measurement?
|
|
98
|
+
- What files can be modified? What is immutable?
|
|
99
|
+
- Any constraints or dependencies?
|
|
100
|
+
- If this is the first run: recommend `execution.mode: serial`, `execution.max_concurrent: 1`, `stopping.max_iterations: 4`, and `stopping.max_hours: 1`
|
|
101
|
+
- If the user named multiple required hard targets or an expensive harness: recommend `metric.objectives` plus `stability.mode: ladder` as above, and show `references/example-expensive-benchmark-spec.yaml`
|
|
102
|
+
- If `type: judge`: recommend `sample_size: 10`, `batch_size: 5`, and `max_total_cost_usd: 5` until the rubric and harness are trusted
|
|
103
|
+
- Holdout: a held-out set the loop confirms against but never selects from. `measurement.holdout.command` (same JSON shape as the measurement command), or for a judge primary `metric.judge.confirmation_seed` distinct from `sample_seed`, whose sample shares no item with the selection sample. Required for `type: judge` and when the run waits between ticks through a wake after turn end (`references/persistence.md`, The Wait Record and Ticks); otherwise recommended, and its absence is stated at the approval gate
|
|
104
|
+
- If `type: judge`: do not ask for hand-scored examples here. When the user already has a labeled sample, name it in `metric.judge.calibration.labels`; otherwise leave it unset, and Phase 1 offers a short guided check once the baseline has been judged (`references/measurement.md` 1.3)
|
|
105
|
+
- Per-case results: when the harness can emit a `cases` map (case id to pass/fail), set `measurement.per_case: true` so keeps and the wrap-up report which cases the baseline passed and the candidate fails
|
|
106
|
+
6. Write the spec to `<state-root>/spec.yaml`, with `<state-root>` resolved by `references/persistence.md` (The State Root)
|
|
107
|
+
7. Present the proposed scope, behavior constraints, measurement approach, and limits for approval before proceeding, with a link to the saved spec. Apply the SKILL.md body's user-facing reporting rule. Put whatever the user is being asked to judge in front of them: for a judge primary that is the rubric's scale, level by level, because it is their definition of better and they cannot approve it from a link to a file. Send all of that as an ordinary message, laid out so it is easy to read (the scale as a list, scope and limits on their own lines), and only then ask. The question itself is one short sentence and its options: a question picker shows long text as a single cramped block.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Targets that are instruction text
|
|
2
|
+
|
|
3
|
+
Read this when the files in `scope.mutable` are instructions a model runs under: a skill, an agent-instructions file, a persona or system prompt, a tool description. The loop is the same as for code. What differs is how the eval set is built, which hypotheses are moves rather than guesses, which model runs what, and how to read a perfect score. `references/example-text-target-spec.yaml` is a complete spec of this shape.
|
|
4
|
+
|
|
5
|
+
## The eval set
|
|
6
|
+
|
|
7
|
+
An instruction-text run is only as good as the cases it is scored on, and the cases are the artifact the run keeps; the text is regenerated by every experiment.
|
|
8
|
+
|
|
9
|
+
- **Build the set from failures that happened.** Each case records four fields: the input, what you wanted, what went wrong, and the output that was produced. Five to ten recorded occurrences is the floor before the text is worth optimizing at all; below that, the fix is to collect more failures, not to run the loop.
|
|
10
|
+
- **Coverage rule: every rule you want preserved needs a case that fails without it.** The optimizer keeps text that moves the score and drops text that does not. A rule with no failing case has no measured reason to exist, so expect the run to remove or weaken it; if that would be a defect, add the case before Phase 1, not after the rule is gone.
|
|
11
|
+
- **Cover each failure mode several times.** A mode seen once can land in either the selection sample or the holdout but not both, so it can never be both learned from and confirmed. Synthetic variants of a real failure are acceptable for this; a synthetic mode nobody has observed is not.
|
|
12
|
+
- **Fix the set for the run.** The cases live in `scope.immutable` alongside the harness. Growing or editing the set is a scope change: it ends this run and starts another with a new baseline.
|
|
13
|
+
|
|
14
|
+
## The harness
|
|
15
|
+
|
|
16
|
+
The measurement command runs every case against the candidate text under the task model and prints one JSON object: a pass rate or judge score for the primary, a `cases` map (case id to pass/fail) so `measurement.per_case` can report regressions, and `prompt_tokens` or an equivalent length diagnostic. A binary PASS/FAIL judge given the case's "what went wrong" as the tell is usually enough; a graded rubric earns its cost only when partial credit changes which candidate wins. The holdout is a second case file the selection command never reads.
|
|
17
|
+
|
|
18
|
+
## Model roles
|
|
19
|
+
|
|
20
|
+
Two models are involved and the spec pins one of them. The **task model** is the one the text will run under in production; the harness runs every case under it, and it does not change during the run. The **proposer** is whatever writes each candidate: the experiment worker, or an external optimizer. The proposer may be stronger than the task model; a candidate written by a strong model and measured under a cheap one is the normal shape, and improvements found this way carry to stronger task models more often than the reverse. Never let the harness silently use the proposer's model to score; that measures the wrong thing.
|
|
21
|
+
|
|
22
|
+
## Hypotheses are optimizer moves
|
|
23
|
+
|
|
24
|
+
Each hypothesis is one of a small number of moves applied to the current text. Name the move in the hypothesis `category` so the digest can see which moves are exhausted.
|
|
25
|
+
|
|
26
|
+
| Move | What the experiment does | When it is the cheapest next step |
|
|
27
|
+
|---|---|---|
|
|
28
|
+
| `add-examples` | Insert labeled input/output pairs drawn from cases the current text fails | Failure themes name a pattern the prose already describes but the model does not follow |
|
|
29
|
+
| `bootstrap-examples` | Run the task model on passing cases and keep its own good outputs as examples | Hand-written examples read differently from what the model produces |
|
|
30
|
+
| `rewrite-from-feedback` | Rewrite the failing section from the digest's failure themes, as a condition rather than a case list | Several cases fail for one stated reason |
|
|
31
|
+
| `shorten` | Cut text while `prompt_tokens` is a required or secondary objective | The primary is flat and the text is long |
|
|
32
|
+
| `restructure` | Move, merge, or split sections; change the order rules fire in | A rule fires in the wrong place, or two rules compete |
|
|
33
|
+
| `decompose` | Split one instruction into a caller and a reference it loads at the point of use | The always-loaded text carries steps most runs never reach |
|
|
34
|
+
| `vote` | Have the task model produce several outputs and pick by a stated rule | Single outputs are inconsistent on cases the model can solve |
|
|
35
|
+
| `external-optimizer` | See below | An optimizer library is available and a metric-call budget is cheaper than a batch of hand-written candidates |
|
|
36
|
+
|
|
37
|
+
A rule added for one failing case is not a move. It is the shape the failure themes exist to prevent: when the same section keeps absorbing a case per experiment, the next hypothesis is `rewrite-from-feedback` on that section, restating the condition the cases share.
|
|
38
|
+
|
|
39
|
+
### An external optimizer as an experiment
|
|
40
|
+
|
|
41
|
+
When the project has a prompt-optimizer library installed and the harness can be called as its metric, one hypothesis may be: run the optimizer against the seed text for a stated number of metric calls, and take its returned candidate as the experiment's diff. The candidate is then measured by the immutable harness exactly like any other diff; the optimizer's own reported score is not a measurement. Run it with the harness's selection cases only; the holdout stays unseen. The library counts as available when it can be imported or invoked from the project right now; a missing config entry or environment variable proves nothing either way. Name the library and its metric-call budget in the hypothesis so the digest can compare its cost to the hand-written moves. When no optimizer is available, this move is absent from the backlog.
|
|
42
|
+
|
|
43
|
+
## Reading the score
|
|
44
|
+
|
|
45
|
+
- **A ceiling is a smell, not a finish.** When the current best scores at the top of the scale on the selection set, the eval is too easy for the text as it now stands. Stop on `target_reached`, report that the set no longer separates candidates, and recommend adding harder or adversarial cases for the next run. Do not tighten the rubric or grow the set inside the run.
|
|
46
|
+
- **Real gains lost to noise** on a small case set are a reason to raise the sample or repeat count, not to lower the threshold.
|
|
47
|
+
- **Length is a stated objective or it is not measured.** If shorter text matters, put `prompt_tokens` in `metric.objectives` (minimize, `role: secondary` to log it, `required` to make it a keep condition). Otherwise do not penalize length by hand.
|
|
48
|
+
|
|
49
|
+
## Where things live
|
|
50
|
+
|
|
51
|
+
The case files, the calibration labels, and the harness are repository files in `scope.immutable`; they are reused across runs. The judge cache, per-item feedback, failure themes, and the harness-validation record are run state in the experiment log and its scratch directory. The winning text is the diff on `optimize/<spec-name>`, reviewed by a person at wrap-up like any other kept change.
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# `ce-optimize` Usage Guide
|
|
2
|
+
|
|
3
|
+
## What This Skill Is For
|
|
4
|
+
|
|
5
|
+
The `ce-optimize` skill is for hard engineering problems where:
|
|
6
|
+
|
|
7
|
+
1. You can measure the same target twice.
|
|
8
|
+
2. You can either attribute a named-workload cost or try multiple scored variants.
|
|
9
|
+
3. You want the skill to keep confirmed improvements and reject the rest.
|
|
10
|
+
|
|
11
|
+
On a cost target, the first useful action is often a locating measurement, not a batch of implementation experiments. On a scored variant space, the skill searches and keeps. It is not one-shot implementation of a change you already know.
|
|
12
|
+
|
|
13
|
+
## When To Use It
|
|
14
|
+
|
|
15
|
+
Reach for `ce-optimize` when the problem looks like:
|
|
16
|
+
|
|
17
|
+
- "Find the smallest memory limit that stops OOM crashes without wasting RAM."
|
|
18
|
+
- "Tune clustering parameters without collapsing everything into one garbage cluster."
|
|
19
|
+
- "Find a prompt that is cheaper but still produces summaries good enough for downstream clustering."
|
|
20
|
+
- "Compare several ranking, retrieval, batching, or threshold strategies against the same harness."
|
|
21
|
+
|
|
22
|
+
Choose `type: hard` when success is objective and cheap to measure:
|
|
23
|
+
|
|
24
|
+
- Memory usage
|
|
25
|
+
- Latency
|
|
26
|
+
- Throughput
|
|
27
|
+
- Test pass rate
|
|
28
|
+
- Build time
|
|
29
|
+
|
|
30
|
+
Choose `type: judge` when a numeric metric can be gamed or when human usefulness matters:
|
|
31
|
+
|
|
32
|
+
- Cluster coherence
|
|
33
|
+
- Search relevance
|
|
34
|
+
- Summary quality
|
|
35
|
+
- Prompt quality
|
|
36
|
+
- Classification quality with semantic edge cases
|
|
37
|
+
|
|
38
|
+
## When Not To Use It
|
|
39
|
+
|
|
40
|
+
`ce-optimize` is usually the wrong tool when:
|
|
41
|
+
|
|
42
|
+
- The change is already known. Make it, or use `ce-work`
|
|
43
|
+
- The job is diagnosing failing or slow behavior. That is `ce-debug`
|
|
44
|
+
- There is no repeatable measurement harness
|
|
45
|
+
- The search space is fake and only has one plausible answer
|
|
46
|
+
- The cost of evaluating variants is too high to justify multiple runs
|
|
47
|
+
|
|
48
|
+
## How To Think About It
|
|
49
|
+
|
|
50
|
+
The pattern is:
|
|
51
|
+
|
|
52
|
+
1. Define the target.
|
|
53
|
+
2. Build or validate the measurement harness first.
|
|
54
|
+
3. Take the cheapest next action that would change what gets implemented: a locating measurement on a cost target, or a scored variant on a search target.
|
|
55
|
+
4. Keep confirmed improvements and reject the rest.
|
|
56
|
+
|
|
57
|
+
The core rule is simple:
|
|
58
|
+
|
|
59
|
+
- If a hard metric captures "better," optimize the hard metric.
|
|
60
|
+
- If a hard metric can be gamed, add LLM-as-judge.
|
|
61
|
+
|
|
62
|
+
Example: lowering a clustering threshold may increase cluster coverage. That sounds good until everything ends up in one giant cluster. Hard metrics may say "improved"; an LLM judge sampling real clusters can say "this is trash."
|
|
63
|
+
|
|
64
|
+
## First-Run Advice
|
|
65
|
+
|
|
66
|
+
For the first run:
|
|
67
|
+
|
|
68
|
+
- Prefer `execution.mode: serial`
|
|
69
|
+
- Set `execution.max_concurrent: 1`
|
|
70
|
+
- Keep `stopping.max_iterations` small
|
|
71
|
+
- Keep `stopping.max_hours` small
|
|
72
|
+
- Avoid new dependencies until the baseline is trustworthy
|
|
73
|
+
- In judge mode, use a small sample and a low cost cap
|
|
74
|
+
|
|
75
|
+
The goal of the first run is to validate the harness, not to win the optimization immediately.
|
|
76
|
+
|
|
77
|
+
## Example Prompts
|
|
78
|
+
|
|
79
|
+
### 1. Memory Tuning
|
|
80
|
+
|
|
81
|
+
```text
|
|
82
|
+
Run the `ce-optimize` skill to find the smallest memory setting that keeps this service stable under our load test.
|
|
83
|
+
|
|
84
|
+
The current container limit is 512 MB and the app sometimes OOM-crashes. Do not just jump to 8 GB. Try a small set of realistic memory limits, run the same load test for each one, and score the results using:
|
|
85
|
+
- did the process OOM
|
|
86
|
+
- did tail latency spike badly
|
|
87
|
+
- did GC pauses become excessive
|
|
88
|
+
|
|
89
|
+
Prefer the smallest memory limit that passes the guard rails.
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### 2. Clustering Quality
|
|
93
|
+
|
|
94
|
+
```text
|
|
95
|
+
Run the `ce-optimize` skill to improve issue and PR clustering quality.
|
|
96
|
+
|
|
97
|
+
We have about 18k open issues and PRs. We want to test changes that improve clustering quality, reduce singleton clusters, and improve match quality within each cluster.
|
|
98
|
+
|
|
99
|
+
Do not mutate the shared default database. Copy it for the run, then use per-experiment copies when needed.
|
|
100
|
+
|
|
101
|
+
Do not optimize only for coverage. Use LLM-as-judge to sample clusters and confirm they still preserve real semantic similarity instead of collapsing into giant low-quality clusters.
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### 3. Expensive Test Suite
|
|
105
|
+
|
|
106
|
+
```text
|
|
107
|
+
Run the `ce-optimize` skill to reduce this repository's full test-suite wall time without making CI slower or spending more runner-minutes.
|
|
108
|
+
|
|
109
|
+
Local warm median is currently about six minutes and the range is wide. Treat local wall time, CI critical path, and aggregate runner-minutes as required targets: a change that helps only CI may be kept if it does not regress the others, and the run is not done until every declared target is met.
|
|
110
|
+
|
|
111
|
+
Do not spend a five-run cold/warm protocol on every exploratory experiment. Smoke for correctness, take one paired sample, abort anything already far worse than the current best, and reserve the full protocol for a candidate you are about to keep and for final confirmation.
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### 4. Prompt Optimization
|
|
115
|
+
|
|
116
|
+
```text
|
|
117
|
+
Run the `ce-optimize` skill to create a summarization prompt for issues and PRs that minimizes token spend while still producing summaries that are good enough for downstream clustering.
|
|
118
|
+
|
|
119
|
+
I want the loop to compare prompt variants, measure token cost, and judge whether the summaries preserve the distinctions needed to cluster related issues together without merging unrelated ones.
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Choosing Between Hard Metrics And Judge Mode
|
|
123
|
+
|
|
124
|
+
Use hard metrics alone when:
|
|
125
|
+
|
|
126
|
+
- "Better" is obvious from the numbers.
|
|
127
|
+
|
|
128
|
+
Add judge mode when:
|
|
129
|
+
|
|
130
|
+
- The numbers can improve while the real output gets worse.
|
|
131
|
+
|
|
132
|
+
Common pattern:
|
|
133
|
+
|
|
134
|
+
- Hard gates reject broken outputs.
|
|
135
|
+
- Judge mode scores the surviving candidates for actual usefulness.
|
|
136
|
+
|
|
137
|
+
That hybrid setup is often the best default for ranking, clustering, and prompt work.
|
|
138
|
+
|
|
139
|
+
## First-run defaults
|
|
140
|
+
|
|
141
|
+
A first run optimizes for signal and safety, not throughput:
|
|
142
|
+
|
|
143
|
+
- Start from `references/example-hard-spec.yaml` when the metric is objective and cheap to measure; use `references/example-judge-spec.yaml` only when quality genuinely requires semantic judgment; use `references/example-expensive-benchmark-spec.yaml` when each run costs minutes or several hard targets must all hold.
|
|
144
|
+
- Prefer `execution.mode: serial` with `execution.max_concurrent: 1`.
|
|
145
|
+
- Cap the run with `stopping.max_iterations: 4` and `stopping.max_hours: 1`.
|
|
146
|
+
- Add no new dependencies until the baseline and measurement harness are trusted.
|
|
147
|
+
- For judge mode, start at `sample_size: 10`, `batch_size: 5`, and `max_total_cost_usd: 5`.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Phase 4: wrap-up
|
|
2
|
+
|
|
3
|
+
Read this at wrap-up. The SKILL.md body states the post-completion options the user chooses from. This file carries what each one needs: the deferred-hypothesis presentation, the results summary, what is preserved and what is not, the mechanical-apply bar for review findings, and the cleanup rules.
|
|
4
|
+
|
|
5
|
+
## Phase 4: Wrap-Up
|
|
6
|
+
|
|
7
|
+
### 4.1 Present Deferred Hypotheses
|
|
8
|
+
|
|
9
|
+
If any hypotheses were deferred due to unapproved dependencies:
|
|
10
|
+
1. List them with their dependency requirements
|
|
11
|
+
2. Ask the user whether to approve, skip, or save for a future run
|
|
12
|
+
3. If approved: add to backlog and offer to re-enter Phase 3 for one more round
|
|
13
|
+
|
|
14
|
+
### 4.2 Summarize Results
|
|
15
|
+
|
|
16
|
+
Report from the persisted forecasts and measurements, with the final state confirmed using the configured measurement protocol. The confirmation measures the original baseline revision (the commit the optimization branch started from) and the final state as one pairing, and repeats that pairing on the holdout when one is configured; the per-keep holdout pairs compare successive states and do not stand in for it. Persist both pairings in `comparisons` (the held-out one as `kind: holdout`). If confirmation is unavailable, label the final values unconfirmed and state why. A legacy log remains reportable: missing forecasts, comparison baselines, or uncertainty stay unrecorded rather than being reconstructed from the final result.
|
|
17
|
+
|
|
18
|
+
The summary must contain:
|
|
19
|
+
|
|
20
|
+
- **Overall result:** original baseline -> final for every required objective (the primary when no objectives are declared), with units, absolute change, target status, and percentage change where meaningful. A zero baseline has no defined percentage change; an ordinal judge score is reported in score points, not as a percentage improvement.
|
|
21
|
+
- **Opportunity -> result:** each retained change's original expected benefit beside its measured before/after result, the comparison identity and workload, and whether the evidence supports the estimate. Identify standalone versus integrated results. If the forecast and result use different baselines or workloads, label them non-comparable instead of declaring that the forecast was met or missed.
|
|
22
|
+
- **Evidence quality:** measurement uncertainty and confirmation status, correctness checks and their results, and any unverified constraints, including each one a revert found the harness does not check (the change the harness needs before the next run). Report measured incremental contributions only when the corresponding reference measurements exist. Do not add percentages from successive changes or count a standalone runner-up gain as its integrated contribution; the overall gain comes from original-to-final measurement.
|
|
23
|
+
- **Held-out result and regressions:** the final state's holdout comparison against the original baseline (or that no holdout was configured, so the reported gain was selected and reported on the same sample), and when `measurement.per_case` is set the list of cases the baseline passed and the final state fails. An empty regression list is reported as empty; an absent one as unrecorded.
|
|
24
|
+
- **Remaining opportunity:** what still costs time or resources, with current evidence and whether further work appears worthwhile. Without fresh evidence, label remaining estimates stale or unknown; do not claim a new bottleneck from the old profile alone.
|
|
25
|
+
- **Run accounting:** stopping reason, duration, outcome counts, judge cost when applicable, estimated whole-run cost with which parts are estimates, and the log path. Preserve the existing outcome distinctions, including `Not selected: <count>`, inconclusive, censored, deferred, errors, and timeouts. Short reports may omit individual rejected experiments, but retain required-objective results and evidence limitations.
|
|
26
|
+
|
|
27
|
+
### 4.3 Preserve and Offer Next Steps
|
|
28
|
+
|
|
29
|
+
The optimization branch (`optimize/<spec-name>`) is preserved with all commits from kept experiments.
|
|
30
|
+
The experiment log and strategy digest remain under `<state-root>` for resume and audit; they do not travel with the branch from either root (`.context/` is gitignored, and a durable store is outside the checkout).
|
|
31
|
+
|
|
32
|
+
**Export the report.** Write the 4.2 summary to `<root>/optimize/<spec-name>-report.md` (`<root>` from the body's Artifact Root rule) and commit it on the optimization branch, so a PR from the branch carries its evidence and the summary outlives the ledger. Report the path to the user together with the summary; the user may name a different tracked path instead.
|
|
33
|
+
|
|
34
|
+
Present these options after the summary. When the stop was reached on an unattended wake, presenting them is the point where this turn ends: `run_state.status` stays `waiting` on the user's choice, and CP-5 is written only after that choice, as the body states.
|
|
35
|
+
|
|
36
|
+
1. **Run `ce-code-review`** on the cumulative diff (baseline to final), on the optimization branch. Do not commit or push from this step.
|
|
37
|
+
2. **Run `ce-compound`** to document the winning strategy as an institutional learning.
|
|
38
|
+
3. **Create PR** from the optimization branch to the default branch.
|
|
39
|
+
4. **Continue**: re-enter Phase 3, state re-read first.
|
|
40
|
+
5. **Done**: leave the branch for manual review.
|
|
41
|
+
|
|
42
|
+
For option 1, load `ce-code-review` on the optimization branch, interactive or `mode:agent`, and land eligible fixes under the bar below before moving to the next option.
|
|
43
|
+
|
|
44
|
+
**Mechanical-apply bar:** apply any finding with a concrete `suggested_fix` that is a clear, reversible improvement. Push back (keep, don't apply) when the reviewer is wrong, noting why. Defer anything whose right fix needs a design or product decision (architecture direction, contract shape, behavior change needing sign-off) and any finding with no concrete fix to act on. Tell the user what was deferred. Confirm evidence still matches at `file:line` before editing. After applying, run tests (at least targeted tests for what changed; broader suite for multi-file edits). Do not commit or push from this step. Leave the diff on the optimization branch for the Create PR option.
|
|
45
|
+
Option 4 (continue) re-enters Phase 3 with the current state, state re-read from disk first.
|
|
46
|
+
|
|
47
|
+
### 4.4 Cleanup
|
|
48
|
+
|
|
49
|
+
Once CP-5 is written the run is over, so leave behind only what someone will still read. Remove the working files this run created under `<state-root>`: the strategy digest, the judge cache, result markers, and any scratch payloads or decision files you wrote there. Keep `experiment-log.yaml` and `spec.yaml`, tell the user where they are, and remove them too only if the user asks. A run that is not final (`waiting` or `blocked`) keeps everything, because a resume reads it.
|
|
50
|
+
|
|
51
|
+
Remove files the way this host and the user's own rules prefer, such as moving them to the trash rather than deleting them permanently when that is available. Remove only files you can name that this run created inside `<state-root>`; never compose a path to delete from a pattern or an unresolved placeholder, and leave anything you are unsure about in place and name it in the final message. Remove experiment worktrees only through `scripts/experiment-worktree.sh cleanup`, which checks what it removes.
|
|
52
|
+
|
|
53
|
+
Do NOT delete the experiment log if the user may resume or wants an audit trail. The exported report in 4.3 is the durable shared artifact; the ledger is not. Unregister any wake still registered for this run.
|
|
54
|
+
Do NOT delete experiment worktrees that are still being referenced.
|