main a1f601f17137
1044 files
12.9 MB
3.4M tokens
Copy disabled (too large)
Showing preview only (13,709K chars total). The displayed content is truncated. Use the JSON API for full output.
Repository: EveryInc/compound-engineering-plugin
Branch: main
Commit: a1f601f17137
Files: 1044
Total size: 12.9 MB

Directory structure:
gitextract_5_nw36uc/

├── .agents/
│   ├── plugins/
│   │   └── marketplace.json
│   └── skills/
│       └── ce-skill-work/
│           ├── SKILL.md
│           └── references/
│               ├── edit-skill.md
│               ├── evaluate.md
│               ├── new-skill.md
│               ├── respond-to-review.md
│               └── review-skill.md
├── .agy/
│   └── INSTALL.md
├── .claude/
│   └── commands/
│       └── triage-prs.md
├── .claude-plugin/
│   ├── CHANGELOG.md
│   ├── marketplace.json
│   └── plugin.json
├── .cline/
│   ├── INSTALL.md
│   └── scripts/
│       └── install-skills.sh
├── .codex-plugin/
│   └── plugin.json
├── .compound-engineering/
│   └── config.example.yaml
├── .cursor-plugin/
│   ├── CHANGELOG.md
│   ├── marketplace.json
│   └── plugin.json
├── .devin-plugin/
│   └── plugin.json
├── .gitattributes
├── .github/
│   ├── .release-please-manifest.json
│   ├── pull_request_template.md
│   ├── release-please-config.json
│   └── workflows/
│       ├── ci.yml
│       ├── release-pr.yml
│       └── release-preview.yml
├── .gitignore
├── .grok-plugin/
│   ├── marketplace.json
│   └── plugin.json
├── .kimi-plugin/
│   ├── marketplace.json
│   └── plugin.json
├── .omp-plugin/
│   └── marketplace.json
├── .opencode/
│   ├── INSTALL.md
│   └── plugins/
│       └── compound-engineering.js
├── .pi/
│   └── extensions/
│       └── compound-engineering.ts
├── AGENTS.md
├── CHANGELOG.md
├── CONCEPTS.md
├── CONTRIBUTING.md
├── GEMINI.md
├── LICENSE
├── PRIVACY.md
├── README.md
├── SECURITY.md
├── STRATEGY.md
├── assets/
│   └── demo/
│       ├── README.md
│       ├── compound-loop.tape
│       └── play.sh
├── docs/
│   ├── brainstorms/
│   │   ├── 2026-02-14-copilot-converter-target-brainstorm.md
│   │   ├── 2026-02-17-copilot-skill-naming-brainstorm.md
│   │   ├── 2026-03-14-ce-plan-rewrite-requirements.md
│   │   ├── 2026-03-15-ce-ideate-skill-requirements.md
│   │   ├── 2026-03-16-issue-grounded-ideation-requirements.md
│   │   ├── 2026-03-17-release-automation-requirements.md
│   │   ├── 2026-03-18-auto-memory-integration-requirements.md
│   │   ├── 2026-03-22-frontend-design-skill-improvement.md
│   │   ├── 2026-03-23-plan-review-personas-requirements.md
│   │   ├── 2026-03-25-config-storage-redesign-requirements.md
│   │   ├── 2026-03-25-vonboarding-skill-requirements.md
│   │   ├── 2026-03-26-merge-deepen-into-plan-requirements.md
│   │   ├── 2026-03-27-ce-skill-prefix-rename-requirements.md
│   │   ├── 2026-03-28-ce-review-headless-mode-requirements.md
│   │   ├── 2026-03-29-iterative-optimization-loop-requirements.md
│   │   ├── 2026-03-29-testing-addressed-gate-requirements.md
│   │   ├── 2026-03-30-cli-readiness-review-persona-requirements.md
│   │   ├── 2026-03-31-codex-delegation-requirements.md
│   │   ├── 2026-04-01-cross-invocation-cluster-analysis-requirements.md
│   │   ├── 2026-04-02-slack-analyst-agent-requirements.md
│   │   ├── 2026-04-05-universal-planning-requirements.md
│   │   ├── 2026-04-17-ce-release-notes-skill-requirements.md
│   │   ├── 2026-04-17-ce-review-interactive-judgment-requirements.md
│   │   ├── 2026-04-18-ce-doc-review-autofix-and-interaction-requirements.md
│   │   ├── 2026-04-22-demo-reel-local-save-requirements.md
│   │   ├── 2026-04-24-surface-scope-earlier-requirements.md
│   │   ├── 2026-05-19-vscode-copilot-agent-tool-access-requirements.md
│   │   ├── 2026-06-04-ce-plan-approach-altitude-requirements.md
│   │   └── 2026-06-19-agentless-plugin-surface-reduction-requirements.md
│   ├── development.md
│   ├── grok-marketplace-submission.md
│   ├── guides/
│   │   ├── README.md
│   │   ├── ce-babysit-pr.md
│   │   ├── ce-brainstorm.md
│   │   ├── ce-code-review.md
│   │   ├── ce-commit-push-pr.md
│   │   ├── ce-commit.md
│   │   ├── ce-compound-refresh.md
│   │   ├── ce-compound.md
│   │   ├── ce-debug.md
│   │   ├── ce-doc-review.md
│   │   ├── ce-dogfood.md
│   │   ├── ce-explain.md
│   │   ├── ce-handoff.md
│   │   ├── ce-ideate.md
│   │   ├── ce-optimize.md
│   │   ├── ce-plan.md
│   │   ├── ce-polish.md
│   │   ├── ce-pov.md
│   │   ├── ce-product-pulse.md
│   │   ├── ce-promote.md
│   │   ├── ce-proof.md
│   │   ├── ce-prototype.md
│   │   ├── ce-resolve-pr-feedback.md
│   │   ├── ce-retune.md
│   │   ├── ce-riffrec-feedback-analysis.md
│   │   ├── ce-setup.md
│   │   ├── ce-simplify-code.md
│   │   ├── ce-strategy.md
│   │   ├── ce-sweep.md
│   │   ├── ce-test-browser.md
│   │   ├── ce-test-xcode.md
│   │   ├── ce-work.md
│   │   ├── ce-worktree.md
│   │   ├── configuration.md
│   │   └── lfg.md
│   ├── ideation/
│   │   └── 2026-06-28-ce-pov-skill-proposal.html
│   ├── install/
│   │   └── upgrading.md
│   ├── plans/
│   │   ├── 2026-02-08-feat-convert-local-md-settings-for-opencode-codex-plan.md
│   │   ├── 2026-02-08-feat-pr-triage-and-merge-plan.md
│   │   ├── 2026-02-08-feat-simplify-plugin-settings-plan.md
│   │   ├── 2026-02-08-refactor-reduce-plugin-context-token-usage-plan.md
│   │   ├── 2026-02-09-refactor-dspy-ruby-skill-update-plan.md
│   │   ├── 2026-02-12-feat-add-cursor-cli-target-provider-plan.md
│   │   ├── 2026-02-14-feat-add-copilot-converter-target-plan.md
│   │   ├── 2026-02-14-feat-add-gemini-cli-target-provider-plan.md
│   │   ├── 2026-02-14-feat-auto-detect-install-and-gemini-sync-plan.md
│   │   ├── 2026-02-25-feat-windsurf-global-scope-support-plan.md
│   │   ├── 2026-03-01-feat-ce-command-aliases-backwards-compatible-deprecation-plan.md
│   │   ├── 2026-03-01-fix-setup-skill-non-claude-llm-fallback-plan.md
│   │   ├── 2026-03-03-feat-sync-claude-mcp-all-supported-providers-plan.md
│   │   ├── 2026-03-15-001-feat-ce-ideate-skill-plan.md
│   │   ├── 2026-03-16-001-feat-issue-grounded-ideation-plan.md
│   │   ├── 2026-03-17-001-feat-release-automation-migration-beta-plan.md
│   │   ├── 2026-03-18-001-feat-auto-memory-integration-beta-plan.md
│   │   ├── 2026-03-22-001-feat-frontend-design-skill-rewrite-beta-plan.md
│   │   ├── 2026-03-23-001-feat-ce-review-beta-pipeline-mode-beta-plan.md
│   │   ├── 2026-03-23-001-feat-plan-review-personas-beta-plan.md
│   │   ├── 2026-03-23-001-feat-promote-plan-beta-skills-to-stable-plan.md
│   │   ├── 2026-03-25-001-feat-onboarding-skill-plan.md
│   │   ├── 2026-03-25-002-refactor-config-storage-redesign-plan.md
│   │   ├── 2026-03-26-001-feat-adversarial-review-agents-plan.md
│   │   ├── 2026-03-26-001-refactor-merge-deepen-into-plan.md
│   │   ├── 2026-03-27-001-refactor-ce-skill-prefix-rename-plan.md
│   │   ├── 2026-03-28-001-feat-ce-review-headless-mode-plan.md
│   │   ├── 2026-03-29-001-feat-brainstorm-visual-aids-plan.md
│   │   ├── 2026-03-29-001-feat-iterative-optimization-loop-skill-beta-plan.md
│   │   ├── 2026-03-29-001-feat-testing-addressed-gate-plan.md
│   │   ├── 2026-03-29-002-feat-plan-visual-aids-plan.md
│   │   ├── 2026-03-29-002-feat-pr-feedback-clustering-plan.md
│   │   ├── 2026-03-29-003-feat-pr-description-visual-aids-plan.md
│   │   ├── 2026-03-30-001-feat-cli-readiness-review-persona-plan.md
│   │   ├── 2026-03-31-001-feat-codex-delegation-plan.md
│   │   ├── 2026-04-01-001-feat-cross-invocation-cluster-analysis-plan.md
│   │   ├── 2026-04-02-001-feat-slack-analyst-agent-plan.md
│   │   ├── 2026-04-05-001-feat-universal-planning-plan.md
│   │   ├── 2026-04-09-001-feat-ce-work-token-extraction-plan.md
│   │   ├── 2026-04-15-001-feat-ce-polish-skill-plan.md
│   │   ├── 2026-04-16-001-fix-ce-polish-beta-detection-gaps-plan.md
│   │   ├── 2026-04-17-001-feat-ce-ideate-mode-aware-v2-plan.md
│   │   ├── 2026-04-17-001-feat-ce-release-notes-skill-plan.md
│   │   ├── 2026-04-17-002-feat-ce-review-interactive-judgment-plan.md
│   │   ├── 2026-04-18-001-feat-ce-doc-review-autofix-and-interaction-overhaul-plan.md
│   │   ├── 2026-04-18-001-refactor-native-install-cleanup-plan.md
│   │   ├── 2026-04-20-001-feat-codex-native-plugin-manifests-plan.md
│   │   ├── 2026-04-20-001-fix-ce-compound-yaml-safety-plan.md
│   │   ├── 2026-04-21-001-feat-ce-plan-traceability-loop-plan.md
│   │   ├── 2026-04-21-001-refactor-ce-doc-review-anchored-confidence-scoring-plan.md
│   │   ├── 2026-04-21-002-refactor-ce-code-review-precision-and-validation-plan.md
│   │   ├── 2026-04-22-001-feat-demo-reel-local-save-plan.md
│   │   ├── 2026-04-25-001-fix-ce-code-review-lfg-defer-bias-plan.md
│   │   ├── 2026-04-26-feat-surface-scope-earlier-plan.md
│   │   ├── 2026-05-08-001-fix-ce-sessions-orchestration-refactor-plan.md
│   │   ├── 2026-05-11-001-feat-output-html-mode-plan.md
│   │   ├── 2026-06-02-001-feat-ce-code-review-safe-autofix-plan.md
│   │   ├── 2026-06-04-001-feat-ce-plan-approach-altitude-plan.md
│   │   ├── 2026-06-18-001-refactor-unified-plan-doc-artifact-plan.md
│   │   ├── 2026-06-22-001-feat-antigravity-target-remove-gemini-plan.md
│   │   ├── 2026-06-26-001-chore-remove-ce-work-beta-plan.html
│   │   ├── 2026-06-28-001-feat-ce-pov-skill-plan.md
│   │   ├── 2026-06-29-001-feat-shared-repo-grounding-cache-plan.md
│   │   ├── 2026-07-02-001-feat-ce-sweep-skill-plan.md
│   │   ├── 2026-07-02-002-feat-ce-explain-skill-plan.md
│   │   ├── 2026-07-05-001-feat-devin-cli-native-plugin-support-plan.md
│   │   ├── 2026-07-07-001-feat-pr-concept-teaching-plan.md
│   │   ├── 2026-07-08-001-fix-model-alias-map-latest-generations-plan.md
│   │   ├── 2026-07-09-001-feat-grok-plugin-support-plan.md
│   │   ├── 2026-07-09-001-fix-ce-test-browser-native-driver-plan.md
│   │   ├── 2026-07-09-002-feat-claude-code-fable-elevation-plan.md
│   │   ├── 2026-07-09-003-feat-doc-review-cross-model-plan.md
│   │   ├── 2026-07-11-001-feat-babysit-self-initiating-loop-plan.md
│   │   ├── 2026-07-13-001-feat-code-review-line-provenance-plan.md
│   │   ├── 2026-07-13-001-fix-ce-proof-v3-owner-lifecycle-plan.md
│   │   ├── 2026-07-13-002-feat-code-review-cross-model-provider-port-plan.md
│   │   ├── 2026-07-14-001-feat-session-settled-decisions-plan.md
│   │   ├── 2026-07-14-001-fix-detached-peer-job-lifecycle-plan.md
│   │   ├── 2026-07-14-002-feat-ce-pov-cross-model-panel-plan.md
│   │   ├── 2026-07-15-001-docs-readme-install-first-plan.md
│   │   ├── 2026-07-15-002-feat-ce-work-cross-model-execution-plan.md
│   │   ├── 2026-07-16-001-feat-ce-handoff-session-continuity-plan.md
│   │   ├── 2026-07-17-001-eval-cross-model-peer-model-config.md
│   │   ├── 2026-07-18-001-fix-babysit-moving-base-plan.md
│   │   ├── 2026-07-18-adversarial-peer-benchmark-report.md
│   │   ├── 2026-07-20-001-feat-cross-harness-model-elevation-plan.md
│   │   ├── 2026-07-20-001-feat-cross-tracker-issue-ideation-plan.md
│   │   ├── 2026-07-21-001-fix-babysit-budget-active-watch-time-plan.md
│   │   ├── 2026-07-21-001-fix-ce-pov-oracle-panel-prompting-plan.md
│   │   ├── 2026-07-22-001-feat-configurable-docs-root-plan.md
│   │   ├── 2026-07-23-001-feat-peer-job-runner-windows-native-plan.md
│   │   ├── 2026-07-24-001-test-codex-content-transform-coverage-plan.md
│   │   ├── 2026-07-31-001-fix-mode-non-interactive-rename-plan.md
│   │   ├── 2026-07-31-002-fix-prefer-git-bash-over-wsl-plan.md
│   │   ├── 2026-07-31-003-fix-portable-windows-path-unit-tests-plan.md
│   │   ├── 2026-07-31-004-fix-preserve-explicit-windows-bash-plan.md
│   │   ├── 2026-08-05-001-feat-babysit-stack-posture-ship-eval-scenarios.md
│   │   ├── 2026-08-05-001-feat-babysit-stack-posture-ship-plan.md
│   │   ├── 2026-08-06-001-fix-agent-plugins-manifest-conformance-plan.md
│   │   ├── 2026-08-12-001-fix-product-contract-section-catalog-plan.md
│   │   ├── 2026-08-12-002-fix-repo-config-cascade-plan.md
│   │   ├── 2026-08-12-003-feat-ce-prototype-skill-plan.md
│   │   ├── 2026-08-12-003-fix-doc-review-decision-clustering-plan.md
│   │   ├── 2026-08-13-0952-fix-prototype-medium-and-modality-plan.md
│   │   ├── 2026-08-13-2253-feat-prototype-craft-floor-and-durable-storage-plan.md
│   │   ├── 2026-08-15-1506-fix-refresh-instruction-layer-conflict-plan.md
│   │   ├── 2026-08-15-2303-fix-cross-model-verify-warm-checkout-plan.md
│   │   ├── 2026-08-21-0147-refactor-phase-loaded-skill-kernels-plan.md
│   │   ├── 2026-08-21-phase-loaded-skill-kernels-eval-report.md
│   │   ├── 2026-08-22-0934-fix-right-size-skill-ceremony-plan.md
│   │   ├── 2026-08-22-2100-fix-product-lens-activation-condition-plan.md
│   │   ├── 2026-08-22-right-size-skill-ceremony-eval-report.md
│   │   ├── 2026-08-28-0211-fix-doc-claims-absolute-paths-plan.md
│   │   ├── babysit-non-convergence-detection.md
│   │   ├── ce-code-review-reviewer-consolidation-and-standards-file.md
│   │   ├── feature_opencode-commands-as-md-and-config-merge.md
│   │   └── pipeline-mode-contract-and-lfg-babysit-consolidation.md
│   ├── solutions/
│   │   ├── adding-converter-target-providers.md
│   │   ├── agent-friendly-cli-principles.md
│   │   ├── architecture-patterns/
│   │   │   ├── host-native-browser-driver-selection.md
│   │   │   └── posix-process-supervision-on-native-windows.md
│   │   ├── best-practices/
│   │   │   ├── cache-invalidation-input-set-completeness.md
│   │   │   ├── ce-pipeline-end-to-end-learnings.md
│   │   │   ├── codex-delegation-best-practices.md
│   │   │   ├── conditional-visual-aids-in-generated-documents.md
│   │   │   ├── predictable-tmp-cache-ownership-check.md
│   │   │   ├── prefer-python-over-bash-for-pipeline-scripts.md
│   │   │   └── preserve-user-content-across-all-destructive-paths.md
│   │   ├── codex-skill-prompt-entrypoints.md
│   │   ├── conventions/
│   │   │   ├── antigravity-target-empirical-format-verification.md
│   │   │   ├── resolve-python-interpreter-not-python3.md
│   │   │   ├── shell-primitives-must-be-executed-not-shape-checked.md
│   │   │   └── verify-externally-attributed-constraints-at-the-source.md
│   │   ├── developer-experience/
│   │   │   ├── branch-based-plugin-install-and-testing.md
│   │   │   ├── codex-local-skill-development-workflow.md
│   │   │   ├── idle-bound-test-suite-parallel-workers.md
│   │   │   └── windows-crlf-checkout-breaks-newline-anchored-tests.md
│   │   ├── integration-issues/
│   │   │   ├── grok-camelcase-structuredoutput-and-nonfinal-peer-position.md
│   │   │   └── portable-structured-output-schemas-across-model-clis.md
│   │   ├── integrations/
│   │   │   ├── agent-plugins-schema-is-a-host-routing-switch.md
│   │   │   ├── codex-content-transform-greedy-regex.md
│   │   │   ├── colon-namespaced-names-break-windows-paths.md
│   │   │   ├── cross-platform-model-field-normalization.md
│   │   │   ├── kimi-native-plugin-manifest-support.md
│   │   │   ├── native-plugin-install-strategy.md
│   │   │   └── opencode-temperature-rejected-by-sonnet5-opus48.md
│   │   ├── plugin-versioning-requirements.md
│   │   ├── skill-design/
│   │   │   ├── anti-poll-scope-and-async-subagent-dispatch.md
│   │   │   ├── arguments-token-is-claude-only-in-skill-bodies.md
│   │   │   ├── authored-eval-corpora-contain-the-happy-path.md
│   │   │   ├── authoring-auto-invoke-standing-instructions.md
│   │   │   ├── benchmark-review-peer-model-and-reasoning-tier.md
│   │   │   ├── beta-promotion-cleanup-registry-wiring.md
│   │   │   ├── beta-promotion-orchestration-contract.md
│   │   │   ├── beta-skills-framework.md
│   │   │   ├── bound-contradiction-checks-to-named-guidance.md
│   │   │   ├── bundled-script-path-resolution-across-harnesses.md
│   │   │   ├── ce-doc-review-calibration-patterns.md
│   │   │   ├── ce-prefix-required-for-skills-and-agents.md
│   │   │   ├── cli-output-buffering-for-progress-detection.md
│   │   │   ├── compound-refresh-skill-improvements.md
│   │   │   ├── confidence-anchored-scoring.md
│   │   │   ├── context-absent-skill-handoff-needs-pinned-invocation.md
│   │   │   ├── cross-harness-cross-model-tool-invocation.md
│   │   │   ├── cross-skill-shared-cache-primitive.md
│   │   │   ├── dedup-and-obligation-eval-results.md
│   │   │   ├── detached-job-lifecycle-for-delegated-work.md
│   │   │   ├── discoverability-check-for-documented-solutions.md
│   │   │   ├── dispatch-script-failure-degrade-outcome-not-boundary.md
│   │   │   ├── fake-cli-harness-for-skill-judgment-evals.md
│   │   │   ├── frontier-model-skill-modernization-methodology.md
│   │   │   ├── frozen-finding-sets-cannot-see-emission-changes.md
│   │   │   ├── git-workflow-skills-need-explicit-state-machines.md
│   │   │   ├── harness-agent-gate-workaround.md
│   │   │   ├── multi-surface-output-needs-a-shared-rendering-floor.md
│   │   │   ├── no-load-time-pre-resolution-for-fallible-context.md
│   │   │   ├── paired-old-vs-new-injection-skill-evals.md
│   │   │   ├── pass-paths-not-content-to-subagents.md
│   │   │   ├── portable-agent-skill-authoring.md
│   │   │   ├── post-menu-routing-belongs-inline.md
│   │   │   ├── prose-cannot-validate-caller-control-data-byte-for-byte.md
│   │   │   ├── prose-review-is-unbounded-answer-with-the-condition.md
│   │   │   ├── quiet-interval-floors-for-streaming-peer-routes.md
│   │   │   ├── requested-vs-verified-model-identity.md
│   │   │   ├── research-agent-pipeline-separation.md
│   │   │   ├── safe-auto-rubric-calibration.md
│   │   │   ├── sandbox-workers-must-not-write-linked-worktree-git-index.md
│   │   │   ├── script-first-skill-architecture.md
│   │   │   ├── size-driven-skill-restructure.md
│   │   │   ├── skill-gates-state-conditions-not-prescribed-git-commands.md
│   │   │   ├── strong-models-mask-defensive-skill-fixes.md
│   │   │   ├── subordinate-the-failing-shape-to-the-condition.md
│   │   │   ├── validate-skill-prose-behavior-with-cross-host-evals.md
│   │   │   └── watch-loops-need-a-blocked-external-terminal-state.md
│   │   └── workflow/
│   │       ├── manual-release-please-github-releases.md
│   │       ├── release-please-version-drift-recovery.md
│   │       ├── reviewing-byte-duplicated-shared-assets.md
│   │       └── stale-local-base-contamination.md
│   └── specs/
│       ├── agent-plugins.md
│       ├── antigravity.md
│       ├── cline.md
│       ├── copilot.md
│       ├── cursor.md
│       ├── devin.md
│       ├── kimi.md
│       ├── kiro.md
│       ├── omp.md
│       ├── opencode.md
│       └── product-anchor-docs-proposal.md
├── package.json
├── plugin.json
├── scripts/
│   ├── codex-dev.ts
│   └── release/
│       ├── preview.ts
│       ├── sync-metadata.ts
│       └── validate.ts
├── skills/
│   ├── ce-babysit-pr/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── branch-currency.md
│   │   │   ├── envelope.md
│   │   │   ├── pipeline.md
│   │   │   ├── report.md
│   │   │   ├── settle.md
│   │   │   ├── setup.md
│   │   │   ├── stack-commands.md
│   │   │   ├── stack.md
│   │   │   ├── tick.md
│   │   │   └── watch-loop.md
│   │   └── scripts/
│   │       └── pr-snapshot
│   ├── ce-brainstorm/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── agents/
│   │   │   │   └── slack-researcher.md
│   │   │   ├── approaches.md
│   │   │   ├── blindspot-pass.md
│   │   │   ├── brainstorm-sections.md
│   │   │   ├── dialogue.md
│   │   │   ├── handoff.md
│   │   │   ├── html-rendering.md
│   │   │   ├── interaction-rules.md
│   │   │   ├── markdown-rendering.md
│   │   │   ├── model-tiers.md
│   │   │   ├── output-mode.md
│   │   │   ├── phase-0.md
│   │   │   ├── plan-write.md
│   │   │   ├── product-pressure-test.md
│   │   │   ├── reasoning-elevation.md
│   │   │   ├── settled-decisions.md
│   │   │   ├── synthesis-summary.md
│   │   │   ├── universal-brainstorming.md
│   │   │   ├── verdict-routing.md
│   │   │   └── visual-probes.md
│   │   └── scripts/
│   │       ├── elevation-dispatch.sh
│   │       ├── light-webserver.js
│   │       └── peer-job-runner.py
│   ├── ce-code-review/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── action-class-rubric.md
│   │   │   ├── cross-model-eval.md
│   │   │   ├── cross-model-review.md
│   │   │   ├── diff-scope.md
│   │   │   ├── dispatch-reviewers.md
│   │   │   ├── findings-schema.json
│   │   │   ├── finish-review.md
│   │   │   ├── intent-and-plan.md
│   │   │   ├── modes-and-output.md
│   │   │   ├── persona-catalog.md
│   │   │   ├── personas/
│   │   │   │   ├── adversarial-reviewer.md
│   │   │   │   ├── agent-native-reviewer.md
│   │   │   │   ├── api-contract-reviewer.md
│   │   │   │   ├── correctness-reviewer.md
│   │   │   │   ├── data-migration-reviewer.md
│   │   │   │   ├── deployment-verification-agent.md
│   │   │   │   ├── julik-frontend-races-reviewer.md
│   │   │   │   ├── learnings-researcher.md
│   │   │   │   ├── maintainability-reviewer.md
│   │   │   │   ├── performance-reviewer.md
│   │   │   │   ├── previous-comments-reviewer.md
│   │   │   │   ├── project-standards-reviewer.md
│   │   │   │   ├── reliability-reviewer.md
│   │   │   │   ├── security-reviewer.md
│   │   │   │   ├── swift-ios-reviewer.md
│   │   │   │   └── testing-reviewer.md
│   │   │   ├── review-output-template.md
│   │   │   ├── scope.md
│   │   │   ├── select-and-route.md
│   │   │   ├── subagent-template.md
│   │   │   ├── validator-batch-template.md
│   │   │   └── validator-template.md
│   │   └── scripts/
│   │       ├── cross-model-adversarial-review.sh
│   │       ├── findings-mechanics.py
│   │       ├── peer-job-runner.py
│   │       └── review-scope.py
│   ├── ce-commit/
│   │   └── SKILL.md
│   ├── ce-commit-push-pr/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── apply-and-handoff.md
│   │       ├── branch-creation.md
│   │       ├── commit-and-push.md
│   │       ├── compose.md
│   │       ├── context.md
│   │       ├── gh-stack-cli.md
│   │       ├── pr-description-writing.md
│   │       └── stack-submit.md
│   ├── ce-compound/
│   │   ├── SKILL.md
│   │   ├── assets/
│   │   │   └── resolution-template.md
│   │   ├── references/
│   │   │   ├── agents/
│   │   │   │   ├── best-practices-researcher.md
│   │   │   │   ├── data-integrity-guardian.md
│   │   │   │   ├── framework-docs-researcher.md
│   │   │   │   ├── pattern-recognition-specialist.md
│   │   │   │   ├── performance-oracle.md
│   │   │   │   ├── security-sentinel.md
│   │   │   │   └── session-historian.md
│   │   │   ├── assembly.md
│   │   │   ├── concepts-vocabulary.md
│   │   │   ├── enhancement.md
│   │   │   ├── grounding-validation.md
│   │   │   ├── lightweight.md
│   │   │   ├── modes.md
│   │   │   ├── refresh-and-discoverability.md
│   │   │   ├── report.md
│   │   │   ├── research.md
│   │   │   ├── schema.yaml
│   │   │   ├── session-history.md
│   │   │   └── yaml-schema.md
│   │   └── scripts/
│   │       ├── session-history/
│   │       │   ├── discover-sessions.sh
│   │       │   ├── extract-errors.py
│   │       │   ├── extract-metadata.py
│   │       │   └── extract-skeleton.py
│   │       ├── validate-doc-claims.py
│   │       └── validate-frontmatter.py
│   ├── ce-compound-refresh/
│   │   ├── SKILL.md
│   │   ├── assets/
│   │   │   └── resolution-template.md
│   │   ├── references/
│   │   │   ├── classify.md
│   │   │   ├── commit.md
│   │   │   ├── concepts-vocabulary.md
│   │   │   ├── discoverability.md
│   │   │   ├── investigate.md
│   │   │   ├── modes.md
│   │   │   ├── per-action-flows.md
│   │   │   ├── report.md
│   │   │   ├── schema.yaml
│   │   │   ├── scope.md
│   │   │   └── yaml-schema.md
│   │   └── scripts/
│   │       ├── validate-doc-claims.py
│   │       └── validate-frontmatter.py
│   ├── ce-debug/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── anti-patterns.md
│   │       ├── defense-in-depth.md
│   │       ├── fix.md
│   │       ├── investigate.md
│   │       ├── investigation-techniques.md
│   │       ├── pipeline-mode.md
│   │       └── post-fix-handoff.md
│   ├── ce-doc-review/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── bulk-preview.md
│   │   │   ├── cross-model-eval.md
│   │   │   ├── cross-model-review.md
│   │   │   ├── decision-primer.md
│   │   │   ├── dispatch.md
│   │   │   ├── document-intake.md
│   │   │   ├── findings-schema.json
│   │   │   ├── modes.md
│   │   │   ├── open-questions-defer.md
│   │   │   ├── persona-selection.md
│   │   │   ├── personas/
│   │   │   │   ├── adversarial-document-reviewer.md
│   │   │   │   ├── coherence-reviewer.md
│   │   │   │   ├── design-lens-reviewer.md
│   │   │   │   ├── feasibility-reviewer.md
│   │   │   │   ├── product-lens-reviewer.md
│   │   │   │   ├── scope-guardian-reviewer.md
│   │   │   │   ├── security-lens-reviewer.md
│   │   │   │   └── whole-doc-reviewer.md
│   │   │   ├── rendering-floor.md
│   │   │   ├── review-output-template.md
│   │   │   ├── subagent-template.md
│   │   │   ├── synthesis-and-presentation.md
│   │   │   └── walkthrough.md
│   │   └── scripts/
│   │       ├── cross-model-doc-review.sh
│   │       └── peer-job-runner.py
│   ├── ce-dogfood/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── dogfood-report-template.md
│   │       ├── phases.md
│   │       └── test-matrix-taxonomy.md
│   ├── ce-explain/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── agents/
│   │       │   └── work-recap-scout.md
│   │       ├── check-in.md
│   │       ├── destinations.md
│   │       ├── explainer-html.md
│   │       ├── explainer-markdown.md
│   │       ├── intake.md
│   │       └── orchestration.md
│   ├── ce-handoff/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── create.md
│   │       └── resume.md
│   ├── ce-ideate/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── agents/
│   │       │   ├── issue-intelligence-analyst.md
│   │       │   ├── learnings-researcher.md
│   │       │   ├── slack-researcher.md
│   │       │   └── web-researcher.md
│   │       ├── decomposition.md
│   │       ├── divergent-ideation.md
│   │       ├── grounding.md
│   │       ├── html-rendering.md
│   │       ├── ideation-sections.md
│   │       ├── issue-intelligence.md
│   │       ├── markdown-rendering.md
│   │       ├── output-mode.md
│   │       ├── post-ideation-workflow.md
│   │       ├── scope-gates.md
│   │       ├── universal-ideation.md
│   │       ├── user-research-artifacts.md
│   │       └── web-research-cache.md
│   ├── ce-optimize/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── agents/
│   │   │   │   ├── learnings-researcher.md
│   │   │   │   └── repo-research-analyst.md
│   │   │   ├── example-expensive-benchmark-spec.yaml
│   │   │   ├── example-hard-spec.yaml
│   │   │   ├── example-judge-spec.yaml
│   │   │   ├── experiment-log-schema.yaml
│   │   │   ├── experiment-prompt-template.md
│   │   │   ├── judge-prompt-template.md
│   │   │   ├── loop.md
│   │   │   ├── measurement.md
│   │   │   ├── optimize-spec-schema.yaml
│   │   │   ├── persistence.md
│   │   │   ├── spec.md
│   │   │   ├── usage-guide.md
│   │   │   └── wrap-up.md
│   │   └── scripts/
│   │       ├── decide.mjs
│   │       ├── experiment-worktree.sh
│   │       ├── measure.sh
│   │       └── parallel-probe.sh
│   ├── ce-plan/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── agents/
│   │   │   │   ├── agent-native-planning-strategist.md
│   │   │   │   ├── architecture-strategist.md
│   │   │   │   ├── best-practices-researcher.md
│   │   │   │   ├── data-integrity-guardian.md
│   │   │   │   ├── data-migration-reviewer.md
│   │   │   │   ├── deployment-verification-agent.md
│   │   │   │   ├── framework-docs-researcher.md
│   │   │   │   ├── git-history-analyzer.md
│   │   │   │   ├── learnings-researcher.md
│   │   │   │   ├── pattern-recognition-specialist.md
│   │   │   │   ├── performance-oracle.md
│   │   │   │   ├── repo-research-analyst.md
│   │   │   │   ├── security-sentinel.md
│   │   │   │   ├── slack-researcher.md
│   │   │   │   ├── spec-flow-analyzer.md
│   │   │   │   └── web-researcher.md
│   │   │   ├── approach-altitude.md
│   │   │   ├── deepening-workflow.md
│   │   │   ├── final-review.md
│   │   │   ├── html-rendering.md
│   │   │   ├── intake.md
│   │   │   ├── markdown-rendering.md
│   │   │   ├── output-contracts.md
│   │   │   ├── output-mode.md
│   │   │   ├── plan-handoff.md
│   │   │   ├── plan-sections.md
│   │   │   ├── reasoning-elevation.md
│   │   │   ├── research.md
│   │   │   ├── resume.md
│   │   │   ├── settled-decisions.md
│   │   │   ├── structure.md
│   │   │   ├── synthesis-summary.md
│   │   │   └── universal-planning.md
│   │   └── scripts/
│   │       ├── elevation-dispatch.sh
│   │       └── peer-job-runner.py
│   ├── ce-polish/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── dev-server-astro.md
│   │   │   ├── dev-server-detection.md
│   │   │   ├── dev-server-next.md
│   │   │   ├── dev-server-nuxt.md
│   │   │   ├── dev-server-procfile.md
│   │   │   ├── dev-server-rails.md
│   │   │   ├── dev-server-remix.md
│   │   │   ├── dev-server-sveltekit.md
│   │   │   ├── dev-server-vite.md
│   │   │   ├── launch-json-schema.md
│   │   │   └── run.md
│   │   └── scripts/
│   │       ├── detect-project-type.sh
│   │       ├── read-launch-json.sh
│   │       ├── resolve-package-manager.sh
│   │       └── resolve-port.sh
│   ├── ce-pov/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── agents/
│   │   │   │   ├── external-evidence-researcher.md
│   │   │   │   ├── pov-peer.md
│   │   │   │   ├── precedent-activity-scout.md
│   │   │   │   └── project-grounding-scout.md
│   │   │   ├── boundaries.md
│   │   │   ├── cross-model-panel.md
│   │   │   ├── followup.md
│   │   │   ├── grounding.md
│   │   │   ├── intake.md
│   │   │   ├── invocation.md
│   │   │   ├── method.md
│   │   │   ├── pov-schema.json
│   │   │   └── report.md
│   │   └── scripts/
│   │       ├── cross-model-pov.sh
│   │       └── peer-job-runner.py
│   ├── ce-product-pulse/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── config.md
│   │       ├── interview.md
│   │       ├── report-template.md
│   │       ├── run.md
│   │       └── setup.md
│   ├── ce-promote/
│   │   ├── SKILL.md
│   │   └── references/
│   │       └── spiral-cli.md
│   ├── ce-proof/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── api.md
│   │       └── workflows.md
│   ├── ce-prototype/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── build.md
│   │   │   ├── craft-floor.md
│   │   │   ├── preview.md
│   │   │   ├── scoping.md
│   │   │   └── write-back.md
│   │   └── scripts/
│   │       └── light-webserver.js
│   ├── ce-resolve-pr-feedback/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── agents/
│   │   │   │   └── pr-comment-resolver.md
│   │   │   ├── evaluation-rubric.md
│   │   │   ├── full-mode.md
│   │   │   ├── pipeline-mode.md
│   │   │   └── targeted-mode.md
│   │   └── scripts/
│   │       ├── get-pr-comments
│   │       ├── get-thread-for-comment
│   │       ├── reply-to-pr-thread
│   │       └── resolve-pr-thread
│   ├── ce-retune/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── baseline-mining.md
│   │       ├── corpus-audit.md
│   │       ├── cut-passes.md
│   │       ├── halt-taxonomy.md
│   │       ├── noise-floor.md
│   │       └── workflow-shapes.md
│   ├── ce-riffrec-feedback-analysis/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── analyzer.md
│   │   │   ├── compound-engineering-feedback-format.md
│   │   │   ├── extensive-analysis.md
│   │   │   ├── install-riffrec.md
│   │   │   └── quick-bug-report.md
│   │   └── scripts/
│   │       └── analyze_riffrec_zip.py
│   ├── ce-setup/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── config-template.yaml
│   │   │   ├── legacy-codex-tool-map.md
│   │   │   └── repo-fixes.md
│   │   └── scripts/
│   │       └── check-health
│   ├── ce-simplify-code/
│   │   ├── SKILL.md
│   │   └── references/
│   │       └── personas/
│   │           ├── code-quality-reviewer.md
│   │           ├── code-reuse-reviewer.md
│   │           └── efficiency-reviewer.md
│   ├── ce-strategy/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── grounding.md
│   │       ├── interview.md
│   │       ├── strategy-template.md
│   │       └── update-run.md
│   ├── ce-sweep/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── agents/
│   │   │   │   └── media-analyzer.md
│   │   │   ├── interview.md
│   │   │   ├── model-tiers.md
│   │   │   ├── plan-template.md
│   │   │   ├── run.md
│   │   │   ├── sources/
│   │   │   │   ├── email.md
│   │   │   │   ├── github-issues.md
│   │   │   │   └── slack.md
│   │   │   ├── state-schema.md
│   │   │   └── subagent-template.md
│   │   └── scripts/
│   │       ├── analyze_riffrec_zip.py
│   │       └── sweep-state.py
│   ├── ce-test-browser/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── agent-browser-driver.md
│   │   │   ├── pipeline-orchestration.md
│   │   │   └── route-and-report.md
│   │   └── scripts/
│   │       └── resolve-port.sh
│   ├── ce-test-xcode/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── setup-and-build.md
│   │       └── test-and-report.md
│   ├── ce-work/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── agents/
│   │   │   │   ├── figma-design-sync.md
│   │   │   │   └── implementation-worker.md
│   │   │   ├── cross-model-execution.md
│   │   │   ├── cross-model-work-eval.md
│   │   │   ├── execution-engines.md
│   │   │   ├── execution-strategy.md
│   │   │   ├── implementation-loop.md
│   │   │   ├── implementation-result-schema.json
│   │   │   ├── input-triage.md
│   │   │   ├── non-code-execution.md
│   │   │   ├── return-to-caller.md
│   │   │   ├── review-findings-followup.md
│   │   │   ├── shipping-workflow.md
│   │   │   ├── tracker-defer.md
│   │   │   ├── work-intake.md
│   │   │   └── workspace-setup.md
│   │   └── scripts/
│   │       ├── cross-model-work.sh
│   │       ├── peer-job-runner.py
│   │       ├── unit-workspace.py
│   │       ├── unit_workspace_ignored.py
│   │       ├── unit_workspace_integration.py
│   │       ├── unit_workspace_jobs.py
│   │       ├── unit_workspace_lifecycle.py
│   │       ├── unit_workspace_state.py
│   │       └── unit_workspace_transaction.py
│   ├── ce-worktree/
│   │   └── SKILL.md
│   └── lfg/
│       ├── SKILL.md
│       └── references/
│           ├── next-work-handoff.md
│           ├── plan-brief.md
│           ├── review-followup.md
│           ├── shipping-tail.md
│           ├── stage-routing.md
│           ├── task-visibility.md
│           ├── tracker-defer.md
│           └── work-return.md
├── src/
│   ├── commands/
│   │   ├── cleanup.ts
│   │   ├── convert.ts
│   │   ├── install.ts
│   │   ├── list.ts
│   │   └── plugin-path.ts
│   ├── converters/
│   │   ├── claude-to-antigravity.ts
│   │   ├── claude-to-codex.ts
│   │   ├── claude-to-copilot.ts
│   │   ├── claude-to-droid.ts
│   │   ├── claude-to-kiro.ts
│   │   ├── claude-to-opencode.ts
│   │   └── claude-to-pi.ts
│   ├── data/
│   │   └── plugin-legacy-artifacts.ts
│   ├── dev/
│   │   └── codex-dev.ts
│   ├── index.ts
│   ├── parsers/
│   │   └── claude.ts
│   ├── release/
│   │   ├── components.ts
│   │   ├── config.ts
│   │   ├── metadata.ts
│   │   └── types.ts
│   ├── targets/
│   │   ├── antigravity.ts
│   │   ├── codex.ts
│   │   ├── index.ts
│   │   ├── kiro.ts
│   │   ├── managed-artifacts.ts
│   │   ├── opencode.ts
│   │   └── pi.ts
│   ├── types/
│   │   ├── antigravity.ts
│   │   ├── claude.ts
│   │   ├── codex.ts
│   │   ├── copilot.ts
│   │   ├── droid.ts
│   │   ├── kiro.ts
│   │   ├── opencode.ts
│   │   └── pi.ts
│   └── utils/
│       ├── codex-agents.ts
│       ├── codex-content.ts
│       ├── detect-tools.ts
│       ├── files.ts
│       ├── frontmatter.ts
│       ├── json-config.ts
│       ├── legacy-cleanup.ts
│       ├── model.ts
│       ├── opencode-config.ts
│       ├── resolve-home.ts
│       ├── resolve-output.ts
│       ├── secrets.ts
│       ├── slash-command.ts
│       └── symlink.ts
├── tests/
│   ├── antigravity-converter.test.ts
│   ├── antigravity-writer.test.ts
│   ├── bundled-script-line-endings.test.ts
│   ├── ce-babysit-pr-contract.test.ts
│   ├── ce-babysit-pr-snapshot.test.ts
│   ├── ce-babysit-pr-watch-bootstrap.test.ts
│   ├── ce-code-review-mechanics.test.ts
│   ├── ce-commit-contract.test.ts
│   ├── ce-sweep-analyzer-parity.test.ts
│   ├── ce-test-browser-driver-policy.test.ts
│   ├── claude-parser.test.ts
│   ├── cli.test.ts
│   ├── cline-install-skills.test.ts
│   ├── codex-agents.test.ts
│   ├── codex-content.test.ts
│   ├── codex-converter.test.ts
│   ├── codex-dev.test.ts
│   ├── codex-skill-prompt-budget.test.ts
│   ├── codex-writer.test.ts
│   ├── commit-push-pr-contract.test.ts
│   ├── compound-support-files.test.ts
│   ├── config-layers-rule-parity.test.ts
│   ├── converter.test.ts
│   ├── copilot-converter.test.ts
│   ├── cross-model-receipt-parity.test.ts
│   ├── cross-model-recover-findings-parity.test.ts
│   ├── detect-tools.test.ts
│   ├── doc-claims-validator.test.ts
│   ├── docs-root-literals.test.ts
│   ├── docs-root-rule-parity.test.ts
│   ├── droid-converter.test.ts
│   ├── fixtures/
│   │   ├── ce-code-review-stable-numbering.md
│   │   ├── ce-config-layers-rule.md
│   │   ├── ce-doc-review/
│   │   │   ├── negative-control-plan.expectations.md
│   │   │   ├── negative-control-plan.md
│   │   │   ├── seeded-advisory-plan.expectations.md
│   │   │   ├── seeded-advisory-plan.md
│   │   │   ├── seeded-auth-plan.expectations.md
│   │   │   ├── seeded-auth-plan.md
│   │   │   ├── seeded-feature-plan.expectations.md
│   │   │   ├── seeded-feature-plan.md
│   │   │   ├── seeded-plan.expectations.md
│   │   │   └── seeded-plan.md
│   │   ├── custom-paths/
│   │   │   ├── agents/
│   │   │   │   └── default-agent.md
│   │   │   ├── claude-plugin/
│   │   │   │   └── plugin.json
│   │   │   ├── commands/
│   │   │   │   └── default-command.md
│   │   │   ├── custom-agents/
│   │   │   │   └── custom-agent.md
│   │   │   ├── custom-commands/
│   │   │   │   └── custom-command.md
│   │   │   ├── custom-hooks/
│   │   │   │   └── hooks.json
│   │   │   ├── custom-skills/
│   │   │   │   └── custom-skill/
│   │   │   │       └── SKILL.md
│   │   │   ├── hooks/
│   │   │   │   └── hooks.json
│   │   │   └── skills/
│   │   │       └── default-skill/
│   │   │           └── SKILL.md
│   │   ├── docs-root-rule.md
│   │   ├── invalid-command-path/
│   │   │   └── claude-plugin/
│   │   │       └── plugin.json
│   │   ├── invalid-hooks-path/
│   │   │   └── claude-plugin/
│   │   │       └── plugin.json
│   │   ├── invalid-mcp-path/
│   │   │   └── claude-plugin/
│   │   │       └── plugin.json
│   │   ├── mcp-file/
│   │   │   ├── .mcp.json
│   │   │   └── claude-plugin/
│   │   │       └── plugin.json
│   │   ├── peer-job-runner-unit.py
│   │   ├── peer-job-runner-windows-smoke.py
│   │   ├── pr-snapshot-platform.py
│   │   ├── sample-plugin/
│   │   │   ├── agents/
│   │   │   │   ├── agent-one.md
│   │   │   │   └── security-reviewer.md
│   │   │   ├── claude-plugin/
│   │   │   │   └── plugin.json
│   │   │   ├── commands/
│   │   │   │   ├── command-one.md
│   │   │   │   ├── disabled-command.md
│   │   │   │   ├── model-command.md
│   │   │   │   ├── nested/
│   │   │   │   │   └── command-two.md
│   │   │   │   ├── pattern-command.md
│   │   │   │   ├── skill-command.md
│   │   │   │   └── todo-command.md
│   │   │   ├── hooks/
│   │   │   │   └── hooks.json
│   │   │   └── skills/
│   │   │       ├── agent-only-skill/
│   │   │       │   └── SKILL.md
│   │   │       ├── claude-only-skill/
│   │   │       │   └── SKILL.md
│   │   │       ├── disabled-skill/
│   │   │       │   └── SKILL.md
│   │   │       └── skill-one/
│   │   │           └── SKILL.md
│   │   └── session-history/
│   │       ├── claude-session.jsonl
│   │       ├── codex-session.jsonl
│   │       ├── cursor-session.jsonl
│   │       ├── omp-session.jsonl
│   │       └── pi-session.jsonl
│   ├── frontmatter-validator.test.ts
│   ├── frontmatter.test.ts
│   ├── gpt-5-6-skill-migration.test.ts
│   ├── helpers/
│   │   └── claude-plugin-fixture.ts
│   ├── kiro-converter.test.ts
│   ├── kiro-writer.test.ts
│   ├── legacy-cleanup.test.ts
│   ├── legacy-registry-invariants.test.ts
│   ├── manifest-path-safety.test.ts
│   ├── model-utils.test.ts
│   ├── omp-native-install.test.ts
│   ├── opencode-plugin-commands.test.ts
│   ├── opencode-writer.test.ts
│   ├── path-sanitization.test.ts
│   ├── peer-job-runner-parity.test.ts
│   ├── pi-converter.test.ts
│   ├── pi-writer.test.ts
│   ├── pipeline-review-contract.test.ts
│   ├── plugin-legacy-artifacts.test.ts
│   ├── plugin-path.test.ts
│   ├── pov-skill-contract.test.ts
│   ├── real-plugin-conversion.test.ts
│   ├── reasoning-elevation-parity.test.ts
│   ├── release-components.test.ts
│   ├── release-config.test.ts
│   ├── release-metadata.test.ts
│   ├── release-preview.test.ts
│   ├── repo-local-ce-skill-work.test.ts
│   ├── repo-research-analyst-contract.test.ts
│   ├── resolve-home.test.ts
│   ├── resolve-output.test.ts
│   ├── resolve-pr-feedback-pagination.test.ts
│   ├── review-skill-contract.test.ts
│   ├── scratch-root-contract.test.ts
│   ├── scratch-root-preamble-executes.test.ts
│   ├── session-history-scripts.test.ts
│   ├── settled-decisions-parity.test.ts
│   ├── skill-agent-ce-prefix.test.ts
│   ├── skill-conventions.test.ts
│   ├── skill-eval-cell/
│   │   ├── README.md
│   │   ├── catalog.test.ts
│   │   ├── catalog.ts
│   │   ├── cli.ts
│   │   ├── extract.test.ts
│   │   ├── extract.ts
│   │   ├── fixtures/
│   │   │   ├── babysit-behind/
│   │   │   │   └── snapshot.json
│   │   │   ├── babysit-check-only-answer/
│   │   │   │   └── snapshot.json
│   │   │   ├── babysit-ci-red/
│   │   │   │   └── snapshot.json
│   │   │   ├── babysit-clean-base-moved/
│   │   │   │   └── snapshot.json
│   │   │   ├── babysit-looks-ready/
│   │   │   │   └── snapshot.json
│   │   │   ├── babysit-needs-human-residual/
│   │   │   │   └── snapshot.json
│   │   │   ├── divergent-seat/
│   │   │   │   ├── SPEC.md
│   │   │   │   ├── package.json
│   │   │   │   ├── src/
│   │   │   │   │   └── seat-cap.js
│   │   │   │   └── tests/
│   │   │   │       └── seat-cap.check.js
│   │   │   ├── doc-review-routine-fix/
│   │   │   │   ├── .compound-engineering/
│   │   │   │   │   └── config.yaml
│   │   │   │   ├── README.md
│   │   │   │   └── docs/
│   │   │   │       └── plans/
│   │   │   │           └── 2026-07-31-003-fix-portable-windows-path-unit-tests-plan.md
│   │   │   ├── doc-review-settled-origin/
│   │   │   │   ├── .compound-engineering/
│   │   │   │   │   └── config.yaml
│   │   │   │   ├── README.md
│   │   │   │   └── docs/
│   │   │   │       └── plans/
│   │   │   │           └── 2026-08-15-1506-fix-refresh-instruction-layer-conflict-plan.md
│   │   │   ├── doc-review-staked-position/
│   │   │   │   ├── .compound-engineering/
│   │   │   │   │   └── config.yaml
│   │   │   │   ├── README.md
│   │   │   │   └── docs/
│   │   │   │       └── plans/
│   │   │   │           └── 2026-08-20-1100-feat-free-tier-greeting-api-plan.md
│   │   │   ├── doc-review-strategic-weight/
│   │   │   │   ├── .compound-engineering/
│   │   │   │   │   └── config.yaml
│   │   │   │   ├── README.md
│   │   │   │   └── docs/
│   │   │   │       └── plans/
│   │   │   │           └── 2026-08-20-1130-feat-plugin-architecture-greeting-formats-plan.md
│   │   │   ├── handoff-resume/
│   │   │   │   ├── handoff.md
│   │   │   │   └── src/
│   │   │   │       └── greet.js
│   │   │   ├── implementation-ready-plan/
│   │   │   │   ├── docs/
│   │   │   │   │   └── plans/
│   │   │   │   │       └── widget-plan.md
│   │   │   │   └── src/
│   │   │   │       └── greet.js
│   │   │   ├── plan-infra-objective/
│   │   │   │   ├── README.md
│   │   │   │   ├── convex/
│   │   │   │   │   └── digest.ts
│   │   │   │   ├── package.json
│   │   │   │   └── services/
│   │   │   │       └── report-worker/
│   │   │   │           └── queue.ts
│   │   │   ├── plan-model-config/
│   │   │   │   ├── .compound-engineering/
│   │   │   │   │   └── config.yaml
│   │   │   │   ├── package.json
│   │   │   │   └── src/
│   │   │   │       └── greet.js
│   │   │   ├── requirements-only-plan/
│   │   │   │   └── docs/
│   │   │   │       └── plans/
│   │   │   │           └── widget-plan.md
│   │   │   ├── resolver-human-decision/
│   │   │   │   └── feedback.md
│   │   │   ├── retry-guidance-conflict/
│   │   │   │   ├── docs/
│   │   │   │   │   ├── decisions/
│   │   │   │   │   │   └── 0007-idempotent-retries.md
│   │   │   │   │   └── solutions/
│   │   │   │   │       └── idempotent-retries.md
│   │   │   │   ├── src/
│   │   │   │   │   └── retry-request.js
│   │   │   │   └── tests/
│   │   │   │       └── retry-request.check.js
│   │   │   ├── riffrec-quick-notes/
│   │   │   │   └── feedback.md
│   │   │   ├── seat-cap/
│   │   │   │   ├── SPEC.md
│   │   │   │   ├── package.json
│   │   │   │   ├── src/
│   │   │   │   │   └── seat-cap.js
│   │   │   │   └── tests/
│   │   │   │       └── seat-cap.check.js
│   │   │   ├── staged-with-dotenv/
│   │   │   │   ├── README.md
│   │   │   │   ├── env.local
│   │   │   │   └── src/
│   │   │   │       └── greet.js
│   │   │   ├── stale-learning/
│   │   │   │   ├── docs/
│   │   │   │   │   └── solutions/
│   │   │   │   │       └── seat-helper.md
│   │   │   │   └── src/
│   │   │   │       └── greet.js
│   │   │   ├── standards-designated/
│   │   │   │   ├── AGENTS.md
│   │   │   │   ├── CODING_STANDARDS.md
│   │   │   │   └── src/
│   │   │   │       └── cart.ts
│   │   │   ├── standards-fallback-only/
│   │   │   │   ├── AGENTS.md
│   │   │   │   └── src/
│   │   │   │       └── cart.ts
│   │   │   ├── standards-mixed-scope/
│   │   │   │   ├── AGENTS.md
│   │   │   │   ├── skills/
│   │   │   │   │   ├── CODING_STANDARDS.md
│   │   │   │   │   └── demo.md
│   │   │   │   └── src/
│   │   │   │       └── cart.ts
│   │   │   ├── standards-prose-format/
│   │   │   │   ├── CODING_STANDARDS.md
│   │   │   │   └── src/
│   │   │   │       └── cart.ts
│   │   │   ├── tiny-auth/
│   │   │   │   ├── README.md
│   │   │   │   ├── package.json
│   │   │   │   └── src/
│   │   │   │       └── session.js
│   │   │   └── tiny-lib/
│   │   │       ├── README.md
│   │   │       ├── package.json
│   │   │       └── src/
│   │   │           └── greet.js
│   │   ├── grade.test.ts
│   │   ├── grade.ts
│   │   ├── hosts.test.ts
│   │   ├── hosts.ts
│   │   ├── pack.ts
│   │   ├── path-shim.test.ts
│   │   ├── path-shim.ts
│   │   ├── regrade.ts
│   │   ├── run.ts
│   │   └── scenarios.md
│   ├── skill-shell-safety.test.ts
│   ├── skills/
│   │   ├── ce-babysit-pr-platform.test.ts
│   │   ├── ce-brainstorm-aggregation-check.test.ts
│   │   ├── ce-brainstorm-ask-decisions.test.ts
│   │   ├── ce-brainstorm-output-mode.test.ts
│   │   ├── ce-brainstorm-section-order.test.ts
│   │   ├── ce-brainstorm-visual-probe-server.test.ts
│   │   ├── ce-brainstorm-visual-probes.test.ts
│   │   ├── ce-code-review-cross-model-routes.test.ts
│   │   ├── ce-compound-headless-depth.test.ts
│   │   ├── ce-compound-readonly-enhancement.test.ts
│   │   ├── ce-doc-review-cross-model-routes.test.ts
│   │   ├── ce-doc-review-html-editing.test.ts
│   │   ├── ce-doc-review-rendering-floor.test.ts
│   │   ├── ce-dogfood-body-pins.test.ts
│   │   ├── ce-explain-relocated-invariants.test.ts
│   │   ├── ce-explain-routing.test.ts
│   │   ├── ce-handoff-contract.test.ts
│   │   ├── ce-ideate-dispatch-contracts.test.ts
│   │   ├── ce-ideate-generation-contract-parity.test.ts
│   │   ├── ce-ideate-output-mode.test.ts
│   │   ├── ce-optimize-decide.test.ts
│   │   ├── ce-plan-handoff-routing.test.ts
│   │   ├── ce-plan-output-mode.test.ts
│   │   ├── ce-polish-dev-server.test.ts
│   │   ├── ce-polish-package-manager.test.ts
│   │   ├── ce-polish-project-type.test.ts
│   │   ├── ce-polish-resolve-port.test.ts
│   │   ├── ce-pov-cross-model-routes.test.ts
│   │   ├── ce-proof-body-pins.test.ts
│   │   ├── ce-proof-contract.test.ts
│   │   ├── ce-prototype-handoff.test.ts
│   │   ├── ce-prototype-protocol.test.ts
│   │   ├── ce-prototype-run-root-executes.test.ts
│   │   ├── ce-prototype-server.test.ts
│   │   ├── ce-prototype-write-back.test.ts
│   │   ├── ce-resolve-pr-feedback-reply-newlines.test.ts
│   │   ├── ce-resolve-pr-feedback-script-dir.test.ts
│   │   ├── ce-session-historian-no-skill-tool.test.ts
│   │   ├── ce-setup-check-health.test.ts
│   │   ├── ce-sweep-body-pins.test.ts
│   │   ├── ce-sweep-mode-token.test.ts
│   │   ├── ce-sweep-source-contract.test.ts
│   │   ├── ce-work-cross-model-integration.test.ts
│   │   ├── ce-work-cross-model-routes.test.ts
│   │   ├── ce-work-outcome-spine.test.ts
│   │   ├── ce-work-unit-workspace-fallback.test.ts
│   │   ├── ce-work-unit-workspace-init.test.ts
│   │   ├── ce-work-unit-workspace-retries.test.ts
│   │   ├── ce-work-unit-workspace-transport.test.ts
│   │   ├── ce-work-unit-workspace-verification.test.ts
│   │   ├── ce-work-unit-workspace-warm-checkout.test.ts
│   │   ├── ce-worktree.test.ts
│   │   ├── cross-model-peer-budget.test.ts
│   │   ├── cross-model-review-mode.test.ts
│   │   ├── elevation-dispatch.test.ts
│   │   ├── fenced-blocks.ts
│   │   ├── flatten-safety.test.ts
│   │   ├── helpers/
│   │   │   └── ce-work-workspace-harness.ts
│   │   ├── html-output-invariants.test.ts
│   │   ├── peer-job-runner.test.ts
│   │   ├── skill-body-extraction-contract.test.ts
│   │   ├── task-visibility-contract.test.ts
│   │   ├── unified-plan-artifact-contract.test.ts
│   │   └── user-facing-skill-invocation-rendering.test.ts
│   ├── slash-command.test.ts
│   └── sweep-state.test.ts
└── tsconfig.json

================================================
FILE CONTENTS
================================================

================================================
FILE: .agents/plugins/marketplace.json
================================================
{
  "name": "compound-engineering-plugin",
  "interface": {
    "displayName": "Compound Engineering"
  },
  "plugins": [
    {
      "name": "compound-engineering",
      "source": {
        "source": "local",
        "path": "./"
      },
      "policy": {
        "installation": "AVAILABLE",
        "authentication": "ON_INSTALL"
      },
      "category": "Coding"
    }
  ]
}


================================================
FILE: .agents/skills/ce-skill-work/SKILL.md
================================================
---
name: ce-skill-work
description: "Applies this repository's skill-authoring standard as a procedure. Use for any change to, or judgment about, a file under skills/** — a SKILL.md, a reference, a persona prompt, a bundled script's instructions: creating a skill, editing one, reviewing a skill change, or acting on review feedback (human or bot) about one. Not for src/, tests/, or scripts/ code."
---

# CE Skill Work

Skills in this repository are goals, not state machines. A skill hands the agent the goal, the done condition, the safe failure direction, and the facts it cannot derive from the repo in front of it, then gets out of the way. Everything this skill does — authoring, editing, reviewing, responding to review — is that one standard applied to a different starting state.

**Outcome:** the skill files you touch state their conditions rather than enumerate cases, carry nothing that does not change behavior, and put each mechanism at the layer that owns it; and the change is validated in the way its risk warrants.

**Done:** the mode's completion report is written and its validation ran (or the exact skip reason is recorded). Landing a sentence is not done; a demonstrated gap closed at its owning layer by the smallest mechanism is.

**Non-goal:** shorter files. Leanness is a side effect of stating conditions; report what changed, not word counts.

## The standard (read before any mode)

`docs/solutions/skill-design/portable-agent-skill-authoring.md` is the authority. Read the sections the mode below names; do not restate the guide in the skill you are editing. The always-loaded rules in the project's active instructions supplement it and win where more specific.

Each block starts from the same possible elements, in this order: the result and next consumer, any local done check the skill-level bar cannot protect, the safe failure direction, the non-derivable facts, and only then any protocol the outcome cannot protect on its own. If a block does not need one, it omits it. What it must not have instead is a list of cases standing in for a condition it could state, or a mechanism prescribed for work this skill delegates — that is the finding. A procedure for a mechanic this skill owns, or a menu whose omitted item would silently drop required coverage, is protocol and stays.

## Rules that hold in every mode

- **Conditions, not cases.** When you find yourself adding "and also when X" to a rule, name the condition X is a proxy for and state that. A rule that has to enumerate its cases is stated wrong.
- **Prescribe a mechanism only where this skill owns it.** Commands, exit codes, and state transitions belong to the skill that owns the mechanic (`ce-commit-push-pr` owns PR detection) or to cheap deterministic work. A delegating skill states the condition, the safe direction, and the non-derivable callee facts.
- **Sediment first.** Before adding to a block, remove what the standard says should not be there. Provenance decides how hard to look, not what stays: search for a test that asserts the line, a `docs/solutions/` learning that records it, or a commit that added it to fix a named bug. Provenance found → the line is protecting something; keep it unless its consumer is gone, and cite what it protects. None found → apply admission (does it state a falsifiable constraint, counter a demonstrated tendency, or supply a non-derivable fact?) and, when a line is plausibly insurance for a weaker model or another harness, test that before cutting rather than assuming. Say which removals rest on absence of evidence.
- **For every mandate you remove, name what now decides.** If the answer is "the model, at its discretion, whether a required step happens", that mandate is a required gate and it stays. Removing a "must" does not remove the decision.
- **A line earns its place** by stating a falsifiable constraint, countering a demonstrated default tendency, or supplying a fact the agent cannot derive. Rationale after a directive that stands alone, effort language, and capability restatement do not.
- **User-facing invocations render per harness** — the rule and its placement are in the project's active instructions ("User-Facing Skill Invocations"); apply it wherever a skill prints or copies an invocation.
- **The description is a context pointer.** For a model-invoked skill, frontmatter sits in the window every turn and is pruned harder than the body. State what the skill is with the leading prompt word first, then one positive trigger per genuinely distinct branch in "Use when..." or "Use for..." form, then only adjacent negatives that block real false-trigger neighbors. Identity boilerplate, catalogs of sites/synonyms/capabilities for one branch, workflow, flags, and procedure belong out of the description.
- **One done bar first.** Every skill needs a skill-level done condition. Add a local done check only where skipping it can produce an unsafe action, fragile transition, scope expansion, mutation, auth mistake, or silent handoff failure.
- **Lean prompts for current strong models.** State each instruction once. If a brief instruction decides a family of behaviors, use it instead of enumerating the behaviors. If two recipes share the same command skeleton, write one recipe with parameters or deltas; if the skeleton is the same, repeated full commands are a defect.
- **Plain sentences; savings come from structure, not syntax.** Write one idea per sentence in ordinary English. A sentence a careful engineer would read twice — clauses fused with dashes, articles and connectives dropped, three rules packed into one — is a defect even when it saves bytes, and it leaks into the agent's user-facing tone. When a body must get smaller, move a coherent block to a reference named at its point of use or delete genuine redundancy; never compress wording to fit, and leave headroom so the next fix does not have to.
- **Sol-first portability for this org's multi-model skills.** When Fable guidance to strip procedure or add a brevity block conflicts with Sol guidance to preserve a known-good command, required report content, or no blanket brevity slogan, keep the Sol form. Slightly thicker but clear instructions are acceptable for Fable; omitting Sol-critical determinism is not. True noise still drops.
- **Portable length control preserves content.** Never ship a blanket "be concise" / "keep it short" slogan in a cross-model skill. State what a short report must contain and what it may omit; for CLI wrappers, preserve command, exit status, output path/size, and stderr or blocker.
- **Long-running skills state their pacing.** A skill that owns a long loop or dispatches workers instructs batching (independent calls and dispatches issued in one response; serialize only real dependencies), narration (what the user hears before, during, and at close), and completion honesty (a step is done only when actually performed; the turn does not end on described-but-undone work). A skill that runs a few calls and returns omits all three — see the guide's long-running execution section.
- **Autonomy is one compact policy.** Name safe local actions and let in-scope work that follows from the user's request proceed, including an external write that is the requested job or named in the skill's authority envelope. Confirm only when an external write, destructive action, purchase, or material scope expansion is outside that envelope, or when only the user can supply the input. Do not repeat "ask first", "do not mutate", or "wait for approval" at each step.
- **Match freedom to fragility.** High freedom for many valid approaches; medium freedom for a preferred pattern or parameterized command; low freedom when one known-good command or sequence exists and agents fail if they invent it. Write a fragile command once; collapse easy variants to one skeleton plus deltas.
- **Validate to the risk.** Mechanical contracts (frontmatter, paths, greppable invariants) go in `bun test`. Behavior-bearing prose changes get a targeted eval per `references/evaluate.md`, on Claude and Codex, or an explicit skip reason in the report. Never ship an untested behavior change as "reference".

## Modes

Pick the mode from what you were asked to do; a request can chain them (a review that becomes an edit).

| You are | Read | Done when |
|---|---|---|
| Creating a new skill | `references/new-skill.md` | The outcome spine exists before any workflow, activation cases are written, repo inventory is updated, and the eval ran or its exact skip reason is recorded |
| Changing an existing skill | `references/edit-skill.md` | The touched block meets the standard, nothing your change contradicts remains, and validation ran |
| Reviewing a skill change | `references/review-skill.md` | Every finding is Change / Verify / Consider with the evidence its class requires, and each Change names a condition or an owning-layer move |
| Acting on review feedback for a skill | `references/respond-to-review.md` | Each item has a verdict, each Change closed a gap at its owning layer, and no block was patched twice |

## Completion report

End every mode with a report shaped by what the mode does. **Mutating modes** (new, edit, respond): per touched block, the goal it now states, what was removed and its provenance result; what was intentionally left short of the standard and why it is out of scope; what validation ran and its result or the exact skip reason; any decision that would materially change the skill's contract that you did not make. **Review mode:** the findings by class with the evidence each carries, and — where the caller has a summary channel — the paths you checked that any restatement still serves and what you could not verify. The report goes to whatever channel the caller provides; when the caller accepts only a findings list, that list *is* the report and satisfies Done. Review changes nothing, so it never has changed-block entries.


================================================
FILE: .agents/skills/ce-skill-work/references/edit-skill.md
================================================
# Changing an existing skill

Skills predate the current standard and evolve toward it. The standard is the guide, not the text around your edit.

## Before editing

0. **State the runtime you are authoring from and what it may mask.** Run the guide's decentering step ("Your model is not a neutral author"): name the model tier and harness, then check each reaction against its bias — "this rule is redundant" (would a more literal model still hold the contract?), "this needs more steps" (protocol, or compensation for this runtime?), "it worked in my test" (which harness capability supplied that?), "this is missing X" (what observable failure does X address?). Do this before deciding anything is sediment.
1. **Read the block's goal, not just the lines you were pointed at.** What result does this block produce, for whom, and what is its done condition? If the block cannot answer that, the edit starts by restating the block; if it can, your change must keep that answer true.
2. **Search provenance for what you intend to remove or rewrite** — a test that asserts it (`rg` under `tests/`), a `docs/solutions/` learning that records it, a commit that added it to fix a named bug (`git log -S`). Then apply SKILL.md's sediment rule as written — this step does not restate it. A duplication mandate that is itself the recorded fix for a bug that regressed twice is a scar, not ceremony — keep it and cite the bug. Say which of your removals rest on absence of evidence.
3. **Audit the block with these questions** before deciding the smallest change. Ordered by expected behavior change per finding:

| Class | Diagnostic question |
|---|---|
| Protocol or judgment | If this instruction disappeared, could the workflow produce a wrong path, state, count, gate, field, boundary, coverage floor, or handoff? Yes → protocol, keep it explicit and falsifiable. No → judgment; try deleting it. A menu whose omitted item silently drops required coverage is protocol, not judgment. Decompose a mixed block before classifying it. |
| Phantom handoff | Does the party this sentence hands off to exist in this run? |
| Step machinery | Would a different order, or skipping the ceremony, produce a different artifact? |
| Capability restatement | Would the model do this if the line were deleted? |
| Filler rationale | Does the rule survive intact if the sentence after it is removed? |
| Enumerated cases | Is this list of cases a proxy for one condition it could state instead? |
| Lean-prompt regression | Does the block repeat an instruction, completion check, autonomy gate, or command skeleton that one earlier rule already decides? |
| Command freedom | Do two recipes share the same command skeleton? If yes, the command belongs once with parameters or deltas unless each full command protects a distinct fragile gate. Conversely, would a capable model with live `--help` still ship the wrong command? If yes, pin the known-good command once. |
| Per-step completion | Is a local done check protecting mutation, auth, scope expansion, irreversible external effects, a fragile transition, or a silent handoff failure? If not, the skill-level done bar decides. |
| Blanket brevity | Does a cross-model skill say "be concise", "keep it short", or paste a Fable brevity block instead of naming what the report must preserve? |
| Vendor priority | Is a Fable-only lean-prompt preference being used to delete a Sol-critical command, report field, or no-blanket-brevity rule? |
| Prescribed mechanism | Does this skill own the command/state it spells out, or does it delegate that work? |
| Vestigial mode | Is there a caller anywhere in the corpus that sets this mode, flag, or branch? |
| Cross-unit duplication | Is this near-identical elsewhere, and is factoring it out actually permitted (parity tests)? |
| Shouting | Is this ALWAYS / NEVER / MUST carrying a rule the surrounding condition does not already state? Capitals are a smell that the rule is not stated as a condition. |

## Making the change

- **Bring the touched block up to the standard as part of the change.** A block written as a procedure, a menu, or an enumeration is restated as its conditions while you are in it; matching the old shape because it is there is how procedures propagate.
- **Scope to your change plus what it makes wrong.** Reconcile blocks your change contradicts or duplicates. Leave untouched blocks alone even when short of the standard, and name them in the PR as follow-up. A repo-wide modernization is its own change, requested explicitly.
- **Repeated case-specific repair is the defect signal.** If this block has been patched before for "the case we just found" — in an earlier round of the same PR, or in git history — do not add another case. Delete the additions and restate the goal, then re-verify the restatement against every path the additions served; a restatement that no longer names a path is a new defect, not a simplification.
- **For every mandate you remove, name what now decides**, and check that decider may decide it. A required gate stays.
- **Prefer one governing sentence over behavior enumeration.** If one sentence decides the listed behaviors, keep the sentence and delete the list; if a listed item is a separate invariant, state that invariant locally.
- **Do not overcorrect away deterministic guidance.** A concrete form — a known-good fragile command, or the failing shape a rule names — may be what the most literal host actually matches on, so removing it is a behavior change whatever the block reads like afterward. Removing duplicate easy commands is right. Keep the concrete form when that host fails without it: for a command, when a capable model with live `--help` would still get the command wrong; for a rule, when that host stops instantiating the condition. Decide that by running the host, not by reading the block. When it needs the shape, keep one subordinated under the condition rather than choosing between them (`docs/solutions/skill-design/subordinate-the-failing-shape-to-the-condition.md`).
- **Resolve model conflicts by product target.** For this org's multi-model skills, keep the Sol form when Fable-optimal brevity or anti-prescription would make Sol undershoot. Sol-critical determinism beats Fable-only hygiene.
- **Control length by preserved content.** For portable skills, replace blanket brevity slogans with the fields the short output must retain and the details it may omit.
- **Keep scope beside the action it governs, and let nothing compete with an exclusion.** A quantifier, threshold, or exclusion ("for each candidate separately", "do not change files outside …") sits next to the step it bounds, not in a distant reminder — literal models lose the distant one. They also act on whatever follows an exclusion when it offers them a competing decision, so what comes after one must decide nothing: an illustration subordinated to the exclusion is fine because it rules on nothing, while a qualification goes before it and an alternative destination is delegated to the section that owns it rather than listed inline as somewhere else to land.
- **Runtime placement:** an instruction that must fire at a point stays inline at that point; do not push it into a reference the agent may not load. Where the same rule must live in two always-loaded places, protect it with a parity test.
- **Scripted replacements** across many files: assert each anchor matches exactly once before writing anything, and fail closed per file.
- **Cross-file invariants:** when a skill's contract is consumed by another skill (an envelope field, a mode token, a status enum), change both ends in the same commit and check the contract test.

## Restructuring for a size or platform constraint

A rewrite whose stated reason is a byte cap, a host's frontmatter rules, or a converter target is a different starting state from a behavior fix, and it fails in its own ways (`docs/solutions/skill-design/size-driven-skill-restructure.md`):

- **Prove the constraint applies before cutting.** Name the doc or test that pins it and say which shipping path it governs; a cap that only binds a hypothetical future package is a ratchet goal, not an outage, and the PR says so. Both are legitimate; confusing them mis-sizes the eval. A ratchet goal is still worth the work: forced onto Codex's Agent Plugins path, a 28.5K body was truncated at 8,000 bytes and silently lost steps 1-10 (#1479), so "the cap does not bite today" bounds the urgency, not the size of the body.
- **The cap is a ceiling, not the target.** A body is charged to context on every invocation on every host, so a skill that already fits gets the same pass: the smallest always-loaded body, the rest in references. When a skill genuinely resists extraction, keep the body and record in the PR what was tried and why each remaining block must fire without a read; never shrink by dropping an invariant.
- **Enumerate the pins before you rewrite.** Run the skill's contract test file first and list every phrase it asserts verbatim; those survive the restructure word-for-word or the test changes deliberately with its reason. Discovering a pin after the rewrite is what turns a plain sentence into a squeezed one.
- **A pin is a decision, not an invariant.** Enumerating the pins prevents accidental breakage; it does not make a pinned phrase permanent. Audit each by provenance: incident-backed and window-deciding stays (verbatim only where the wording itself is the contract), an invariant about the artifact rather than the body becomes a corpus grep or a semantic regex, and incidental wording with no provenance is restated as its condition or dropped, with the reason in the test comment. Authorship and age are not provenance either way: a pin a bot review or one of our own agents added days ago has provenance if its test comment or introducing commit records the failure it protects, and none if it does not. Read what a pin actually asserts before recording it as a floor — a test's 4,500-byte search ceiling was read as a section size (#1475).
- **A body that is still over after plain rewriting relocates another block; it does not compress prose.** Fused clauses and telegraphic phrasing are how nine restructures in the 2026-08-18 sweep landed within 35 bytes of the cap, and one inverted the meaning of a safety guard; the sibling PR that only compressed a shared paragraph across fifteen skills was rejected outright (#1452). Land with room to spare (about 200 bytes) so a later review fix is not forced to squeeze.
- **Relocate before you delete.** Move blocks verbatim into references first, then bring the touched block up to the standard. Every invariant in the old body must be findable in the corpus by the same words a contract test greps for; a restructure that "simplifies" a fragile command while moving it has made two changes and can defend neither.
- **The body keeps what must fire without a read**: outcome/done, boundaries, the ordering invariant, stop classes, and a pointer to each reference at the point of use. A reference the tick cannot start without is named in the body as a required read before that step; the eval below checks whether models actually load it.
- **Then delete the reference's copy of what the body owns.** Relocating verbatim leaves the same gate stated twice; that is the intended half-step, not the finished move. Before the eval, diff each reference against the body and delete **from the reference** every gate, condition, or confirmation the body still owns. The body's copy stays — it has to fire without a read — and the reference names what it supplies to the gate instead of restating it. A second copy asks the user twice, records a snapshot twice, and drifts on the next edit, when only one of the two gets fixed.
- **Place each relocated block at the step that executes it, not at the phase it came from.** The obvious landing site is the reference covering the block's old neighborhood, which is often not the file the acting step reads — a Stage 6 gate in the step-1 reference, a rubric left with no loader. Nothing catches it: the corpus greps still match and the bytes are right. Ask of each relocated block which step acts on it, and when you find one placed wrong, audit them all (#1471).
- **A hoisted rule reads against its new neighbors.** Pulling procedure out changes what sits beside what in the body, and a rule that was unambiguous mid-phase can read as license against a boundary it now borders. Re-read every rule the restructure moved next to a boundary, and state its precondition where it now sits.
- **A shortened rule comes out absolute.** A byte budget pushes each restatement toward an absolute, and an absolute forbids paths the original allowed; the tell is a sentence qualified twice, once to close a finding and once when a finding lands on that addition. On the second round against one sentence, state the condition it was a proxy for rather than shortening it again, and pay for the bytes by deleting what the restatement makes redundant elsewhere (#1456: "never re-enter an earlier phase" forbade the marker-recovery scan that the real condition — never redo a completed checkpoint — allows).
- **Tests split by load-time.** Rules that must control behavior from the window get body pins; relocated invariants get corpus greps (body + references). Do not silently convert every body pin to a corpus grep.
- **Get an adversarial cross-model read of the draft before splitting.** A second model given the old file, the draft, and the incident that motivated the change finds dropped invariants a first author cannot see; treat its list as work items, and re-verify each of its premises against the repo (it will also be wrong).
- **Eval the extraction itself, on more than one harness.** Besides the behavior scenarios, ask each run which files it read. A required-read miss fails the cell only when the always-loaded body makes the decision undefendable without that file; if the body still states the gate, omit the probe (skip allowed) and add a complementary cell on the path the reference owns. Grade surviving artifacts and the ACTIONS trailer, not whether the essay named a forbidden command. For a widely used skill, build the matrix from the skill's entry paths and modes rather than one happy path: each path pre and post on Claude, Codex, and Grok, three trials on the popular paths, and an independent grader for the most-used skills. "Unexercised" means tried and could not force, with the reason; a defect review finds on a path the matrix skipped joins the matrix before the next push. When the restructured skill's key behavior is delegation, that extraction eval also dispatches for real — a `FILES_READ` probe with dispatch forbidden cannot show that the relocated rules still govern a live delegate (`references/evaluate.md`).

## Validate

Read `references/evaluate.md`. A behavior-bearing change gets a targeted eval on the paths the change touches, on Claude and Codex; a mechanical change gets `bun run test`. A change that removes or generalizes away text still needs the eval whenever that text could have been carrying a literal reader — which is not the same as its having recorded provenance, since a line added earlier in this same PR has none and can still be what the weakest host was matching on.

## Done when

The touched block states its conditions; every removal has a provenance result; nothing your change contradicts remains; validation ran or its skip is recorded; follow-ups are named.


================================================
FILE: .agents/skills/ce-skill-work/references/evaluate.md
================================================
# Validating a skill change

Mechanical contracts (frontmatter, paths, greppable invariants, parity, script behavior) go in `bun test` and run in CI. Prose behavior — routing judgment, restraint, cross-model outcomes — is evaluated with a model and is best-effort evidence, not a CI job. Read the guide's "Evaluate proportionally" section for sizing.

## When an eval is required

Any change to how a skill routes, what it asks, when it stops, what it commits or publishes, or how it degrades — on any harness. A pure removal still needs one when a removed line had provenance you overrode. Skip for changes that cannot alter behavior (typo, path, formatting) and say so. When the eval is required but a capability it needs is unavailable — no fresh-context subagent, or one of the two hosts unreachable — record that as the exact skip reason (which capability, on which host) and finish; run the part that is available (a single-host eval is evidence, labeled as single-host). Convenience is not a capability gap.

## How

Inject the current on-disk skill (and any references the scenario needs) into a **fresh** agent, then grade what it does. Plugin skills cache at session start, so invoking the edited skill in the authoring session tests stale content — do not test through in-session Skill-tool or typed-agent dispatch, and do not edit the plugin cache.

This repository does not ship an eval skill. Anthropic's `skill-creator` and the personal `skill-eval` skill are optional installed helpers, not repo capabilities. The portable primitive is the host CLI with the current skill extracted onto disk. `bun run test:skill-eval-cell -- --skill <name> --task "…"` is the repo-owned driver (`claude -p` / `codex exec` / `grok -p`, `CLAUDECODE` unset, Codex stdin closed). Named scenarios live in `tests/skill-eval-cell/catalog.ts` and run with `bun run test:skill-eval-pack -- --skill <name> --arm ab`. `--wave1` is the cheap read-only decision set, not the whole catalog. A change whose path is already in the catalog runs those rows; a path that is not covered adds a row authored from the pre-change contract. Grade artifacts and the ACTIONS trailer, not whether the essay recites a forbidden command. A `files_read_post` entry is a required read for that scenario and a miss fails the cell — list the file only when the always-loaded body makes the decision undefendable without it. Omitting the field is the correct negative (skip allowed). Do not add a must-not-read. When a reference owns a different path, add a complementary cell that requires that file rather than dropping the extraction probe. skill-creator does not replace this cell. Do not add `evals/evals.json` — that is not this repo's suite. Do not run interview-skill evals as in-session subagents: the blocking question tool would land on the authoring user. The cell driver isolates that (stdin closed, host CLI in a throwaway workspace).

**Keep the test honest.** A test subagent must not know it is testing a skill: prompt it the way a user would ("use the `<skill>` skill to do X"), pass the raw artifacts (the file, the finding, the diff), never your diagnosis, the intended fix, or the expected answer. Fresh context per pass; clean up anything a run leaves on disk before the next; if a scenario passes only when the agent can see leaked context, tighten the skill or the setup before trusting the result. Read the transcripts, not just the final outputs — a skill that reaches the right answer while spending turns on unproductive steps has a defect the output hides, and several runs independently writing the same helper is a signal to bundle a script.

Baseline, then compare: run the scenario against the pre-change skill first when a behavior is being *changed* (so you can see the failure the change fixes), then against the edited skill. Include a no-guidance control when the question is whether a line does anything at all. Read every result; do not score by keyword.

**Size the eval to the decision, not the workflow.** A routing change inside an already-active skill is one decision made early in a run — which output contract, which reviewer team, which branch — so the cell that proves it stops at that decision: prompt the skill to resolve its gate and end (announce the team, state the contract, name the route), and grade the declared result. A full-skill run per cell (a complete review, a plan written to disk) spends ten minutes of subagents to observe a line that was decided in the first thirty seconds, and that cost is what turns a proportionate eval into a matrix. The floor: one discriminating fixture per direction — the case the old prose got wrong and the new must get right, and the case both must still get right — plus one per additional leg of the condition; post arm on Claude and Codex; the pre arm only when no baseline evidence already exists (a run that already happened in the session is evidence, not something to reproduce). A cell that declares nothing fails — grade the declared line, never narration that mentions the right word. Six to twelve cells is the ordinary size; the pack runs its rows serially, so run one pack invocation per row side by side when wall time matters. If the change seems to need more cells, suspect the condition before growing the eval. This shortcut cannot test activation — the cell tells the agent to read the skill, so a skill that would never auto-trigger still resolves its gate; a description or trigger change is evaluated in a fresh host session with no skill injected, per the activation item below.

Cover, proportionally to risk: the path the change touches on the weakest realistic model tier; strong-model regression (did prose make a capable model worse); restraint (does the skill stop where it should, and does it avoid case catalogs, repeated autonomy gates, repeated command skeletons, and blanket brevity slogans); activation (positive, adjacent-negative, explicit invoke) when the description or trigger changed — with substantive prompts, since a trivial one-step ask never triggers a skill regardless of description; and the next consumer's contract when an envelope or handoff changed. Run on Claude and Codex by default — cross-host divergence is the biggest portability risk and the one a single-host run cannot see.

**Classify the key behavior before sizing the eval, because a fake-boundary run does not validate delegation.** A run with dispatch, `git`, and `gh` forbidden grades recognition, routing, and pointer-following, and it is the right first pass for any skill (`bun run test:skill-eval-cell -- --read-only`). It cannot grade a skill whose key behavior is live: peer or subagent dispatch, an orchestrator return contract, a mutation gated on what a delegate returned. There the model's account of what it would have done is the artifact under test, so it cannot also be the evidence — whether the delegate was dispatched, what payload it got, whether attribution waited on a real receipt, and whether the reconciliation was a synthesis are all invisible. For those skills the eval dispatches for real, pre- and post-change, on Claude and Codex, graded on subprocess logs and on-disk artifacts rather than the transcript, against a throwaway subject repo rather than the checkout. Record the paths one run could not reach — reconciliation when peers concur, degradation when a peer is unavailable — as unexercised, not as passing. A `codex exec` launched from a Claude Code shell inherits `CLAUDECODE=1` and makes the peer attest the wrong host; launch it under `env -u CLAUDECODE`.

For new CLI-wrapper skills, include a restraint fixture where the tempting output is five or more near-duplicate command blocks sharing the same flags. Passing behavior is one canonical invocation with parameters or named deltas, plus late references only for demonstrated gaps or non-derivable facts.

For new model-invoked skills, include a description-restraint fixture using the single contrast pair in `references/new-skill.md` as the fixture source. Passing behavior is a context pointer: what the skill is with the leading prompt word first, one trigger per genuinely distinct branch in "Use when..." or "Use for..." form, and adjacent negatives only when they block real false-trigger neighbors.

For cross-model output guidance, include a restraint check that the authored skill does not copy a Fable-only brevity block or use a blanket "be concise" / "keep it short" slogan. Passing behavior names the report fields that must survive shortening; for CLI wrappers: command, exit status, output path/size, and stderr or blocker.

**Read the result honestly.** If old and new prose both succeed on a strong model, that is no regression, not improvement — test the claimed insurance at the layer where it matters (the weaker tier or the other harness). Measure the outcome the skill exists to improve, not proxy volume: routing, state, authority, and completion for an orchestrator; claim support for research; clarification burden and execution errors for planning. For a side-effecting skill, grade intended and suppressed actions first, then use fake boundaries or dry-run contracts before anything live.

## Reader pass for restructures

After a size or placement restructure, have a fresh reader — a subagent that did not author the change, given the new body and the pre-change body — read the always-loaded body once and quote every sentence it had to read twice, plus any rewritten sentence whose meaning drifted from its origin. The author cannot see this: an independent audit of the 2026-08-18 sweep found dense or meaning-shifted sentences in thirteen of nineteen bodies that their authors, three harness evals, and two review bots had all passed. Fix by restating plainly or relocating, never by shortening again.

## Record

In the PR: scenarios, tiers/hosts, what the pre-change run did, what the post-change run did, and anything the eval surfaced that you did not act on. Authored scenario sets over-represent the happy path; add one scenario from a real failure (a bot finding, a session that went wrong) whenever you have one. Improve from what generalizes across scenarios, not from what fixes one — a skill tuned to its handful of eval cases is overfit.


================================================
FILE: .agents/skills/ce-skill-work/references/new-skill.md
================================================
# Creating a new skill

Read the guide's "Author in this order", "Build the skill around an outcome spine", "Make activation portable", "Separate protocol from judgment", and "Describe capabilities before tools" sections before writing.

## Before the first line

1. **Confirm the gate.** Apply the new-skill contribution gate exactly as the working agreement in the project's active instructions states it (who is exempt, and what approval must exist before work starts) — do not paraphrase it here. Confirm the skill does not already exist under another name — grep `skills/*/SKILL.md` descriptions for the same trigger.
2. **Write the outcome spine as prose, first, alone:** the result or decision this skill produces, who consumes it next, the done condition, and the non-obvious intent only if it changes the approach. If you cannot write these four in a paragraph, the skill is not ready to author.
3. **Write the activation contract:** name and description as a context pointer — the model-invoked description sits in the window every turn and is pruned harder than the body. First state what the skill is, front-loading the leading word that should fire it in prompts; then list one positive trigger per genuinely distinct branch in "Use when..." or "Use for..." form; then add only adjacent negatives that block a real false-trigger neighbor. Agents under-trigger, so state the condition broadly enough that it covers the situations a user reaches without naming the skill — as a condition ("any change to a skill file"), not as a list of phrasings. Do not open with identity boilerplate, catalog sites/synonyms/capabilities for one branch, dump workflow, flags, or procedure, or spend words on content the body already carries. Name: hyphen-case, verb-led where it reads naturally, under 64 characters; public plugin skills carry the `ce-` prefix.

Contrast pair (the only description example):
- Good (shape): "Applies this repository's skill-authoring standard as a procedure. Use for any change to, or judgment about, a file under skills/** — a SKILL.md, a reference, a persona prompt, a bundled script's instructions: creating a skill, editing one, reviewing a skill change, or acting on review feedback (human or bot) about one. Not for src/, tests/, or scripts/ code."
- Bad (failure: identity boilerplate + one branch written as a site/capability catalog): "This skill should be used when a user wants media from a yt-dlp-supported URL such as YouTube, Twitter/X, TikTok, and similar sites downloaded, audio extracted, playlists archived, or 403/bot-check failures fixed."

## Authoring

- **Layer in order:** outcome spine → hard protocol (falsifiable scope, gates, authority, failure behavior) only where omission produces a wrong path or unsafe action → load-bearing ordering only where order changes correctness → useful context → adapters. Stop at the minimal form unless evidence, risk, or a consumer contract justifies more; add a recipe only for a demonstrated agent tendency or a non-derivable fact.
- **Resolve vendor tension Sol-first.** For multi-model skills this org ships, portable means Sol-first and Fable-acceptable. If Fable-lean guidance would remove a known-good fragile command, required report content, or the no-blanket-brevity rule Sol needs, keep the Sol form. Do not use Fable's "remove old prescriptions" guidance as a license to strip Sol-critical determinism.
- **Authority proportional to risk.** Put autonomy in one envelope: name safe local actions (reading files, inspecting logs, editing in-scope files, running non-destructive validation) and let in-scope work that follows from the user's request proceed without per-action confirmation, including an external write that is the requested job or named in the skill's authority envelope. Stop for confirmation when an external write, destructive action, purchase, or material scope expansion is outside that envelope, or when only the user can supply the input. Do not repeat "ask first", "do not mutate", or "wait for approval" at each step. A read-only, single-shot, non-delegating skill carries no authorization machinery. A skill that mutates or delegates consequential work names its envelope in the guide's positive form — invoking it authorizes these in-envelope actions without per-action confirmation, and does not authorize those — and carries inherited authority as bounded data that a downstream skill may narrow, never broaden.
- **Keep scope beside the action it governs** — quantifier, threshold, or exclusion next to the step it bounds.
- **Every route ends in the skill-level done condition or an explicit blocker.** Add local done checks only around unsafe or fragile actions: mutation, auth, scope expansion, irreversible external effects, or a handoff that can silently fail. No phase hands off to a party that does not exist in the run (a reviewer, a caller, an approver); that shape teaches the model to stop and wait.
- **Match specificity to fragility.** Where several approaches are valid and context decides, write the condition and leave the how to the agent; where one pattern is preferred, use one parameterized script, command, or example; where one known-good invocation exists and agents fail if they invent it, pin the exact command once. Low freedom is right for interacting flags, brittle order, working format selectors, clip/archive/auth recipes, and facts live `--help` will not reconstruct. CLI wrappers default to one canonical invocation plus named deltas when the job is the same default with one knob changed; if two recipes share the same command skeleton, they are one recipe with a parameter, not two blocks. Delegated work states the condition, not the callee's commands; owned mechanics may be spelled out. Deterministic, cheap-but-hard-to-reason glue — quoting, combining inspection output, or a checked flag set — belongs in a bundled script invoked with the `SKILL_DIR` anchor pattern the project's active instructions define.
- **A pinned command is the default, not a suggestion.** Write ordered failure, not peer options: run the pinned command first; if it exits non-zero, returns the wrong shape, hits a bot/auth/version signal, or another named mismatch, then inspect, run live `--help`, or use the named fallback. Do not write "use this command, or compose from `--help`" — Sol may skip the pinned command.
- **State each instruction once.** If a paragraph lists behaviors a brief instruction can steer, replace the list with the sentence. Repeated "ask first", repeated completion checks, and near-identical command blocks are over-prescription unless each repetition protects a different load-bearing gate.
- **Control report length by required content.** Do not copy a Fable-only brevity paragraph, or any blanket "be concise" / "keep it short" slogan, into a skill that also runs on Sol/Codex. State what the report must preserve and what it may omit; for CLI wrappers, the report preserves command, exit status, output path/size, and stderr or blocker.
- **Extract to `references/`** when a block is conditional or late-sequence and a meaningful share of the skill (~20%+); replace it with a one-to-three-line condition and a backtick path, inline at the point where it must fire. Never `@`-include. Never inline a summary complete enough to suppress loading the reference.
- **Portability:** describe capabilities and observable behavior before naming tools; missing capabilities degrade without silent skips; no platform-only variables without a fallback; no `!` load-time pre-resolution.
- **Structure.** References are one level deep from SKILL.md and each is named there with when to read it; a reference over ~100 lines opens with a table of contents; a fact lives in SKILL.md or in a reference, not both. Beyond `scripts/`, `references/`, and `assets/`, nothing else goes in the skill directory — no README, changelog, or notes about how the skill was made. **Personas** live under `references/agents/` or `references/personas/`, without frontmatter; dispatch policy lives in SKILL.md.

## Repo inventory (all in the same change)

A user-facing skill needs: `docs/guides/<name>.md` (purpose, novel mechanics, when to use, chain position), a catalog row in `docs/guides/README.md`, a root `README.md` inventory row, and the skill-count bump in `tests/release-metadata.test.ts`. Run `bun run release:validate` and `bun run test`.

## Validate

Read `references/evaluate.md`. A new skill needs at minimum: activation fixtures (positive, adjacent-negative, explicit-invoke), one restraint case, and one run of the main path on Claude and Codex. Record the results in the PR.

## Done when

The outcome spine reads correctly before any workflow; every route completes or blocks; the description triggers on the intended situations and not on the adjacent ones; inventory is updated; the eval ran and its findings are applied or recorded, or its exact capability skip reason is recorded per `references/evaluate.md`.


================================================
FILE: .agents/skills/ce-skill-work/references/respond-to-review.md
================================================
# Acting on review feedback for a skill

Applying review, peer, or eval feedback is a material revision under the same standard as authoring. An item is not addressed because a sentence landed; it is addressed when a demonstrated gap is closed at its owning layer by the smallest mechanism.

Skill prose is not code. A natural-language condition can always be made more specific, so a reviewer can produce a valid-looking edge case against any rule indefinitely, and patching each one dilutes the rule. "Default to fixing" is the right rule for code; on skill prose the default for a case-level finding is to point at the condition. (Measured 2026-08-15, #1397: a two-condition step absorbed 24 bot findings over nine rounds, most of them cases against text the previous round had added, before being restated as the two conditions it began as.)

## Per item, before editing

1. **Evidence** — classify Change / Verify / Consider (see `review-skill.md`). A case the stated condition already decides is Verify at most: answer with the condition — `not-addressing` quoting it, or `replied` for a question — and do not patch. Edit only when the condition itself is wrong or missing, or a mechanism sits at the wrong layer.
2. **Owning layer** — for each Change: activation contract, outcome spine or skill boundary, runtime protocol, loading or placement, deterministic enforcement, or shared authoring rule. Several fixes in #1397 belonged in the callee skills, not in the caller's prose; put the fix where the mechanic lives, and change both ends of a cross-skill contract together.
3. **Mechanism** — the smallest one at that layer. Add prose only when it is the smallest mechanism, and then only a line that earns its place.
4. **Reconcile** — reread the affected block; remove or rewrite what the change makes conflicting, duplicated, or obsolete. Resolve conflicting items rather than stacking both.
5. **Stop the accretion loop** — when a finding targets text an earlier round added, delete or restate that addition rather than qualifying it. On the **second round against the same block**, stop patching: fold every finding on the block into one restatement item, restate the block as its goal, done condition, and safe direction, and re-verify against every path the additions served, including paths this round's findings do not re-raise. This holds whether rounds arrive in one review or across a babysit loop's re-invocations — count rounds from the branch's review-fix commits, not from this invocation.

Reviewer wording is a hypothesis about mechanism, not authority over it — the reviewer's one-line prose fix is sometimes exactly right, and sometimes the right answer is to delete the mechanism the finding is about (in #1397, an auto-rename that needed cases to be safe was removed outright).

When evidence shows the same cause across skills, fix the shared guide, rule, or mechanism unless the skills' contracts materially differ.

## Record

For a multi-item round, one line per item in the PR body or work note: `item -> Change|Verify|Consider | owning layer | mechanism - why`. A single-item fix may skip the written line.

## Validate

As for an edit (`edit-skill.md`): mechanical → `bun run test`; behavior-bearing → targeted eval per `references/evaluate.md`, or the recorded skip.

## Done when

Every item has a verdict; every Change closed a gap at its owning layer; no block was patched twice without a restatement; validation ran or its skip is recorded.


================================================
FILE: .agents/skills/ce-skill-work/references/review-skill.md
================================================
# Reviewing a skill change

A review agent is biased toward producing changes. Counter it: state the runtime you review from and what it may mask (the guide's decentering step — "this is missing X" and "this rule is redundant" are the two reactions to distrust first), then diagnose before prescribing. Read the guide's "Diagnose before prescribing" section and its "Compact review prompt"; use the prompt as your working frame.

## What a finding is, on `skills/**`

A gap in the goal, the done condition, or the safe failure direction; over-prescription that degrades the agent's degrees of freedom; under-prescription that removes a known-good fragile command; a Fable-only deletion that harms Sol; or a mechanism at the wrong owning layer — commands prescribed in a skill that delegates that work, repeated command blocks where one parameterized recipe would decide the same behavior, omitted exact commands where a capable model with live `--help` would still get the command wrong, a pinned command with no failure hatch, a hatch offered as a peer option to the pinned default, per-step done checks not protecting a fragile gate, blanket brevity slogans in cross-model skills, a rule placed where it will not fire, a Claude-only construct in a cross-host skill, a rendering that breaks on another harness, a route that hands off to a party not present in the run.

**A case a stated condition already decides is not a finding.** Before filing "what if X" against a rule, read the rule's condition and ask whether it decides X. If it does, do not file. If the condition is wrong or missing, file that — as a condition.

**State the requested fix as a condition or an owning-layer move, never as a case to add.** "This probe fails open on network error" is a correct observation; the fix to request is "state the condition (act only on positive proof)" or "delete the probe", not "also check the exit code". "Command X fails in state Y" against a delegating skill is a representation finding: propose the deletion and the condition.

**A block restated to the standard is the expected shape of an edit**, not scope creep, when the restatement covers every path the old text served. Check that coverage; that is the review.

## Classify every finding

- **Change** — demonstrated gap with a supported smallest fix. A correctness fix cites a reproduced failure or the exact path that necessarily fails. An addition names the observable consequence of its absence, the unmet consumer contract or risk, the layer, and why the mechanism is the smallest.
- **Verify** — concrete risk that still needs reproduction or implementation tracing. Return the verification task, not a prescription.
- **Consider** — plausible enhancement whose value is not demonstrated.

Do not solve a non-problem with a rewrite. Prefer an additive guard or an explicit definition over replacing something that works.

## Also check

- Description is a context pointer for a model-invoked skill: it states what the skill is with the leading prompt word first, names one trigger per genuinely distinct branch in "Use when..." or "Use for..." form, and keeps adjacent negatives only when they block real false-trigger neighbors. An identity-boilerplate opener, or a site/synonym/capability catalog for one branch, is a Change; workflow, flags, procedure, or body-owned detail in the description is also a Change. Use the single contrast pair in `references/new-skill.md` when the shape needs a labeled example.
- Every route completes or blocks; no phantom handoffs.
- One skill-level done bar decides ordinary completion; local done checks appear only around mutation, auth, scope expansion, irreversible external effects, fragile transitions, or silent handoff risk.
- CLI-wrapper skills use one canonical invocation plus named deltas; five or more near-duplicate command blocks is a Change unless each block protects a distinct load-bearing gate.
- Known-good fragile commands are pinned once. Omitting the command is a Change when agents fail if they invent it: interacting flags, brittle order, working format selector, clip/archive/auth recipe, or anything live `--help` will not reconstruct.
- Pinned commands are defaults with ordered failure hatches. A pinned command with no hatch is brittle; a hatch written as a peer option ("use this command, or compose from `--help`") is a Change because Sol may take the hatch first. The safe shape is command first, then named failure signal, then fallback.
- For this org's multi-model skills, Sol-first and Fable-acceptable wins over Fable-optimal. A Fable-only deletion of a Sol-critical command, report field, or no-blanket-brevity rule is a Change, not lean-prompt hygiene.
- Autonomy policy is one envelope; in-scope work proceeds, including external writes that are the requested job or named in the authority envelope. Repeated "ask first" gates, or an absolute stop for all external writes regardless of envelope, are a Change unless each marks a different outside-envelope external/destructive/scope/user-only boundary.
- Cross-model skills do not ship blanket "be concise" / "keep it short" slogans or Fable-only brevity blocks; they name the report content to preserve. For CLI wrappers, that includes command, exit status, output path/size, and stderr or blocker.
- Always-loaded prose vs conditionally-loaded references: cost them differently, and say whether the change moved weight between them.
- Cross-skill contracts changed on both ends, with the contract test.
- Portability: capabilities before tools, fallbacks for platform variables, no `!` pre-resolution, `SKILL_DIR` anchor on executed bundled scripts.
- Ordinary code in the same PR (`src/`, `tests/`, `scripts/`) gets ordinary code review.

## Output

For each finding: file and block, class, the evidence its class requires, and the requested fix stated as a condition or a move. Lead with Change items; list Verify and Consider separately as advisory, not as findings. When the caller's transport carries only actionable findings (inline PR review comments, a bot's finding list), emit Change items there and put Verify/Consider in the summary or omit them — never post a verification task as an inline finding. The completion report's review-mode shape (SKILL.md) says what goes where.


================================================
FILE: .agy/INSTALL.md
================================================
# Installing Compound Engineering for Antigravity CLI (`agy`)

Antigravity installs CE as a native plugin bundle. The repository root is the plugin package: `plugin.json` plus the `skills/` directory. The committed `.agy/` subdirectory is a compatibility entry point for local checkouts that prefer an explicit bundle path.

## One-command install (recommended)

With [Antigravity CLI](https://antigravity.google) installed:

```bash
agy plugin install https://github.com/EveryInc/compound-engineering-plugin
```

Verify:

```bash
agy plugin list
agy plugin validate https://github.com/EveryInc/compound-engineering-plugin
```

No clone step is required. `agy` stages the plugin under `~/.gemini/antigravity-cli/plugins/compound-engineering/`.

## Local checkout install

Clone first when you need a specific branch, tag, or unpublished changes:

```bash
git clone https://github.com/EveryInc/compound-engineering-plugin
agy plugin install ./compound-engineering-plugin
```

Or install the bundled `.agy/` entry point (equivalent manifest via symlink):

```bash
agy plugin install ./compound-engineering-plugin/.agy
```

## Pin a release

Install from a release tag:

```bash
git clone --branch compound-engineering-vX.Y.Z --depth 1 \
  https://github.com/EveryInc/compound-engineering-plugin.git
agy plugin install ./compound-engineering-plugin
```

Replace `X.Y.Z` with a tag from the [releases page](https://github.com/EveryInc/compound-engineering-plugin/releases).

## Local development

From your working copy:

```bash
agy plugin install "$PWD"
agy plugin validate "$PWD"
```

Edit skills under `skills/` and restart `agy` or start a new session to pick up prose changes.

## Context files

`agy` reads `GEMINI.md` and `AGENTS.md` as workspace context. Run `agy` from a project that includes those files, or from this checkout when developing CE itself.

## Uninstall

```bash
agy plugin uninstall compound-engineering
```

## Legacy Gemini CLI import

If you previously installed CE under Gemini CLI:

```bash
agy plugin import gemini
```

Prefer the native install commands above for new setups.


================================================
FILE: .claude/commands/triage-prs.md
================================================
---
name: triage-prs
description: Triage all open PRs with parallel agents, label, group, and review one-by-one
argument-hint: "[optional: repo owner/name or GitHub PRs URL]"
disable-model-invocation: true
allowed-tools: Bash(gh *), Bash(git log *)
---

# Triage Open Pull Requests

Review, label, and act on all open PRs for a repository using parallel review agents. Produces a grouped triage report, applies labels, cross-references with issues, and walks through each PR for merge/comment decisions.

## Step 0: Detect Repository

Detect repo context:
- Current repo: !`gh repo view --json nameWithOwner -q .nameWithOwner 2>/dev/null || echo "no repo detected"`
- Current branch: !`git branch --show-current 2>/dev/null`

If `$ARGUMENTS` contains a GitHub URL or `owner/repo`, use that instead. Confirm the repo with the user if ambiguous.

## Step 1: Gather Context (Parallel)

Run these in parallel:

1. **List all open PRs:**
   ```bash
   gh pr list --repo OWNER/REPO --state open --limit 50
   ```

2. **List all open issues:**
   ```bash
   gh issue list --repo OWNER/REPO --state open --limit 50
   ```

3. **List existing labels:**
   ```bash
   gh label list --repo OWNER/REPO --limit 50
   ```

4. **Check recent merges** (to detect duplicate/superseded PRs):
   ```bash
   git log --oneline -20 main
   ```

## Step 2: Batch PRs by Theme

Group PRs into review batches of 4-6 based on apparent type:

- **Bug fixes** - titles with `fix`, `bug`, error descriptions
- **Features** - titles with `feat`, `add`, new functionality
- **Documentation** - titles with `docs`, `readme`, terminology
- **Configuration/Setup** - titles with `config`, `setup`, `install`
- **Stale/Old** - PRs older than 30 days

## Step 3: Parallel Review (Team of Agents)

Spawn one review agent per batch using the Task tool. Each agent should:

For each PR in their batch:
1. Run `gh pr view --repo OWNER/REPO <number> --json title,body,files,additions,deletions,author,createdAt`
2. Run `gh pr diff --repo OWNER/REPO <number>` (pipe to `head -200` for large diffs)
3. Determine:
   - **Description:** 1-2 sentence summary of the change
   - **Label:** Which existing repo label fits best
   - **Action:** merge / request changes / close / needs discussion
   - **Related PRs:** Any PRs in this or other batches that touch the same files or feature
   - **Quality notes:** Code quality, test coverage, staleness concerns

Instruct each agent to:
- Flag PRs that touch the same files (potential merge conflicts)
- Flag PRs that duplicate recently merged work
- Flag PRs that are part of a group solving the same problem differently
- Report findings as a markdown table
- Send findings back via message when done

## Step 4: Cross-Reference Issues

After all agents report, match issues to PRs:

- Check if any PR title/body mentions `Fixes #X` or `Closes #X`
- Check if any issue title matches a PR's topic
- Look for duplicate issues (same bug reported twice)

Build a mapping table:
```
| Issue | PR | Relationship |
|-------|-----|--------------|
| #158  | #159 | PR fixes issue |
```

## Step 5: Identify Themes

Group all issues into themes (3-6 themes):
- Count issues per theme
- Note which themes have PRs addressing them and which don't
- Flag themes with competing/overlapping PRs

## Step 6: Compile Triage Report

Present a single report with:

1. **Summary stats:** X open PRs, Y open issues, Z themes
2. **PR groups** with recommended actions:
   - Group name and related PRs
   - Per-PR: #, title, author, description, label, action
3. **Issue-to-PR mapping**
4. **Themes across issues**
5. **Suggested cleanup:** spam issues, duplicates, stale items

## Step 7: Apply Labels

After presenting the report, ask user:

> "Apply these labels to all PRs on GitHub?"

If yes, run `gh pr edit --repo OWNER/REPO <number> --add-label "<label>"` for each PR.

## Step 8: One-by-One Review

Use **AskUserQuestion** to ask:

> "Ready to walk through PRs one-by-one for merge/comment decisions?"

Then for each PR, ordered by priority (bug fixes first, then docs, then features, then stale):

### Show the PR:

```
### PR #<number> - <title>
Author: <author> | Files: <count> | +<additions>/-<deletions> | <age>
Label: <label>

<1-2 sentence description>

Fixes: <linked issues if any>
Related: <related PRs if any>
```

Show the diff (trimmed to key changes if large).

### Ask for decision:

Use **AskUserQuestion**:
- **Merge** - Merge this PR now
- **Comment & skip** - Leave a comment explaining why not merging, keep open
- **Close** - Close with a comment
- **Skip** - Move to next without action

### Execute decision:

- **Merge:** `gh pr merge --repo OWNER/REPO <number> --squash`
  - If PR fixes an issue, close the issue too
- **Comment & skip:** `gh pr comment --repo OWNER/REPO <number> --body "<comment>"`
  - Ask user what to say, or generate a grateful + specific comment
- **Close:** `gh pr close --repo OWNER/REPO <number> --comment "<reason>"`
- **Skip:** Move on

## Step 9: Post-Merge Cleanup

After all PRs are reviewed:

1. **Close resolved issues** that were fixed by merged PRs
2. **Close spam/off-topic issues** (confirm with user first)
3. **Summary of actions taken:**
   ```
   ## Triage Complete

   Merged: X PRs
   Commented: Y PRs
   Closed: Z PRs
   Skipped: W PRs

   Issues closed: A
   Labels applied: B
   ```

## Step 10: Post-Triage Options

Use **AskUserQuestion**:

1. **Run `/release-docs`** - Update documentation site if components changed
2. **Run `/changelog`** - Generate changelog for merged PRs
3. **Commit any local changes** - If version bumps needed
4. **Done** - Wrap up

## Important Notes

- **DO NOT merge without user approval** for each PR
- **DO NOT force push or destructive actions**
- Comments on declined PRs should be grateful and constructive
- When PRs conflict with each other, note this and suggest merge order
- When multiple PRs solve the same problem differently, flag for user to pick one
- Use Haiku model for review agents to save cost (they're doing read-only analysis)


================================================
FILE: .claude-plugin/CHANGELOG.md
================================================
# Changelog

## [1.0.3](https://github.com/EveryInc/compound-engineering-plugin/compare/marketplace-v1.0.2...marketplace-v1.0.3) (2026-06-24)


### Bug Fixes

* **metadata:** align plugin and marketplace metadata ([#987](https://github.com/EveryInc/compound-engineering-plugin/issues/987)) ([f57c682](https://github.com/EveryInc/compound-engineering-plugin/commit/f57c68257cbd792c25ef85047c426329c5c3f848))


================================================
FILE: .claude-plugin/marketplace.json
================================================
{
  "name": "compound-engineering-plugin",
  "owner": {
    "name": "Kieran Klaassen and Trevin Chow"
  },
  "metadata": {
    "description": "Plugin marketplace for Claude Code and Codex extensions",
    "version": "1.0.3"
  },
  "plugins": [
    {
      "name": "compound-engineering",
      "description": "Brainstorm, plan, debug, review, and compound learnings with AI agents",
      "author": {
        "name": "Kieran Klaassen and Trevin Chow"
      },
      "homepage": "https://github.com/EveryInc/compound-engineering-plugin",
      "tags": [
        "ai-powered",
        "compound-engineering",
        "workflow-automation",
        "code-review",
        "quality",
        "knowledge-management"
      ],
      "source": "./"
    }
  ]
}


================================================
FILE: .claude-plugin/plugin.json
================================================
{
  "name": "compound-engineering",
  "version": "3.23.4",
  "description": "Brainstorm, plan, debug, review, and compound learnings with AI agents",
  "author": {
    "name": "Kieran Klaassen and Trevin Chow"
  },
  "homepage": "https://every.to/source-code/my-ai-had-already-fixed-the-code-before-i-saw-it",
  "repository": "https://github.com/EveryInc/compound-engineering-plugin",
  "license": "MIT",
  "keywords": [
    "brainstorming",
    "code-review",
    "compound-engineering",
    "debugging",
    "ideation",
    "workflows",
    "workflow-automation"
  ]
}


================================================
FILE: .cline/INSTALL.md
================================================
# Installing Compound Engineering for Cline

Cline loads CE through native **skills** discovery — the same `SKILL.md` directories shipped in this repository's `skills/` folder. No Bun converter or generated copy step is required.

## Extension (VS Code, Cursor, JetBrains)

1. Install the [Cline extension](https://docs.cline.bot/getting-started/installing-cline) in your editor.
2. Enable **Settings -> Features -> Enable Skills**.
3. Link CE skills globally or into your project (see below).
4. Start a new Cline task. Skills such as `ce-brainstorm` and `ce-plan` appear when their descriptions match your request.

## Install skills

From a clone of this repository:

```bash
# Global (~/.cline/skills/) — available in every project
./compound-engineering-plugin/.cline/scripts/install-skills.sh --global

# Project (.cline/skills/ in the current directory)
./compound-engineering-plugin/.cline/scripts/install-skills.sh --project
```

The script creates symlinks so Cline reads the live skill directories from your checkout. Re-run it after `git pull` to refresh links when skill folder names change. It only ever creates or replaces CE-owned symlinks (links whose target resolves under this checkout's `skills/` tree); an existing `~/.cline/skills/<name>` pointing at your own skill, a fork, or another checkout is left untouched. Default installs also remove only manual-only symlinks that are CE-owned.

Skills marked `disable-model-invocation: true` (for example `ce-dogfood`, `ce-polish`, `ce-setup`) are **not** linked by default — Cline auto-activates from description matching and has no manual-only gate, so linking them would let them fire unintentionally. Those slash commands are unavailable until you opt in:

```bash
./compound-engineering-plugin/.cline/scripts/install-skills.sh --global --include-manual
```

`--include-manual` links manual-only skills so `/ce-polish` and similar commands work, with a warning that Cline may still auto-activate them when descriptions match. Omit the flag if you do not need those workflows on Cline.

## Pin a release

Clone the tag you want, then run the install script against that checkout:

```bash
git clone --branch compound-engineering-vX.Y.Z --depth 1 \
  https://github.com/EveryInc/compound-engineering-plugin.git
./compound-engineering-plugin/.cline/scripts/install-skills.sh --global
```

Replace `X.Y.Z` with a tag from the [releases page](https://github.com/EveryInc/compound-engineering-plugin/releases).

## Local development

From your working copy:

```bash
/path/to/compound-engineering-plugin/.cline/scripts/install-skills.sh --global
```

Edit skills under `skills/` and start a new Cline task to pick up prose changes.

## Uninstall

Remove CE skill symlinks from `~/.cline/skills/` or `.cline/skills/`. Skill directory names match the folders under `skills/` (for example `ce-brainstorm`, `ce-plan`).

## Cline CLI

The Cline CLI supports separate `AgentPlugin` installs for custom tools and hooks. CE does not require a CLI plugin for its skills to work. Use the skills install script above when running Cline from the terminal.


================================================
FILE: .cline/scripts/install-skills.sh
================================================
#!/usr/bin/env bash
# Link Compound Engineering skills/ into Cline's skills discovery directory.
set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
SKILLS_SRC="$REPO_ROOT/skills"

usage() {
  cat <<'EOF'
Usage: install-skills.sh [--global | --project] [--include-manual]

  --global          Link skills into ~/.cline/skills/ (default)
  --project         Link skills into ./.cline/skills/ under the current directory
  --include-manual  Also link manual-only skills (disable-model-invocation: true).
                    Cline has no manual-only gate — linked manual skills may auto-activate.

Set CLINE_SKILLS_DIR to override the global destination.
EOF
  exit 1
}

SCOPE="--global"
INCLUDE_MANUAL=false

while [[ $# -gt 0 ]]; do
  case "$1" in
    --global | --project)
      SCOPE="$1"
      shift
      ;;
    --include-manual)
      INCLUDE_MANUAL=true
      shift
      ;;
    *)
      usage
      ;;
  esac
done

if [[ "$SCOPE" == "--project" ]]; then
  DEST="$(pwd)/.cline/skills"
else
  DEST="${CLINE_SKILLS_DIR:-$HOME/.cline/skills}"
fi

if [[ ! -d "$SKILLS_SRC" ]]; then
  echo "error: skills directory not found at $SKILLS_SRC" >&2
  exit 1
fi

canonical_path() {
  python3 -c 'import os, sys; print(os.path.realpath(sys.argv[1]))' "$1"
}

SKILLS_ROOT_CANON="$(canonical_path "$SKILLS_SRC")"

is_ce_owned_skill_link() {
  local link_path="$1"
  [[ -L "$link_path" ]] || return 1

  local resolved
  resolved="$(canonical_path "$link_path")"
  [[ "$resolved" == "$SKILLS_ROOT_CANON/"* ]]
}

mkdir -p "$DEST"
linked=0
skipped=0
manual_omitted=0
manual_included=0
manual_removed=0

for skill_dir in "$SKILLS_SRC"/*/; do
  [[ -f "${skill_dir}SKILL.md" ]] || continue
  name="$(basename "$skill_dir")"
  target="$DEST/$name"
  is_manual=false

  if grep -qE '^disable-model-invocation:[[:space:]]*true[[:space:]]*$' "${skill_dir}SKILL.md"; then
    is_manual=true
    if [[ "$INCLUDE_MANUAL" != "true" ]]; then
      if is_ce_owned_skill_link "$target"; then
        rm "$target"
        echo "removed $name: stale CE manual-only symlink" >&2
        manual_removed=$((manual_removed + 1))
      fi
      echo "skip $name: manual-only (disable-model-invocation)" >&2
      manual_omitted=$((manual_omitted + 1))
      continue
    fi
    echo "warn $name: manual-only skill linked — Cline may auto-activate when descriptions match" >&2
    manual_included=$((manual_included + 1))
  fi

  if [[ -e "$target" && ! -L "$target" ]]; then
    echo "skip $name: $target exists and is not a symlink" >&2
    skipped=$((skipped + 1))
    continue
  fi

  if [[ -L "$target" ]] && ! is_ce_owned_skill_link "$target"; then
    echo "skip $name: $target is an existing user-managed symlink (not overwritten)" >&2
    skipped=$((skipped + 1))
    continue
  fi

  ln -sfn "$skill_dir" "$target"
  if [[ "$is_manual" == "true" ]]; then
    echo "linked $name (manual-only) -> $skill_dir"
  else
    echo "linked $name -> $skill_dir"
  fi
  linked=$((linked + 1))
done

if [[ "$INCLUDE_MANUAL" == "true" ]]; then
  echo "done: $linked linked, $skipped skipped, $manual_included manual-only included (destination: $DEST)"
else
  echo "done: $linked linked, $skipped skipped, $manual_omitted manual-only omitted, $manual_removed stale manual-only removed (destination: $DEST)"
fi


================================================
FILE: .codex-plugin/plugin.json
================================================
{
  "name": "compound-engineering",
  "version": "3.23.4",
  "description": "Brainstorm, plan, debug, review, and compound learnings with AI agents",
  "author": {
    "name": "Kieran Klaassen and Trevin Chow"
  },
  "homepage": "https://every.to/source-code/my-ai-had-already-fixed-the-code-before-i-saw-it",
  "repository": "https://github.com/EveryInc/compound-engineering-plugin",
  "license": "MIT",
  "keywords": [
    "brainstorming",
    "code-review",
    "compound-engineering",
    "debugging",
    "ideation",
    "workflows",
    "workflow-automation"
  ],
  "skills": "./skills/",
  "interface": {
    "displayName": "Compound Engineering",
    "shortDescription": "Brainstorm, plan, debug, review, and compound learnings with AI agents",
    "longDescription": "Compound Engineering guides AI agents through the full engineering loop: strategy, ideation, requirements, planning, execution, debugging, review, PR feedback, and captured learnings that make future work easier.",
    "developerName": "Kieran Klaassen and Trevin Chow",
    "category": "Coding",
    "capabilities": [
      "Interactive",
      "Read",
      "Write"
    ],
    "websiteURL": "https://github.com/EveryInc/compound-engineering-plugin",
    "privacyPolicyURL": "https://every.to/legal",
    "termsOfServiceURL": "https://every.to/legal",
    "defaultPrompt": [
      "Brainstorm a new feature with me",
      "Ideate and surprise me!",
      "Simplify the code in my most-churned file"
    ],
    "brandColor": "#C9EFFA",
    "composerIcon": "./assets/icon.svg",
    "logo": "./assets/logo.png",
    "screenshots": []
  }
}


================================================
FILE: .compound-engineering/config.example.yaml
================================================
# Compound Engineering -- repo config
# Copy to .compound-engineering/config.yaml in your project root (team defaults).
# Optional override: .compound-engineering/config.local.yaml, same keys.
# Ordinary keys: local wins when set, then this file, then the skill default.
# docs_root is repo layout -- set it only here; local docs_root is ignored.
# All settings are optional. Invalid ordinary values continue to the next layer.
# docs_root fails closed on an unusable value.

# --- Artifact root ---
# Relocate every CE-written artifact folder (solutions, plans, ideation,
# explainers, pulse-reports, dogfood-reports,
# feedback-sweep, personas) under one repo-relative root. Unset -> `docs`,
# byte-identical to today. A configured root becomes the sole location CE reads
# and writes; CE never falls back to reading `docs/`.
#
# Set this only in this tracked file so every clone and worktree share one
# artifact tree. A docs_root in config.local.yaml is ignored.
#
# The value must be a repo-relative directory whose real (symlink-resolved) path
# stays inside the repo, is not the repo root itself, and is not under `.git/`.
# Unlike every other setting here, an unusable value does NOT fall through to the
# default -- CE stops with an error so a typo can't silently write artifacts into
# the location you configured away from. `/ce-setup` reports the resolved root.

# docs_root: .compound-engineering/artifacts   # repo-relative dir (default: docs)

# --- Product pulse ---
# Settings written by /ce-product-pulse first-run interview. Re-run the skill with
# argument `setup` or `reconfigure` to edit interactively.

# pulse_product_name: "Spiral"                          # used in report titles (no default)
# pulse_lookback_default: 24h                           # 1h | 24h | 7d | 30d (default: 24h)
# pulse_primary_event: "session_started"                # the event that means "user showed up"
# pulse_value_event: "task_completed"                   # the event that means "user got value"
# pulse_completion_events: "onboarded,first_purchase"   # comma-separated, 0-3 events
# pulse_quality_scoring: false                          # true | false (default: false; AI products only)
# pulse_quality_dimension: "answer accuracy"            # dimension scored 1-5 when pulse_quality_scoring is true
# pulse_analytics_source: posthog                       # posthog | mixpanel | custom (no default)
# pulse_tracing_source: sentry                          # sentry | datadog | custom (no default)
# pulse_payments_source: stripe                         # stripe | custom (no default)
# pulse_db_enabled: false                               # true | false (default: false; read-only DB if true)
# pulse_metric_sources: "retention_d7=posthog,nps=delighted"  # strategy-metric -> source overrides; comma-separated 'metric=source' pairs; unlisted metrics fall back to pulse_analytics_source
# pulse_pending_metrics: "retention_d7,nps"             # comma-separated strategy metrics awaiting instrumentation; render as 'no data'
# pulse_excluded_metrics: "north_star"                  # comma-separated strategy metrics intentionally not in pulse

# --- Output format ---
# Per-skill output format default. Selects the exclusive format the artifact
# is written in: `md` produces a markdown file, `html` produces a single
# self-contained HTML file. The two are mutually exclusive -- there is no
# sibling artifact. See DESIGN.md or your agent instructions to influence
# HTML styling. Precedence: a format request in your prompt for that run wins
# (e.g. "output:html" or "make it HTML"); a preference you established earlier
# (in-session, saved to memory, or in your agent instructions) overrides these
# keys (this config is the persisted fallback); pipeline contexts (e.g., LFG,
# disable-model-invocation) always force `md`.

# plan_output: html              # md | html (default: md)
# brainstorm_output: html        # md | html (default: md)
# ideate_output: md              # md | html (default: html -- ideation docs are human-facing, so HTML is the default; set md to opt out)

# --- Model elevation ---
# Send only the reasoning-heavy step of /ce-plan (interpret research, then author
# the plan) and /ce-brainstorm (generate approaches) to a model you name. The rest
# of each skill -- dialogue, research, orchestration -- stays on your session
# model. The value is a model alias (e.g. `fable`, `opus`). You can also name a
# model in a prompt for a one-off, which overrides these keys.
#
# Cross-harness: setting a key means every harness you run these skills in will
# attempt that model. The host serves it natively where it can; otherwise the
# Claude CLI is invoked when installed and authenticated; otherwise the step runs
# on your session model and the run says so. Invalid/commented/missing -> no
# elevation.

# plan_model: fable              # model alias for the plan-authoring step (no default)
# brainstorm_model: fable        # model alias for approach generation (no default)

# --- PR concept teaching (ce-commit-push-pr) ---
# When a PR introduces a concept new to the codebase, the generated PR
# description gains a "New concepts" section teaching it. The section toggle is
# the single gate: off disables judgment, the section, the /ce-explain offer,
# and archival. Archival additionally writes the explainer to docs/explainers/
# and links it from the PR (full-workflow runs only; override per run with
# archive:on|off). Ordinary cascade: local, then this file, then the skill default.

# pr_teaching_section: false     # true | false (default: true)
# pr_teaching_archive: true      # true | false (default: false; full-workflow runs only)

# --- ce-commit-push-pr babysit handoff ---
# After a full-workflow PR is opened, ce-commit-push-pr auto-invokes ce-babysit-pr
# to watch CI + incoming review and drive the PR toward merge-ready. Set false to
# opt out standing (per-run override: the babysit:off token).
# auto_babysit: false            # true | false (default: true)

# --- ce-plan scoping confirmation ---
# By default /ce-plan pauses before research/plan-write to show a scoping
# summary and wait for you to confirm scope. Set this to skip that wait: ce-plan
# composes the summary for itself, records any inferred scope under an
# Assumptions section, announces that it's proceeding, and keeps going. It skips
# only that confirmation -- genuine blocking questions and the post-plan menu
# still appear. Override per run with `confirm:auto` (skip) or `confirm:ask`
# (force the gate on for one run).

# plan_skip_scoping_confirm: true   # true | false (default: false)

# --- Cross-model review policy and preference ---
# `cross_model_review_mode` decides whether ce-doc-review and ce-code-review may
# automatically send review content (diffs, documents) to a second model
# provider when their conditional cross-model pass activates. `off` skips that
# pass before any route is chosen or process starts, leaves every local
# reviewer in place, and reports "disabled by checkout config" instead of an
# availability failure. `auto` keeps the current behavior. A direct request in
# conversation ("use codex as the independent reviewer this time") overrides
# `off` for that run; a conversation prohibition overrides `auto`.
#
# `cross_model_peer` is the preferred peer, consulted only when the mode is
# `auto`. Conversation instructions still win, and the skills skip routes that
# cannot establish the required host/peer distinction.
# `cross_model_model` and `cross_model_effort` pin the model and reasoning
# effort of whichever peer target runs; unset keeps the skills' editorial
# mapping. The model must belong to that target's family (an alias such as
# `fable` or a full id such as `claude-opus-5` for claude; `gpt-*` for codex,
# optionally namespace-qualified such as `openai.gpt-5.6-sol` when the codex CLI
# routes through a non-default `model_provider`).
# Effort levels: claude low|medium|high|xhigh|max, codex minimal|low|medium|
# high|xhigh, grok low|medium|high; cursor/composer routes take none. A value
# the peer cannot honor skips the pass with a stated reason -- never substituted.

# cross_model_review_mode: off   # auto | off (default: auto)
# cross_model_peer: codex          # codex | claude | grok | cursor | composer
# cross_model_model: fable         # model alias or full id for the resolved peer target (no default)
# cross_model_effort: xhigh        # reasoning effort for the resolved peer target (no default)

# --- ce-work implementation engine ---
# Standing preferences for who authors implementation units. Live
# task/session/project instructions and LFG's provenance-bearing binding may
# override or narrow these defaults. `off` disables only this standing preference.
# `prefer` tries candidates in order, then falls back natively with disclosure.
# `require` keeps the requested external identity fixed while viable, then also
# falls back natively with disclosure if the route is unavailable. Harnesses:
# codex | claude | grok | cursor. Omit model to use that harness's configured
# default. Composer is a model
# family through Cursor: { harness: cursor, model: composer }. Do not put CLI flags
# or commands here. A candidate equivalent to the current host/default is skipped;
# a different explicit model in the same harness remains eligible.

# work_engine_mode: prefer        # off | prefer | require (default: off)
# work_engine_preferences:
#   - harness: cursor
#     model: composer
#   - harness: codex
#     model: "gpt-5.6"
#   - harness: claude             # configured default model

# --- ce-promote ---
# Written automatically when you decline the Spiral setup offer in /ce-promote.
# Suppresses that one-time setup nudge in this project. Remove the key to re-enable.

# ce_promote_spiral_optout: true   # true | (absent) (default: absent -- offer once)

# --- Sweep (ce-sweep) ---

# Feedback sources swept by /ce-sweep. Generic key: other skills may read this list.
# Each entry: type (slack | github-issues | email), id (short name), target (channel ID /
# owner/repo / mailbox), ack_action, closeout_action, sensitive (true withholds content
# from committed state/plan text), approved (standing approval for source-side writes).
# feedback_sources:
#   - { type: slack, id: slack-alpha, target: C0XXXXXXX, ack_action: eyes, closeout_action: white_check_mark, sensitive: false, approved: true }
#   - { type: github-issues, id: gh-issues, target: owner/repo, ack_action: "feedback:ack", closeout_action: "feedback:resolved", sensitive: false, approved: true }

# Sweep-owned settings.
# sweep_state_path: docs/feedback-sweep/state.yml   # committed (multi-agent) or /tmp path (solo)
# sweep_ack_cap: 25                                 # max acks per source per run before the circuit breaker
# sweep_lease_ttl_minutes: 60                       # single-writer lease staleness threshold
# sweep_shared_branch: false                        # true: push-gated lease for shared-docs-branch topology


================================================
FILE: .cursor-plugin/CHANGELOG.md
================================================
# Changelog

## [1.0.2](https://github.com/EveryInc/compound-engineering-plugin/compare/cursor-marketplace-v1.0.1...cursor-marketplace-v1.0.2) (2026-06-24)


### Bug Fixes

* **metadata:** align plugin and marketplace metadata ([#987](https://github.com/EveryInc/compound-engineering-plugin/issues/987)) ([f57c682](https://github.com/EveryInc/compound-engineering-plugin/commit/f57c68257cbd792c25ef85047c426329c5c3f848))

## [1.0.1](https://github.com/EveryInc/compound-engineering-plugin/compare/cursor-marketplace-v1.0.0...cursor-marketplace-v1.0.1) (2026-03-19)


### Bug Fixes

* add cursor-marketplace as release-please component ([#315](https://github.com/EveryInc/compound-engineering-plugin/issues/315)) ([838aeb7](https://github.com/EveryInc/compound-engineering-plugin/commit/838aeb79d069b57a80d15ff61d83913919b81aef))


================================================
FILE: .cursor-plugin/marketplace.json
================================================
{
  "name": "compound-engineering",
  "owner": {
    "name": "Kieran Klaassen",
    "email": "kieran@every.to",
    "url": "https://github.com/kieranklaassen"
  },
  "metadata": {
    "description": "Cursor plugin marketplace for Every Inc plugins",
    "version": "1.0.2"
  },
  "plugins": [
    {
      "name": "compound-engineering",
      "source": ".",
      "description": "Brainstorm, plan, debug, review, and compound learnings with AI agents"
    }
  ]
}


================================================
FILE: .cursor-plugin/plugin.json
================================================
{
  "name": "compound-engineering",
  "displayName": "Compound Engineering",
  "version": "3.23.4",
  "description": "Brainstorm, plan, debug, review, and compound learnings with AI agents",
  "author": {
    "name": "Kieran Klaassen and Trevin Chow"
  },
  "homepage": "https://every.to/source-code/my-ai-had-already-fixed-the-code-before-i-saw-it",
  "repository": "https://github.com/EveryInc/compound-engineering-plugin",
  "license": "MIT",
  "keywords": [
    "cursor",
    "plugin",
    "ai-powered",
    "compound-engineering",
    "workflow-automation",
    "code-review",
    "rails",
    "ruby",
    "python",
    "typescript",
    "knowledge-management"
  ]
}


================================================
FILE: .devin-plugin/plugin.json
================================================
{
  "name": "compound-engineering",
  "version": "3.23.4",
  "description": "Brainstorm, plan, debug, review, and compound learnings with AI agents",
  "author": {
    "name": "Kieran Klaassen and Trevin Chow"
  },
  "homepage": "https://every.to/source-code/my-ai-had-already-fixed-the-code-before-i-saw-it",
  "repository": "https://github.com/EveryInc/compound-engineering-plugin",
  "license": "MIT",
  "keywords": [
    "brainstorming",
    "code-review",
    "compound-engineering",
    "debugging",
    "ideation",
    "workflows",
    "workflow-automation"
  ]
}


================================================
FILE: .gitattributes
================================================
# Bundled skill scripts run under POSIX bash/python; force LF so a CRLF
# checkout (e.g. core.autocrlf=true on Windows) can't break them under WSL
# or Linux bash. See #1251.
*.sh text eol=lf
*.py text eol=lf

# Bundled scripts with no extension (shebang bash/python) need the same pin.
skills/ce-babysit-pr/scripts/pr-snapshot text eol=lf
skills/ce-resolve-pr-feedback/scripts/* text eol=lf
skills/ce-setup/scripts/check-health text eol=lf


================================================
FILE: .github/.release-please-manifest.json
================================================
{
  ".": "3.23.4",
  ".claude-plugin": "1.0.3",
  ".cursor-plugin": "1.0.2"
}


================================================
FILE: .github/pull_request_template.md
================================================
<!-- Structure the body however best explains THIS change — there is no fixed format.
     Size it to the change: a one-line fix needs a sentence; a big change earns design-decision callouts.
     Reach for whatever sections aid understanding (Summary, Validation, Design decisions,
     Before/after, New concepts, …) and skip the rest. -->


## Security Disclosure
<!-- Disclose any security-relevant changes in this PR: shell/exec introduced or changed in a skill,
     path or input handling, converter/writer output, secrets or credential handling, permissions,
     or dependency changes — what changed and any residual risk or follow-up.
     If there are none, write "No security-relevant changes." -->


## Agent Disclosure
<!-- Always keep this section. Human-authored with no AI agent? Replace the bullet with: "No agent used." -->
- **Model:** <!-- e.g. `Claude Code · claude-opus-4-8`, `Codex CLI · GPT-5`, `Cursor · Composer` -->
<!-- The model that did the bulk of the WORK, not whichever agent opened this PR.
     Name your harness, then the most specific model identity your own context actually gives you.
     Some harnesses state an exact model ID (Claude Code does) — copy it verbatim.
     Others expose only a generic family (Codex says "based on GPT-5"; Cursor says nothing) — report
     that family and stop. Measured 2026-07-24: on those harnesses the running model is genuinely
     absent from your context, so do not upgrade the family to a version, and do not go hunting in
     config files — the config default is often not the model actually running.
     Never invent a version or variant. -->


================================================
FILE: .github/release-please-config.json
================================================
{
  "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
  "include-component-in-tag": true,
  "release-search-depth": 20,
  "commit-search-depth": 500,
  "plugins": [],
  "packages": {
    ".": {
      "release-type": "simple",
      "package-name": "compound-engineering",
      "changelog-sections": [
        {
          "type": "feat",
          "section": "Features",
          "hidden": false
        },
        {
          "type": "fix",
          "section": "Bug Fixes",
          "hidden": false
        },
        {
          "type": "deps",
          "section": "Dependencies",
          "hidden": false
        },
        {
          "type": "refactor",
          "section": "Refactoring",
          "hidden": false
        }
      ],
      "skip-changelog": true,
      "exclude-paths": [
        "SECURITY.md",
        "PRIVACY.md",
        "favicon.png",
        "docs/",
        "scripts/",
        ".github/",
        ".claude/",
        ".codex/",
        ".gemini/",
        ".cursor/",
        ".windsurf/",
        ".agents/plugins/marketplace.json",
        ".kimi-plugin/marketplace.json",
        ".claude-plugin/marketplace.json",
        ".cursor-plugin/marketplace.json",
        ".grok-plugin/marketplace.json",
        ".omp-plugin/marketplace.json"
      ],
      "extra-files": [
        {
          "type": "json",
          "path": "package.json",
          "jsonpath": "$.version"
        },
        {
          "type": "json",
          "path": ".claude-plugin/plugin.json",
          "jsonpath": "$.version"
        },
        {
          "type": "json",
          "path": ".cursor-plugin/plugin.json",
          "jsonpath": "$.version"
        },
        {
          "type": "json",
          "path": ".codex-plugin/plugin.json",
          "jsonpath": "$.version"
        },
        {
          "type": "json",
          "path": ".kimi-plugin/plugin.json",
          "jsonpath": "$.version"
        },
        {
          "type": "json",
          "path": ".grok-plugin/plugin.json",
          "jsonpath": "$.version"
        },
        {
          "type": "json",
          "path": ".devin-plugin/plugin.json",
          "jsonpath": "$.version"
        },
        {
          "type": "json",
          "path": ".omp-plugin/marketplace.json",
          "jsonpath": "$.plugins[0].version"
        },
        {
          "type": "json",
          "path": "plugin.json",
          "jsonpath": "$.version"
        }
      ]
    },
    ".claude-plugin": {
      "release-type": "simple",
      "package-name": "marketplace",
      "extra-files": [
        {
          "type": "json",
          "path": "marketplace.json",
          "jsonpath": "$.metadata.version"
        }
      ]
    },
    ".cursor-plugin": {
      "release-type": "simple",
      "package-name": "cursor-marketplace",
      "extra-files": [
        {
          "type": "json",
          "path": "marketplace.json",
          "jsonpath": "$.metadata.version"
        }
      ]
    }
  }
}


================================================
FILE: .github/workflows/ci.yml
================================================
name: CI

on:
  push:
    branches: [main]
  pull_request:
  workflow_dispatch:

jobs:
  pr-title:
    if: github.event_name == 'pull_request'
    runs-on: ubuntu-latest
    permissions:
      pull-requests: read

    steps:
      - name: Validate PR title
        uses: amannn/action-semantic-pull-request@v6.1.1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          requireScope: false
          types: |
            feat
            fix
            docs
            refactor
            chore
            test
            ci
            build
            perf
            revert

  test:
    runs-on: ubuntu-latest

    env:
      # Single source of truth for the pinned `claude plugin validate` version:
      # both the install and its cache key read this, so a bump cannot bump one
      # and leave the other serving a stale cached binary.
      CLAUDE_CODE_VERSION: 2.1.220

    steps:
      - uses: actions/checkout@v6
        # Full history so release:validate can read the base-branch (origin/main)
        # release-please manifest when checking release-as pins for staleness.
        with:
          fetch-depth: 0

      - name: Setup Bun
        uses: oven-sh/setup-bun@v2
        with:
          bun-version: latest

      - name: Install dependencies
        run: bun install

      - name: Validate release metadata
        run: bun run release:validate

      # Canonical schema check: runs `claude plugin validate --strict` against
      # the marketplace catalog and the plugin manifest. The CLI must be
      # installed via npm, not bun: `bun x` cannot run this package (bun blocks
      # its required postinstall and cannot resolve its `claude` bin name), and
      # `bun run` rewrites `npx` in package.json scripts to the broken `bun x`,
      # so the script invokes a `claude` already on PATH instead.
      #
      # The validator version is pinned deliberately for reproducible CI: a
      # floating @latest would track new upstream validation rules
      # automatically but could break CI without any repo change. Bump the
      # pin intentionally to adopt new `claude plugin validate` rules.
      #
      # plugin:validate must hit .claude-plugin/plugin.json — `validate .` only
      # checks the marketplace. Root CLAUDE.md is a symlink to AGENTS.md so
      # --strict stays green; see AGENTS.md "CI and Quality Gates".
      #
      # The install is cached because the npm package is a 165KB wrapper whose
      # postinstall pulls a platform binary (`@anthropic-ai/claude-code-linux-x64`,
      # ~275MB unpacked). Registry throughput for that payload is the whole cost
      # of this step — validation itself is under a second. Observed range on
      # ubuntu-latest: 3-10s typical, 5m worst case. Caching buys predictability,
      # not average speed: it caps the tail rather than beating the fast path.
      # Keying on the pinned version means a hit on every run between bumps.
      - name: Cache claude-code validator
        id: cache-claude-code
        uses: actions/cache@v6
        with:
          path: ~/.npm-global
          key: claude-code-${{ runner.os }}-${{ env.CLAUDE_CODE_VERSION }}

      - name: Install claude-code validator
        if: steps.cache-claude-code.outputs.cache-hit != 'true'
        run: npm install -g --prefix ~/.npm-global @anthropic-ai/claude-code@${{ env.CLAUDE_CODE_VERSION }}

      - name: Validate plugin schema (claude plugin validate)
        run: |
          export PATH="$HOME/.npm-global/bin:$PATH"
          claude --version
          bun run plugin:validate

      # Runs the package `test` script so the flags CI uses and the flags a
      # contributor gets from `bun run test` cannot drift apart.
      - name: Run tests
        run: bun run test

  # Focused Windows gate for the skill scripts that reach for POSIX process and
  # file primitives: peer-job-runner (#1243) and ce-babysit-pr's pr-snapshot
  # (#1280). Not a full-suite matrix — POSIX lifecycle tests (fork/killpg/ps)
  # stay on ubuntu-latest. This job runs the cross-platform fixtures under real
  # win32, which is the only way to execute the msvcrt/ctypes branches at all:
  # they are imported solely under sys.platform == "win32", so no amount of
  # patching reaches them from Linux or Mac.
  windows-native:
    runs-on: windows-latest

    steps:
      # Keep LF in the working tree so newline-anchored parity regexes match.
      # Default Windows runners often have core.autocrlf=true (see
      # docs/solutions/developer-experience/windows-crlf-checkout-breaks-newline-anchored-tests.md).
      - name: Disable autocrlf for LF checkout
        run: git config --global core.autocrlf false

      - uses: actions/checkout@v6

      - name: Setup Python
        uses: actions/setup-python@v6
        with:
          # Match the verified Windows smoke environment for #1243.
          python-version: "3.11"

      - name: Setup Bun
        uses: oven-sh/setup-bun@v2
        with:
          bun-version: latest

      - name: Install dependencies
        run: bun install

      - name: Peer-job-runner unit fixture
        # Use `python`, never `python3` — on Windows the latter is often the
        # Microsoft Store stub (see docs/solutions/conventions/resolve-python-interpreter-not-python3.md).
        run: python tests/fixtures/peer-job-runner-unit.py

      - name: Peer-job-runner Windows smoke
        # Hosted windows-latest Python intermittently fails `import ctypes`
        # mid-suite (DLL init on _ctypes) after earlier tests already passed.
        # Product code cannot recover. Retries are signature-gated: only
        # `DLL load failed while importing _ctypes` is retried; any other
        # nonzero exit fails this step immediately.
        shell: pwsh
        run: |
          $max = 3
          for ($i = 1; $i -le $max; $i++) {
            $log = Join-Path $env:TEMP "peer-job-runner-windows-smoke-$i.log"
            python tests/fixtures/peer-job-runner-windows-smoke.py *> $log
            $code = $LASTEXITCODE
            $text = Get-Content -Raw -ErrorAction SilentlyContinue $log
            if ($null -ne $text) { Write-Host $text }
            if ($code -eq 0) { exit 0 }
            if ($text -notmatch 'DLL load failed while importing _ctypes') { exit $code }
            Write-Host "Windows smoke failed with known _ctypes flake (attempt $i/$max, exit $code)"
            if ($i -eq $max) { exit $code }
            Start-Sleep -Seconds 15
          }

      - name: Peer-job-runner parity
        run: bun test tests/peer-job-runner-parity.test.ts

      - name: pr-snapshot platform primitives
        run: python tests/fixtures/pr-snapshot-platform.py

      # Runs the scratch-root preamble exactly as the skills ship it, under Git Bash. The
      # POSIX suite cannot cover this: `install -d -m 700` works there and fails only here
      # (#1285), so a shape assertion stayed green while every skill's scratch setup aborted
      # on Windows. Shell out via bun so the same file also runs in the ubuntu suite.
      - name: Scratch-root preamble executes under Git Bash
        run: bun test tests/scratch-root-preamble-executes.test.ts


================================================
FILE: .github/workflows/release-pr.yml
================================================
name: Release PR

on:
  push:
    branches: [main]
  workflow_dispatch:

permissions:
  contents: write
  pull-requests: write
  issues: write

concurrency:
  group: release-pr-${{ github.ref }}
  cancel-in-progress: true

jobs:
  release-pr:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v6
        with:
          fetch-depth: 0

      - name: Setup Bun
        uses: oven-sh/setup-bun@v2
        with:
          bun-version: latest

      - name: Install dependencies
        run: bun install --frozen-lockfile

      - name: Detect release PR merge
        id: detect
        run: |
          MSG=$(git log -1 --format=%s)
          if [[ "$MSG" == chore:\ release* ]]; then
            echo "is_release_merge=true" >> "$GITHUB_OUTPUT"
          else
            echo "is_release_merge=false" >> "$GITHUB_OUTPUT"
          fi

      - name: Validate release metadata scripts
        if: steps.detect.outputs.is_release_merge == 'false'
        run: bun run release:validate

      - name: Maintain release PR
        id: release
        uses: googleapis/release-please-action@v4.4.0
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          config-file: .github/release-please-config.json
          manifest-file: .github/.release-please-manifest.json
          skip-labeling: false


================================================
FILE: .github/workflows/release-preview.yml
================================================
name: Release Preview

on:
  workflow_dispatch:
    inputs:
      title:
        description: "Conventional title to evaluate (defaults to the latest commit title on this ref)"
        required: false
        type: string
      compound_engineering_bump:
        description: "compound-engineering bump override"
        required: false
        type: choice
        options: [auto, patch, minor, major]
        default: auto
      marketplace_bump:
        description: "marketplace bump override"
        required: false
        type: choice
        options: [auto, patch, minor, major]
        default: auto
      cursor_marketplace_bump:
        description: "cursor-marketplace bump override"
        required: false
        type: choice
        options: [auto, patch, minor, major]
        default: auto

jobs:
  preview:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v6
        with:
          fetch-depth: 0

      - name: Setup Bun
        uses: oven-sh/setup-bun@v2
        with:
          bun-version: latest

      - name: Install dependencies
        run: bun install --frozen-lockfile

      - name: Determine title and changed files
        id: inputs
        shell: bash
        run: |
          TITLE="${{ github.event.inputs.title }}"
          if [ -z "$TITLE" ]; then
            TITLE="$(git log -1 --pretty=%s)"
          fi

          FILES="$(git diff --name-only HEAD~1...HEAD | tr '\n' ' ')"

          echo "title=$TITLE" >> "$GITHUB_OUTPUT"
          echo "files=$FILES" >> "$GITHUB_OUTPUT"

      - name: Add preview note
        run: |
          echo "This preview currently evaluates the selected ref from its latest commit title and changed files." >> "$GITHUB_STEP_SUMMARY"
          echo "It is side-effect free, but it does not yet reconstruct the full accumulated open release PR state." >> "$GITHUB_STEP_SUMMARY"

      - name: Validate release metadata
        run: bun run release:validate

      - name: Preview release
        shell: bash
        run: |
          TITLE='${{ steps.inputs.outputs.title }}'
          FILES='${{ steps.inputs.outputs.files }}'

          args=(--title "$TITLE" --json)
          for file in $FILES; do
            args+=(--file "$file")
          done

          args+=(--override "compound-engineering=${{ github.event.inputs.compound_engineering_bump || 'auto' }}")
          args+=(--override "marketplace=${{ github.event.inputs.marketplace_bump || 'auto' }}")
          args+=(--override "cursor-marketplace=${{ github.event.inputs.cursor_marketplace_bump || 'auto' }}")

          bun run scripts/release/preview.ts "${args[@]}" | tee /tmp/release-preview.txt

      - name: Publish preview summary
        shell: bash
        run: cat /tmp/release-preview.txt >> "$GITHUB_STEP_SUMMARY"


================================================
FILE: .gitignore
================================================
.DS_Store
.env
*.log
node_modules/
.codex/
todos/
.worktrees
.context/
.claude/worktrees/
__pycache__/
*.pyc

.compound-engineering/*.local.yaml


================================================
FILE: .grok-plugin/marketplace.json
================================================
{
  "name": "compound-engineering",
  "description": "Compound Engineering plugin for Grok Build",
  "owner": {
    "name": "Kieran Klaassen and Trevin Chow"
  },
  "plugins": [
    {
      "name": "compound-engineering",
      "description": "Brainstorm, plan, debug, review, and compound learnings with AI agents",
      "category": "development",
      "source": {
        "source": "url",
        "url": "https://github.com/EveryInc/compound-engineering-plugin.git"
      },
      "homepage": "https://github.com/EveryInc/compound-engineering-plugin",
      "keywords": [
        "compound-engineering",
        "compound engineering",
        "ce-plan",
        "ce-work"
      ]
    }
  ]
}


================================================
FILE: .grok-plugin/plugin.json
================================================
{
  "name": "compound-engineering",
  "version": "3.23.4",
  "description": "Brainstorm, plan, debug, review, and compound learnings with AI agents",
  "author": {
    "name": "Kieran Klaassen and Trevin Chow"
  },
  "homepage": "https://every.to/source-code/my-ai-had-already-fixed-the-code-before-i-saw-it",
  "repository": "https://github.com/EveryInc/compound-engineering-plugin",
  "license": "MIT",
  "keywords": [
    "brainstorming",
    "code-review",
    "compound-engineering",
    "debugging",
    "ideation",
    "workflows",
    "workflow-automation"
  ],
  "skills": "./skills/"
}


================================================
FILE: .kimi-plugin/marketplace.json
================================================
{
  "version": "2",
  "plugins": [
    {
      "id": "compound-engineering",
      "displayName": "Compound Engineering",
      "source": "https://github.com/EveryInc/compound-engineering-plugin"
    }
  ]
}


================================================
FILE: .kimi-plugin/plugin.json
================================================
{
  "name": "compound-engineering",
  "version": "3.23.4",
  "description": "Brainstorm, plan, debug, review, and compound learnings with AI agents",
  "keywords": [
    "brainstorming",
    "code-review",
    "compound-engineering",
    "debugging",
    "ideation",
    "workflows",
    "workflow-automation"
  ],
  "author": "Kieran Klaassen and Trevin Chow",
  "homepage": "https://every.to/source-code/my-ai-had-already-fixed-the-code-before-i-saw-it",
  "license": "MIT",
  "skills": "./skills/",
  "interface": {
    "displayName": "Compound Engineering",
    "shortDescription": "Brainstorm, plan, debug, review, and compound learnings with AI agents",
    "longDescription": "Compound Engineering guides AI agents through the full engineering loop: strategy, ideation, requirements, planning, execution, debugging, review, PR feedback, and captured learnings that make future work easier.",
    "developerName": "Kieran Klaassen and Trevin Chow",
    "websiteURL": "https://github.com/EveryInc/compound-engineering-plugin"
  }
}


================================================
FILE: .omp-plugin/marketplace.json
================================================
{
  "name": "compound-engineering-plugin",
  "owner": {
    "name": "Kieran Klaassen and Trevin Chow"
  },
  "metadata": {
    "description": "Plugin marketplace for Claude Code and Codex extensions"
  },
  "plugins": [
    {
      "name": "compound-engineering",
      "description": "Brainstorm, plan, debug, review, and compound learnings with AI agents",
      "version": "3.23.4",
      "author": {
        "name": "Kieran Klaassen and Trevin Chow"
      },
      "homepage": "https://github.com/EveryInc/compound-engineering-plugin",
      "tags": [
        "ai-powered",
        "compound-engineering",
        "workflow-automation",
        "code-review",
        "quality",
        "knowledge-management"
      ],
      "source": "./"
    }
  ]
}


================================================
FILE: .opencode/INSTALL.md
================================================
# Installing Compound Engineering for OpenCode

Add Compound Engineering to the `plugin` array in your global or project `opencode.json`:

```json
{
  "plugin": ["compound-engineering@git+https://github.com/EveryInc/compound-engineering-plugin.git"]
}
```

Restart OpenCode after changing the config. The OpenCode plugin registers the Compound Engineering skills directory directly; no Bun installer or generated skill copy is required.

To pin a release, add a tag. Replace `X.Y.Z` with the release you want — see the [releases page](https://github.com/EveryInc/compound-engineering-plugin/releases) for available tags:

```json
{
  "plugin": ["compound-engineering@git+https://github.com/EveryInc/compound-engineering-plugin.git#compound-engineering-vX.Y.Z"]
}
```

## Local Development

From this checkout, point OpenCode at the package path:

```json
{
  "plugin": ["/path/to/compound-engineering-plugin"]
}
```

Restart OpenCode after changing the package source.


================================================
FILE: .opencode/plugins/compound-engineering.js
================================================
import path from "path"
import fs from "fs"
import { fileURLToPath } from "url"

const pluginDir = path.dirname(fileURLToPath(import.meta.url))
const skillsDir = path.resolve(pluginDir, "../../skills")

function unquote(value) {
  if (value.length < 2) return value
  const quote = value[0]
  if ((quote !== '"' && quote !== "'") || value[value.length - 1] !== quote) return value
  const inner = value.slice(1, -1)
  return quote === '"' ? inner.replace(/\\(["\\])/g, "$1") : inner.replace(/''/g, "'")
}

// Scoped to the leading `---` block so a `name:`/`description:` line inside a
// fenced YAML example in the skill body cannot register a bogus command.
function parseFrontmatter(content) {
  const block = content.match(/^---\r?\n([\s\S]*?)\r?\n---/)
  if (!block) return null
  const fields = {}
  for (const line of block[1].split(/\r?\n/)) {
    const pair = line.match(/^([A-Za-z][\w-]*):\s*(.*)$/)
    if (pair) fields[pair[1]] = unquote(pair[2].trim())
  }
  return fields
}

function loadSkills() {
  const commands = {}
  let entries
  try {
    entries = fs.readdirSync(skillsDir)
  } catch {
    return commands
  }
  for (const entry of entries) {
    let content
    try {
      content = fs.readFileSync(path.join(skillsDir, entry, "SKILL.md"), "utf8")
    } catch {
      continue
    }
    const fields = parseFrontmatter(content)
    if (!fields || !fields.name) continue
    if (fields["user-invocable"] === "false") continue
    const command = {
      template: `Load and execute the \`${fields.name}\` skill.\n\n$ARGUMENTS`,
    }
    if (fields.description) command.description = fields.description
    commands[fields.name] = command
  }
  return commands
}

const skillCommands = loadSkills()

export const CompoundEngineeringPlugin = async () => ({
  config: async (config) => {
    config.skills = config.skills || {}
    config.skills.paths = config.skills.paths || []
    if (!config.skills.paths.includes(skillsDir)) {
      config.skills.paths.push(skillsDir)
    }
    config.command = config.command || {}
    for (const [name, cmd] of Object.entries(skillCommands)) {
      if (!(name in config.command)) {
        config.command[name] = cmd
      }
    }
  },
})

export default CompoundEngineeringPlugin


================================================
FILE: .pi/extensions/compound-engineering.ts
================================================
import { dirname, resolve } from "node:path"
import { fileURLToPath } from "node:url"

const extensionDir = dirname(fileURLToPath(import.meta.url))
const packageRoot = resolve(extensionDir, "../..")
const skillsDir = resolve(packageRoot, "skills")

export default function compoundEngineeringPiExtension(pi: any) {
  pi.on("resources_discover", async () => ({
    skillPaths: [skillsDir],
  }))
}


================================================
FILE: AGENTS.md
================================================
# Agent Instructions

This repository is the root of the `compound-engineering` coding-agent plugin and the marketplace/catalog metadata used to distribute it.

It also contains:
- the Bun/TypeScript CLI that converts Claude Code plugins into other agent platform formats
- shared release and metadata infrastructure for the CLI, marketplace, and plugin

`AGENTS.md` is the canonical repo instruction file. Root `CLAUDE.md` is a symlink to `AGENTS.md` so Claude Code and other tools that look for `CLAUDE.md` still find it at the expected path. Keep that symlink (do not replace it with a regular file): a real root `CLAUDE.md` makes `claude plugin validate --strict` fail because this checkout is also the plugin root.

## Quick Start

```bash
bun install
bun run test              # full test suite (also runs in CI; `--parallel` across worker processes)
bun run release:validate  # plugin/marketplace consistency (also runs in CI)
bun run plugin:validate   # Claude marketplace + plugin schema (also runs in CI; needs `claude` on PATH)
```

### Codex Local Plugin Development

When testing current skill files in Codex, run the repository workflow from the checkout or worktree you intend to test:

```bash
bun run codex:dev -- local    # link this worktree's skills and remove CE plugin installs
bun run codex:dev -- status   # show local/remote state and checkout provenance
bun run codex:dev -- remote   # restore the official marketplace-backed plugin
bun run codex:dev -- remove   # remove both supported CE installation surfaces
```

`refresh` is an idempotent alias for `local`. Local mode manages only the exact `$CODEX_HOME/skills/compound-engineering-local` symlink and Compound Engineering plugin IDs; it must not alter unrelated user skills. The symlink includes modified and untracked files from the selected worktree. Start a new Codex session after switching installation modes. Current Codex versions detect direct skill edits automatically; restart only if an edit does not appear. For live local testing, use this workflow instead of adding the repository as a marketplace: a marketplace install caches a snapshot, while local mode links the current skill files.

## Working Agreement

- **Branching:** Create a feature branch for any non-trivial change. If already on the correct branch for the task, keep using it; do not create additional branches or worktrees unless explicitly requested.
- **Merge policy:** All changes to `main` go through pull requests. Direct pushes and direct merges are not allowed; branch protection on `main` enforces this by requiring the `test` status check to pass. The direct path bypasses `release:validate`, the test suite, and PR title validation — past direct merges have caused version drift requiring multi-PR recovery (see `docs/solutions/workflow/release-please-version-drift-recovery.md`).
- **Contribution gate (non-maintainers):** If you are not a repository maintainer or admin, do not open a PR without a linked issue — file the issue first and reference it from the PR. Adding a **new skill** has a stricter gate: non-maintainers and non-admins must raise a discussion in an issue and get explicit maintainer approval **before** starting the work; do not open a new-skill PR that has not been approved this way. Maintainers and admins are exempt from both gates but still follow the merge policy above.
- **PR disclosure:** `.github/pull_request_template.md` ends with `## Security Disclosure` and `## Agent Disclosure` sections. Fill both when opening a PR — including PRs authored via `gh pr create --body`/`--body-file`, which bypass the template so nothing pre-fills them. State any security-relevant changes (or "No security-relevant changes"), and the model that did the bulk of the work — your harness plus the most specific model identity your own context gives you, e.g. `Claude Code · claude-opus-4-8` or `Codex CLI · GPT-5`. Copy an exact model ID verbatim when your harness states one; when it exposes only a generic family, report the family and stop. Measured 2026-07-24: Codex and Cursor agents cannot see their running model at all (Codex's "based on GPT-5" is fixed boilerplate), so do not upgrade a family to a version, and do not read config files for one — the configured default is often not the model actually running. Never invent a version or variant. The body above those sections stays freeform — add whatever sections best explain the change.
- **Safety:** Do not delete or overwrite user data. Avoid destructive commands.
- **Testing:** Run `bun run test` after changes that affect parsing, conversion, output, skill conventions, or other mechanical guards. Local `bun run test` is the same suite CI runs — there is no separate local-only unit-test lane. Prefer it over bare `bun test`: the package script carries `--parallel`, which is where the suite's speed comes from. Bare `bun test <file>` is still the right tool for iterating on one file.
- **Release versioning:** Releases are prepared by release automation, not normal feature PRs. The repo has one root plugin/package release component (`compound-engineering`) plus marketplace components (`marketplace`, `cursor-marketplace`). GitHub release PRs and GitHub Releases are the canonical release-notes surface for new releases; root `CHANGELOG.md` is only a pointer to that history. Use conventional titles such as `feat:` and `fix:` so release automation can classify change intent, but do not hand-bump release-owned versions or hand-author release notes in routine PRs.
- **Output Paths:** Keep OpenCode output at `opencode.json` and `.opencode/{agents,skills,plugins}`. For OpenCode, commands go to `~/.config/opencode/commands/<name>.md`; `opencode.json` is deep-merged (never overwritten wholesale).
- **Scratch Space:** Default to OS temp. Use `.context/` only when explicitly justified by the rules below.
  - **Default: OS temp** — covers most scratch, including per-run throwaway AND cross-invocation reusable, regardless of whether a repo is present or whether other skills may read the files. A stable OS-temp prefix handles cross-skill and cross-invocation coordination equally well as an in-repo path; repo-adjacency is rarely the relevant property.
    - **Per-run throwaway**: `mktemp -d "${TMPDIR:-/tmp}/<prefix>-XXXXXX"` (OS handles cleanup). Use for files consumed once and discarded — captured screenshots, stitched GIFs, intermediate build outputs, recordings, delegation prompts/results, single-run checkpoints. Always pass an explicit template under `${TMPDIR:-/tmp}`. Do not use bare `mktemp`, bare `mktemp -d`, `mktemp -t`, or `mktemp -d -t`: those forms ignore `$TMPDIR` on macOS and can resolve outside a sandbox's writable temp directory.
    - **Cross-invocation reusable**: use a stable, effective-user-owned prefix under `/tmp/compound-engineering-<effective-uid>/<skill-name>/` — **not** `mktemp -d` — so later invocations by the same OS user can find prior outputs without sharing a writable root with other users. Derive the effective UID with `id -u`, reject a symlink or path not owned by the current user, and create or repair the top-level root to mode `0700` before use. **Probe before committing to `/tmp`:** when that root cannot be created, is not yours, or is not writable, use `${TMPDIR:-/tmp}/compound-engineering-<effective-uid>` instead — the same rule, in the same order, in every shell preamble and Python default, so a later invocation resolves the same root. Claude Code's macOS sandbox allowlists writes under `$TMPDIR` (`/tmp/claude-<uid>`) but not `/tmp` itself, so without the fallback every skill's scratch setup aborts there with `Operation not permitted`; and an existing root from an unsandboxed session passes `mkdir -p` as a no-op yet refuses the first write, which is why the probe is a writability check (`[ -w ]`), not creation alone. Copy the block from any shipped skill (for example `skills/ce-code-review/SKILL.md`) rather than re-deriving it; `tests/scratch-root-preamble-executes.test.ts` runs every copy, including the fallback. The default layout is one `<scratch-root>/<skill-name>/<run-id>/` directory per run; use it for caches keyed by session, checkpoints meant to survive context compaction, intermediate state, and outputs whose lifecycle or mutation belongs to one run.
      - **Discoverable collection exception**: omit the per-run directory only when later invocations intentionally enumerate multiple sibling **final artifacts** as core product behavior and run isolation would materially worsen discovery or the user-facing path. Use a stable collection namespace (for example, repository identity plus a `general` fallback), descriptive immutable filenames, metadata that supports ranking, and no-overwrite collision handling that atomically reserves the final filename and retries with the next suffix on collision; never check availability and then write. Do not use this exception for caches, checkpoints, intermediate files, or merely to shorten a path.
      - Prefer `/tmp` over `$TMPDIR` so paths stay accessible: `$TMPDIR` on unsandboxed macOS resolves to `/var/folders/64/.../T/`, which is hostile for users who want to inspect checkpoints, grep them, or copy them out — which is why `$TMPDIR` is the fallback, taken only when `/tmp` cannot host the root, and never the first choice. The explicit effective-UID segment supplies the required cross-user boundary while preserving a readable path. Agents running as the same OS user intentionally remain in one discretionary-access-control principal.
  - **Exception: `.context/`** — use only when the artifact is genuinely bound to the CWD repo AND meets at least one of:
    - (a) **User-curated**: the user is expected to inspect, manipulate, or manually curate the artifact outside the skill (e.g., a per-repo TODO database, a per-spec optimization log that survives across sessions on the same checkout).
    - (b) **Repo+branch-inseparable**: the artifact's meaning is inseparable from this specific repo or branch (e.g., branch-specific resume state that a user expects to pick up again in the same checkout).
    - (c) **Path is core UX**: surfacing the artifact path back to the user is a core part of the skill's output and that path is easier to communicate as a repo-relative location than an OS-temp one.
    Namespace under `.context/compound-engineering/<workflow-or-skill-name>/`, add a per-run subdirectory when concurrent runs are plausible, and decide cleanup behavior per the artifact's lifecycle (per-run scratch clears on success; user-curated state persists). "Shared between skills" is not by itself sufficient — OS temp handles that equally well.
  - **Durable outputs** (plans, specs, learnings, docs, final deliverables) belong in `docs/` or another repo-tracked location, not in either scratch tier.
  - **Cross-platform note:** `/tmp` is writable on macOS (symlink to `/private/tmp`), Linux, and WSL. For per-run throwaway files, use an explicit `${TMPDIR:-/tmp}` template so macOS and sandboxed hosts honor the selected temp parent. Skills authored here assume Unix-like shells (bash on macOS/Linux, or Git Bash on Windows). Native Windows is a supported target for Python interpreter resolution and peer-job detach — never hardcode `python3`; probe execution per `docs/solutions/conventions/resolve-python-interpreter-not-python3.md`.
- **Character encoding:**
  - **Identifiers** (file names, agent names, command names): ASCII only -- converters and regex patterns depend on it.
  - **Markdown tables:** Use pipe-delimited (`| col | col |`), never box-drawing characters.
  - **Prose and skill content:** Unicode is fine (emoji, punctuation, etc.). Prefer ASCII arrows (`->`, `<-`) over Unicode arrows in code blocks and terminal examples.

## Directory Layout

```
src/              CLI entry point, parsers, converters, target writers
skills/           Compound Engineering plugin skills
docs/guides/      User-facing plugin guides (catalog and configuration)
.claude-plugin/   Claude plugin manifest and marketplace catalog metadata
.codex-plugin/    Codex plugin manifest
.cursor-plugin/   Cursor plugin manifest and marketplace catalog metadata
.opencode/        OpenCode package entrypoint and install docs
.pi/              Pi extension entrypoint
tests/            Converter, writer, and CLI tests + fixtures
docs/             Requirements, plans, solutions, and target specs
CONCEPTS.md       Shared domain vocabulary (glossary of project-specific terms)
```

## Repo Surfaces

Changes in this repo may affect one or more of these surfaces:

- root plugin content under `skills/`, `AGENTS.md`, `README.md`, and platform manifests
- marketplace catalogs under `.claude-plugin/`, `.cursor-plugin/`, and `.agents/plugins/`
- the converter/install CLI in `src/` and `package.json`

Do not assume a repo change is "just CLI" or "just plugin" without checking which surface owns the affected files.

## Plugin Maintenance

When changing plugin content:

- Update substantive docs like `README.md` when the plugin behavior, inventory, or usage changes.
- When adding a user-facing skill, document it: create a `docs/guides/<skill-name>.md` page (purpose, novel mechanics, when to use, chain position — follow the shape of the existing pages), add a catalog row under the right category in `docs/guides/README.md`, and bump the skill count in `tests/release-metadata.test.ts`. `docs/guides/README.md` is the **only** place a skill's prose description is maintained. The root `README.md` carries a grouped overview that lists skill *names* under a category, so a new skill also needs its name added to the right group row and the three stated skill counts bumped (badge, intro, section lead). `tests/release-metadata.test.ts` enforces that every skill name appears in that overview exactly once, that no unknown name appears, and that the three counts match the skill directories under `skills/` (each with a `SKILL.md`) — so the suite catches a missing name, a stale count, or a name left behind during a move. Choosing the *right* group is yours; a test that knew the correct category per skill would be the second inventory this arrangement exists to avoid — the previous three-way sync of full descriptions was unenforced and had already drifted, which is why descriptions now live in exactly one place. Every current user-facing skill has a page, including `lfg` and `ce-dogfood`.
- When adding, removing, renaming, or changing the meaning/default/consumer of a `.compound-engineering/config.yaml` option, update `skills/ce-setup/references/config-template.yaml`, its byte-identical `.compound-engineering/config.example.yaml` copy, the centralized `docs/guides/configuration.md` reference, and the affected consumer skill docs in the same change. Ordinary keys may also live in optional checkout-local `config.local.yaml` (overrides the repo file). `docs_root` belongs only in `config.yaml`. Durable team instructions still belong in the project's normal agent-instructions mechanism.
- Do not hand-bump release-owned versions in plugin or marketplace manifests.
- Do not hand-add release entries to `CHANGELOG.md` or treat it as the canonical source for new releases.
- Run `bun run release:validate` if agents, commands, skills, MCP servers, or release-owned descriptions/counts may have changed.
- When removing a skill, agent, or command, add its name to both cleanup registries so stale flat-install artifacts are swept on upgrade:
  - `STALE_SKILL_DIRS` / `STALE_AGENT_NAMES` / `STALE_PROMPT_FILES` in `src/utils/legacy-cleanup.ts`
  - `EXTRA_LEGACY_ARTIFACTS_BY_PLUGIN["compound-engineering"]` in `src/data/plugin-legacy-artifacts.ts`

Useful validation commands:

```bash
bun run release:validate
cat .claude-plugin/marketplace.json | jq .
cat .claude-plugin/plugin.json | jq .
```

## Runtime vs Authoring Context

`AGENTS.md`, `CLAUDE.md` (symlink to `AGENTS.md`), and `GEMINI.md` are authoring context for this source repository. Skills are installed into end-user environments, where they run against the user's local instruction files, not this repo's. Behavioral rules that must affect a skill at runtime belong in that skill's `SKILL.md` or files under its own `references/` directory.

## Working on Skills

This repository authors each skill once and distributes it across multiple agent models and harnesses. A skill is a set of goals, not a state machine: it hands the agent the goal, the done condition, the safe failure direction, and the facts it cannot derive from the repo in front of it, then gets out of the way. `docs/solutions/skill-design/portable-agent-skill-authoring.md` is the standard; the rules in this file supplement it and take precedence where more specific.

**Before creating, editing, reviewing, or acting on review feedback for anything under `skills/**`, invoke the repo-local `ce-skill-work` skill** (`.agents/skills/ce-skill-work/`, which Codex and Cursor discover directly; `.claude/skills` is a symlink to `.agents/skills` for Claude Code). It carries the procedures for each of those four activities, the audit questions, the provenance rule for removals, and the validation contract. The same routing applies when a skill-authoring best practice itself changes or is newly learned — a prompt-guide lesson, a tuning that demonstrably worked, a standard-level correction: invoke `ce-skill-work` and record the practice in `docs/solutions/skill-design/portable-agent-skill-authoring.md` (and here when it must be always-loaded), never only in one skill's prose. This file states only what must be always-loaded; when the two disagree, fix the disagreement rather than following the shorter one.

Three rules that hold regardless of whether the skill was invoked:

- **State conditions, not procedures or cases.** When a block keeps absorbing "add the case we just found" — in authoring, in a review round, or in your own fix to a finding — the representation is wrong. Delete the additions and restate the goal, then re-verify against every path the additions served; a restatement that no longer names a path is a new defect, not a simplification.
- **Prescribe a mechanism only where it is owned.** A delegating skill states the condition, the safe failure direction, and the non-derivable callee facts, never a re-derivation of the callee's commands (`docs/solutions/skill-design/skill-gates-state-conditions-not-prescribed-git-commands.md`).
- **Bring the block you touch up to the standard**; leave untouched blocks alone and name them as follow-up. Skills predate the standard and evolve toward it.

### User-Facing Skill Invocations

Keep agent-to-agent or skill-to-skill routing semantic: format formal skill names as inline code (for example, `ce-plan`) and invoke the named skill through the active harness's callable skill mechanism. When a skill prints or copies a user-runnable invocation, default to `/skill-name`; use `$skill-name` only when the active harness is Codex or explicitly documents dollar-prefixed skill invocation. On oh-my-pi (`omp`), keep the default form for model-visible targets; use native `/skill:<name>` only when the target is not model-visible because it declares `disable-model-invocation` or `hide` (for example, `/skill:ce-polish`). In prose, render only the invocation as inline code; use a fenced block only when the command stands alone. Output exactly one form. Do not apply this rendering rule to built-in commands such as `/goal`.

At runtime, put the smallest self-contained rendering rule immediately before the smallest section that contains all affected user-copy seams. Do not repeat it in every step; repeat it only in a separately loaded reference that independently owns output.

### Reviewing a skill change (bots and humans)

Review bots read this file when reviewing a PR here. On `skills/**`:

- **A finding is a gap in the goal, the done condition, or the safe failure direction; over-prescription that degrades degrees of freedom; or a mechanism at the wrong owning layer** — commands prescribed in a skill that delegates that work, repeated command blocks where one parameterized recipe would decide the same behavior, a model-invoked description that opens with identity boilerplate or catalogs one branch, per-step done checks not protecting a fragile gate, repeated ask-first gates not marking a different external/destructive/scope/user-only boundary, a rule placed where it will not fire, a Claude-only construct in a cross-host skill, a rendering that breaks on another harness.
- **A case a stated condition already covers is not a finding.** Before filing "what if X" against a rule, check whether the rule's condition decides X. If it does, do not file; if the condition is wrong or missing, file *that*.
- **State the requested fix as a condition or an owning-layer move, never as a case to add.** "Command X fails in state Y" against a delegating skill is a finding about the representation; the fix is to drop the command and state the condition, not to correct the command.
- **A block restated to the standard is the expected shape of an edit**, not scope creep, when the restatement covers every path the old text served.
- Ordinary code under `src/`, `tests/`, and `scripts/` gets ordinary code review; these rules are about instruction prose.

### Acting on review feedback

This governs any agent or tool that acts on review feedback in this repository — `ce-resolve-pr-feedback`, another vendor's resolver, or a person — and on `skills/**` it takes precedence over the tool's own "default to fixing". Skill prose is not code: a natural-language instruction can always be made more specific, so a reviewer can produce a valid-looking edge case against any condition indefinitely, and patching each one dilutes the instruction (#1397: 24 findings over nine rounds on a two-condition step). A case the stated condition already decides is answered with the condition, not patched; only a wrong or missing condition, or a mechanism at the wrong owning layer, is a fix. On the second round against the same block, restate it rather than qualify it. The full procedure — Evidence, Owning layer, Mechanism, Reconcile, Stop the accretion loop — is `ce-skill-work`'s respond mode.

## Referencing Project Conventions in Skills

When a skill needs to discover a project convention at runtime — the issue tracker, coding standards, commit format, lint command, scope constraints, etc. — describe **what to look for in the agent's existing context**, not **which file to open**.

**On the read path, do not name instruction files (`AGENTS.md` / `CLAUDE.md` / `GEMINI.md` / `.cursor/rules`).** Phrase it as "the project's active instructions and conventions already in your context." Three reasons:

- **Redundant.** Every major harness auto-injects the project's root instruction file into context at session start (Claude Code loads `CLAUDE.md`, Codex `AGENTS.md`, Gemini `GEMINI.md`). Telling the agent to "read `AGENTS.md`" asks it to re-open content it already has.
- **Brittle / not portable.** The filename differs per harness, and this plugin is authored once and converted to all of them. A hardcoded "read `AGENTS.md` (or `CLAUDE.md`)" silently finds nothing on a harness that uses a different name.
- **Security smell.** Instructing an agent to go *read named instruction dotfiles* is the exact shape that prompt-injection defenses in some agent frameworks (e.g., Hermes) flag. Referencing context rather than filenames avoids tripping those guards.

**Name a concrete file only where the skill must do something a context reference can't express:**

- **Writing a convention back** (e.g., persisting `project_tracker: linear`) needs a target — name it minimally and as an example ("the project's root agent-instructions file, e.g., `AGENTS.md`; if it `@`-includes another, write to the substantive one").
- **Reading content that is genuinely not auto-loaded** — a subdirectory-scoped instruction file governing the area being changed, an optional project doc like `STRATEGY.md` / `CONCEPTS.md` / `README.md`, or any file a *fresh subagent* (which does not inherit the parent's loaded instructions) must open to do its job. Auditing tools that must enumerate every criteria file are a legitimate exception — they review the files, they don't re-read them for context. `ce-code-review`'s project-standards reviewer globs `CODING_STANDARDS.md`, the designated criteria source, and reads `CLAUDE.md`/`AGENTS.md` only as criteria for changed files that no `CODING_STANDARDS.md` governs.

**Describe the capability, not the tool.** Pair this with naming the *category* of thing rather than a closed set: "the project's issue tracker (e.g., GitHub Issues, Linear, Jira)" and "whatever interface that tracker exposes (connector/MCP, documented API, or a documented CLI)" — never assume a specific CLI exists, and never treat a missing binary / env var / MCP server as proof the capability is unavailable.

## Validating Agent and Skill Changes

Behavioral changes to a plugin skill or skill-local persona (anything under `skills/`) need a different validation path than mechanical code changes, because of how Claude Code loads plugins.

- **Test prose changes by injecting the current on-disk skill into a fresh agent.** Plugin skills cache at session start, so invoking the edited skill in the authoring session tests stale content. This repository does not ship an eval skill. The portable path is the host CLI you already have, against a skill dir extracted from a ref: `bun run test:skill-eval-cell`. Named scenarios (pre-change contract vs current tree) run with `bun run test:skill-eval-pack -- --skill <name> --arm ab`. That uses `claude` / `codex` / `grok` on PATH and bills those products, not a separate API key. Anthropic's `skill-creator` is an optional Claude-hosted helper, not required, and does not replace the cell.

- **Plugin agent and skill definitions both cache at session start.** Once a Claude Code session is open, dispatching a typed plugin agent runs the in-memory copy that was loaded when the session began. The same applies to skills: invoking a skill goes through the cached skill loader, so edits to skill scripts are also not tested via that path. File edits to either layer after session start do not propagate within the same session. Any iteration loop built around typed-agent dispatch or Skill-tool invocation in the same session is testing pre-edit content, not your changes.

- **Do NOT edit `~/.claude/plugins/cache/` or `~/.claude/plugins/marketplaces/` to try to force a reload.** Those paths are user machine state, not repo-managed. Modifying them does not reliably bypass the in-session cache (it didn't, in observed behavior), risks being silently overwritten by plugin updates, and is the wrong layer to test from. Inject current disk content into a fresh agent instead; if you genuinely need fresh-loaded behavior of the typed-agent dispatch path, restart the session.

- **A version-matched cache is not automatically stale — confirm by content, not by version.** When this working tree is the local marketplace source, a session (re)start re-copies it into `~/.claude/plugins/cache/.../compound-engineering/<version>/` (a plain copy, no `.git`; `<version>` is the working tree's `.claude-plugin/plugin.json` version), so the loaded plugin can be identical to — and as current as — your edits. Do not assume the running copy is stale just because it lives under the cache path; equally, do not assume a matching `<version>` means it includes your latest change. Version match is necessary but not sufficient: edits within a release do not bump the version, so a matching segment proves only that the cache was built from this release, not that it captured your most recent edit. To know which copy is actually loaded, diff the specific cache file against the working-tree file — identical means the running plugin is your current edit and you can trust it; differing means the session predates the edit, so restart or inject the working-tree files into a fresh agent. Never infer "stale" or "current" from the version segment alone.

- **Mechanical changes do not have this restriction.** Skill scripts (e.g., `extract-metadata.py`), parser logic, conversion code, and anything `bun test` exercises always run the current source. The caching issue only affects LLM-driven skill prose behavior dispatched through the plugin loader.

## CI and Quality Gates

PR CI (`.github/workflows/ci.yml`) is the merge gate. It runs, in order: PR-title lint (PRs only), `bun run release:validate`, `bun run plugin:validate`, and `bun run test`. Do not invent a parallel local-only mechanical suite — if a check is deterministic and should block merges, put it in one of those steps (usually `bun run test`).

The `test` script runs `bun test --parallel`, which distributes test *files* across worker processes (one file still runs its own tests serially, and `--parallel` implies `--isolate`). This is the single biggest lever on CI wall time, because most of the suite is spent blocked on subprocesses — `python3`, `bash`, `git`, and `bun run src/index.ts` — not on CPU. Keeping it in the package script rather than the workflow means CI and a contributor's local run cannot drift apart.

That makes cross-file isolation load-bearing rather than incidental: a test file may not depend on another file's leftovers, and any test that writes outside its own `mktemp` directory is a latent flake. There are no exceptions — a test that needs a dirty tree builds a throwaway git repo for it.

**A test that runs a bundled script which inspects the repository must point that script at a throwaway repo, never this checkout.** Otherwise the developer's uncommitted work becomes test input. `tests/skills/ce-code-review-cross-model-routes.test.ts` ran the real review script against `git diff HEAD` in the checkout, so any uncommitted change over roughly 160KB crossed the script's large-diff threshold and failed 31 of its tests for reasons unrelated to the change under test. CI never saw it, because CI runs on a committed tree. The fixture pattern is `dirtyFixtureRepo()` in that file: `git init` a temp dir, two commits so `HEAD~1` resolves, then one staged edit.

**Do not pin a worker count.** `--parallel` with no value tracks the runner's core count, which is what you want. Raising it looks free — the suite is idle-bound, so more workers should pack better — but it was measured on CI and it is not: at `--parallel=8` on a 4-core runner, wall time improved ~9% (102s -> 93s) while total test-CPU inflated from 223s to 343s, and five tests crossed the 5000ms default per-test timeout. That converts runner busyness into red builds. A file that legitimately runs for seconds should call `setDefaultTimeout` instead, as the subprocess-heavy suites do.

A file never splits across workers, so an oversized file sets a floor. `tests/skills/ce-work-unit-workspace.test.ts` was 4,564 lines and 86 tests under one `describe`; it is now five `ce-work-unit-workspace-*.test.ts` files sharing `tests/skills/helpers/ce-work-workspace-harness.ts`. Measured with three `workflow_dispatch` runs per ref in the same window, the `Run tests` step went from a median of 88s (87/112/88) to 81s (83/80/81).

**Splitting bought ~8% of CI wall time and most of the run-to-run variance** — baseline spread 25s, split spread 3s. That second effect is the durable one: a 60s serial file makes wall time depend on which worker takes it, so a busy runner produced the 112s outlier. Locally the same split is much larger (160s -> 75s), because a developer machine has enough cores for the long file to be the whole critical path.

**Do not use `bun test --parallel=4` on a many-core laptop as a CI proxy.** It predicted a 26% CI win where the real number was 8%: capping bun to four workers still leaves the other cores absorbing the `git` / `python3` / `bash` subprocess load, so it does not behave like a 4-core runner. Dispatch the real workflow on both refs instead.

At 81s the suite is nearer CPU-bound on a 4-core runner than bounded by its slowest file, so further file splitting has small returns; `tests/ce-babysit-pr-snapshot.test.ts` (~36s) is the largest remaining file and was deliberately left intact.

**Size a test file by its measured time, not its line count.** A file is a wall-time problem when it approaches the suite's slowest-file ceiling. Roughly a thousand lines under one `describe` is a smell worth measuring, never a threshold to split at on sight — splitting a file that already runs well under the ceiling buys nothing. Get per-file times before deciding:

```bash
bun test --parallel --reporter=junit --reporter-outfile=/tmp/t.xml
```

The `ce-work-unit-workspace-*` shards run 10-23s each against that ~36s ceiling, so two of them sitting just over a thousand lines is fine and they are deliberately left whole. Put shared fixtures in `tests/skills/helpers/`.

### What belongs where

| Kind of check | Where it lives | Notes |
|---|---|---|
| Deterministic invariants (frontmatter, parity, path safety, script behavior, converter/writer output, greppable skill contracts) | `bun test` / `release:validate` / `plugin:validate` | Must pass in CI |
| Skill *prose behavior* (routing judgment, restraint, cross-model peer outcomes) | Fresh-agent eval (on-disk skill injected), local / PR evidence | Not a CI job; non-deterministic and needs a model |

That split is intentional. See `docs/solutions/skill-design/portable-agent-skill-authoring.md` ("Evaluate proportionally"). Mechanical checks belong in CI; behavioral agent evals are best-effort evidence, not an exhaustive CI matrix.

### Right-size new mechanical guards

When a review bot or human finds a greppable invariant that `bun test` missed:

1. Prefer **tightening an existing guard** over adding a new suite (e.g. widen a regex that already documents the rule).
2. Pin the **smallest falsifiable unit** — a token, enum, path, heading, or one fixture that would have failed on the regressing diff. Do not snapshot whole skill bodies or pin incidental wording.
3. If the failure needs an LLM to judge, keep it as a behavioral eval; do not fake it as a brittle string test.

### Maintaining `plugin:validate`

- `package.json` `plugin:validate` must validate **both** the marketplace catalog and the plugin manifest, with `--strict` on each. Paths: `.claude-plugin/marketplace.json` and `.claude-plugin/plugin.json`. Do **not** use `claude plugin validate .` — that resolves this repo as a marketplace only (because `.claude-plugin/marketplace.json` exists with `source: "./"`) and skips plugin-root checks.
- CI pins `@anthropic-ai/claude-code` for reproducible schema rules. Bump the pin deliberately when adopting new upstream rules; do not float `@latest`.
- Root `CLAUDE.md` must remain a **symlink** to `AGENTS.md` (path stays at the repo root where contributors expect it). Upstream warns on a regular-file plugin-root `CLAUDE.md` because it is not loaded as end-user project context; the symlink avoids that warning so `--strict` can stay on. Do not replace the symlink with a regular `@AGENTS.md` shim or relocate the file just for validators.
- If `--strict` starts failing again on `CLAUDE.md` after an upstream bump, check whether the symlink was materialized into a regular file (Windows/`core.symlinks=false` checkouts) or whether the validator star
gitextract_5_nw36uc/

├── .agents/
│   ├── plugins/
│   │   └── marketplace.json
│   └── skills/
│       └── ce-skill-work/
│           ├── SKILL.md
│           └── references/
│               ├── edit-skill.md
│               ├── evaluate.md
│               ├── new-skill.md
│               ├── respond-to-review.md
│               └── review-skill.md
├── .agy/
│   └── INSTALL.md
├── .claude/
│   └── commands/
│       └── triage-prs.md
├── .claude-plugin/
│   ├── CHANGELOG.md
│   ├── marketplace.json
│   └── plugin.json
├── .cline/
│   ├── INSTALL.md
│   └── scripts/
│       └── install-skills.sh
├── .codex-plugin/
│   └── plugin.json
├── .compound-engineering/
│   └── config.example.yaml
├── .cursor-plugin/
│   ├── CHANGELOG.md
│   ├── marketplace.json
│   └── plugin.json
├── .devin-plugin/
│   └── plugin.json
├── .gitattributes
├── .github/
│   ├── .release-please-manifest.json
│   ├── pull_request_template.md
│   ├── release-please-config.json
│   └── workflows/
│       ├── ci.yml
│       ├── release-pr.yml
│       └── release-preview.yml
├── .gitignore
├── .grok-plugin/
│   ├── marketplace.json
│   └── plugin.json
├── .kimi-plugin/
│   ├── marketplace.json
│   └── plugin.json
├── .omp-plugin/
│   └── marketplace.json
├── .opencode/
│   ├── INSTALL.md
│   └── plugins/
│       └── compound-engineering.js
├── .pi/
│   └── extensions/
│       └── compound-engineering.ts
├── AGENTS.md
├── CHANGELOG.md
├── CONCEPTS.md
├── CONTRIBUTING.md
├── GEMINI.md
├── LICENSE
├── PRIVACY.md
├── README.md
├── SECURITY.md
├── STRATEGY.md
├── assets/
│   └── demo/
│       ├── README.md
│       ├── compound-loop.tape
│       └── play.sh
├── docs/
│   ├── brainstorms/
│   │   ├── 2026-02-14-copilot-converter-target-brainstorm.md
│   │   ├── 2026-02-17-copilot-skill-naming-brainstorm.md
│   │   ├── 2026-03-14-ce-plan-rewrite-requirements.md
│   │   ├── 2026-03-15-ce-ideate-skill-requirements.md
│   │   ├── 2026-03-16-issue-grounded-ideation-requirements.md
│   │   ├── 2026-03-17-release-automation-requirements.md
│   │   ├── 2026-03-18-auto-memory-integration-requirements.md
│   │   ├── 2026-03-22-frontend-design-skill-improvement.md
│   │   ├── 2026-03-23-plan-review-personas-requirements.md
│   │   ├── 2026-03-25-config-storage-redesign-requirements.md
│   │   ├── 2026-03-25-vonboarding-skill-requirements.md
│   │   ├── 2026-03-26-merge-deepen-into-plan-requirements.md
│   │   ├── 2026-03-27-ce-skill-prefix-rename-requirements.md
│   │   ├── 2026-03-28-ce-review-headless-mode-requirements.md
│   │   ├── 2026-03-29-iterative-optimization-loop-requirements.md
│   │   ├── 2026-03-29-testing-addressed-gate-requirements.md
│   │   ├── 2026-03-30-cli-readiness-review-persona-requirements.md
│   │   ├── 2026-03-31-codex-delegation-requirements.md
│   │   ├── 2026-04-01-cross-invocation-cluster-analysis-requirements.md
│   │   ├── 2026-04-02-slack-analyst-agent-requirements.md
│   │   ├── 2026-04-05-universal-planning-requirements.md
│   │   ├── 2026-04-17-ce-release-notes-skill-requirements.md
│   │   ├── 2026-04-17-ce-review-interactive-judgment-requirements.md
│   │   ├── 2026-04-18-ce-doc-review-autofix-and-interaction-requirements.md
│   │   ├── 2026-04-22-demo-reel-local-save-requirements.md
│   │   ├── 2026-04-24-surface-scope-earlier-requirements.md
│   │   ├── 2026-05-19-vscode-copilot-agent-tool-access-requirements.md
│   │   ├── 2026-06-04-ce-plan-approach-altitude-requirements.md
│   │   └── 2026-06-19-agentless-plugin-surface-reduction-requirements.md
│   ├── development.md
│   ├── grok-marketplace-submission.md
│   ├── guides/
│   │   ├── README.md
│   │   ├── ce-babysit-pr.md
│   │   ├── ce-brainstorm.md
│   │   ├── ce-code-review.md
│   │   ├── ce-commit-push-pr.md
│   │   ├── ce-commit.md
│   │   ├── ce-compound-refresh.md
│   │   ├── ce-compound.md
│   │   ├── ce-debug.md
│   │   ├── ce-doc-review.md
│   │   ├── ce-dogfood.md
│   │   ├── ce-explain.md
│   │   ├── ce-handoff.md
│   │   ├── ce-ideate.md
│   │   ├── ce-optimize.md
│   │   ├── ce-plan.md
│   │   ├── ce-polish.md
│   │   ├── ce-pov.md
│   │   ├── ce-product-pulse.md
│   │   ├── ce-promote.md
│   │   ├── ce-proof.md
│   │   ├── ce-prototype.md
│   │   ├── ce-resolve-pr-feedback.md
│   │   ├── ce-retune.md
│   │   ├── ce-riffrec-feedback-analysis.md
│   │   ├── ce-setup.md
│   │   ├── ce-simplify-code.md
│   │   ├── ce-strategy.md
│   │   ├── ce-sweep.md
│   │   ├── ce-test-browser.md
│   │   ├── ce-test-xcode.md
│   │   ├── ce-work.md
│   │   ├── ce-worktree.md
│   │   ├── configuration.md
│   │   └── lfg.md
│   ├── ideation/
│   │   └── 2026-06-28-ce-pov-skill-proposal.html
│   ├── install/
│   │   └── upgrading.md
│   ├── plans/
│   │   ├── 2026-02-08-feat-convert-local-md-settings-for-opencode-codex-plan.md
│   │   ├── 2026-02-08-feat-pr-triage-and-merge-plan.md
│   │   ├── 2026-02-08-feat-simplify-plugin-settings-plan.md
│   │   ├── 2026-02-08-refactor-reduce-plugin-context-token-usage-plan.md
│   │   ├── 2026-02-09-refactor-dspy-ruby-skill-update-plan.md
│   │   ├── 2026-02-12-feat-add-cursor-cli-target-provider-plan.md
│   │   ├── 2026-02-14-feat-add-copilot-converter-target-plan.md
│   │   ├── 2026-02-14-feat-add-gemini-cli-target-provider-plan.md
│   │   ├── 2026-02-14-feat-auto-detect-install-and-gemini-sync-plan.md
│   │   ├── 2026-02-25-feat-windsurf-global-scope-support-plan.md
│   │   ├── 2026-03-01-feat-ce-command-aliases-backwards-compatible-deprecation-plan.md
│   │   ├── 2026-03-01-fix-setup-skill-non-claude-llm-fallback-plan.md
│   │   ├── 2026-03-03-feat-sync-claude-mcp-all-supported-providers-plan.md
│   │   ├── 2026-03-15-001-feat-ce-ideate-skill-plan.md
│   │   ├── 2026-03-16-001-feat-issue-grounded-ideation-plan.md
│   │   ├── 2026-03-17-001-feat-release-automation-migration-beta-plan.md
│   │   ├── 2026-03-18-001-feat-auto-memory-integration-beta-plan.md
│   │   ├── 2026-03-22-001-feat-frontend-design-skill-rewrite-beta-plan.md
│   │   ├── 2026-03-23-001-feat-ce-review-beta-pipeline-mode-beta-plan.md
│   │   ├── 2026-03-23-001-feat-plan-review-personas-beta-plan.md
│   │   ├── 2026-03-23-001-feat-promote-plan-beta-skills-to-stable-plan.md
│   │   ├── 2026-03-25-001-feat-onboarding-skill-plan.md
│   │   ├── 2026-03-25-002-refactor-config-storage-redesign-plan.md
│   │   ├── 2026-03-26-001-feat-adversarial-review-agents-plan.md
│   │   ├── 2026-03-26-001-refactor-merge-deepen-into-plan.md
│   │   ├── 2026-03-27-001-refactor-ce-skill-prefix-rename-plan.md
│   │   ├── 2026-03-28-001-feat-ce-review-headless-mode-plan.md
│   │   ├── 2026-03-29-001-feat-brainstorm-visual-aids-plan.md
│   │   ├── 2026-03-29-001-feat-iterative-optimization-loop-skill-beta-plan.md
│   │   ├── 2026-03-29-001-feat-testing-addressed-gate-plan.md
│   │   ├── 2026-03-29-002-feat-plan-visual-aids-plan.md
│   │   ├── 2026-03-29-002-feat-pr-feedback-clustering-plan.md
│   │   ├── 2026-03-29-003-feat-pr-description-visual-aids-plan.md
│   │   ├── 2026-03-30-001-feat-cli-readiness-review-persona-plan.md
│   │   ├── 2026-03-31-001-feat-codex-delegation-plan.md
│   │   ├── 2026-04-01-001-feat-cross-invocation-cluster-analysis-plan.md
│   │   ├── 2026-04-02-001-feat-slack-analyst-agent-plan.md
│   │   ├── 2026-04-05-001-feat-universal-planning-plan.md
│   │   ├── 2026-04-09-001-feat-ce-work-token-extraction-plan.md
│   │   ├── 2026-04-15-001-feat-ce-polish-skill-plan.md
│   │   ├── 2026-04-16-001-fix-ce-polish-beta-detection-gaps-plan.md
│   │   ├── 2026-04-17-001-feat-ce-ideate-mode-aware-v2-plan.md
│   │   ├── 2026-04-17-001-feat-ce-release-notes-skill-plan.md
│   │   ├── 2026-04-17-002-feat-ce-review-interactive-judgment-plan.md
│   │   ├── 2026-04-18-001-feat-ce-doc-review-autofix-and-interaction-overhaul-plan.md
│   │   ├── 2026-04-18-001-refactor-native-install-cleanup-plan.md
│   │   ├── 2026-04-20-001-feat-codex-native-plugin-manifests-plan.md
│   │   ├── 2026-04-20-001-fix-ce-compound-yaml-safety-plan.md
│   │   ├── 2026-04-21-001-feat-ce-plan-traceability-loop-plan.md
│   │   ├── 2026-04-21-001-refactor-ce-doc-review-anchored-confidence-scoring-plan.md
│   │   ├── 2026-04-21-002-refactor-ce-code-review-precision-and-validation-plan.md
│   │   ├── 2026-04-22-001-feat-demo-reel-local-save-plan.md
│   │   ├── 2026-04-25-001-fix-ce-code-review-lfg-defer-bias-plan.md
│   │   ├── 2026-04-26-feat-surface-scope-earlier-plan.md
│   │   ├── 2026-05-08-001-fix-ce-sessions-orchestration-refactor-plan.md
│   │   ├── 2026-05-11-001-feat-output-html-mode-plan.md
│   │   ├── 2026-06-02-001-feat-ce-code-review-safe-autofix-plan.md
│   │   ├── 2026-06-04-001-feat-ce-plan-approach-altitude-plan.md
│   │   ├── 2026-06-18-001-refactor-unified-plan-doc-artifact-plan.md
│   │   ├── 2026-06-22-001-feat-antigravity-target-remove-gemini-plan.md
│   │   ├── 2026-06-26-001-chore-remove-ce-work-beta-plan.html
│   │   ├── 2026-06-28-001-feat-ce-pov-skill-plan.md
│   │   ├── 2026-06-29-001-feat-shared-repo-grounding-cache-plan.md
│   │   ├── 2026-07-02-001-feat-ce-sweep-skill-plan.md
│   │   ├── 2026-07-02-002-feat-ce-explain-skill-plan.md
│   │   ├── 2026-07-05-001-feat-devin-cli-native-plugin-support-plan.md
│   │   ├── 2026-07-07-001-feat-pr-concept-teaching-plan.md
│   │   ├── 2026-07-08-001-fix-model-alias-map-latest-generations-plan.md
│   │   ├── 2026-07-09-001-feat-grok-plugin-support-plan.md
│   │   ├── 2026-07-09-001-fix-ce-test-browser-native-driver-plan.md
│   │   ├── 2026-07-09-002-feat-claude-code-fable-elevation-plan.md
│   │   ├── 2026-07-09-003-feat-doc-review-cross-model-plan.md
│   │   ├── 2026-07-11-001-feat-babysit-self-initiating-loop-plan.md
│   │   ├── 2026-07-13-001-feat-code-review-line-provenance-plan.md
│   │   ├── 2026-07-13-001-fix-ce-proof-v3-owner-lifecycle-plan.md
│   │   ├── 2026-07-13-002-feat-code-review-cross-model-provider-port-plan.md
│   │   ├── 2026-07-14-001-feat-session-settled-decisions-plan.md
│   │   ├── 2026-07-14-001-fix-detached-peer-job-lifecycle-plan.md
│   │   ├── 2026-07-14-002-feat-ce-pov-cross-model-panel-plan.md
│   │   ├── 2026-07-15-001-docs-readme-install-first-plan.md
│   │   ├── 2026-07-15-002-feat-ce-work-cross-model-execution-plan.md
│   │   ├── 2026-07-16-001-feat-ce-handoff-session-continuity-plan.md
│   │   ├── 2026-07-17-001-eval-cross-model-peer-model-config.md
│   │   ├── 2026-07-18-001-fix-babysit-moving-base-plan.md
│   │   ├── 2026-07-18-adversarial-peer-benchmark-report.md
│   │   ├── 2026-07-20-001-feat-cross-harness-model-elevation-plan.md
│   │   ├── 2026-07-20-001-feat-cross-tracker-issue-ideation-plan.md
│   │   ├── 2026-07-21-001-fix-babysit-budget-active-watch-time-plan.md
│   │   ├── 2026-07-21-001-fix-ce-pov-oracle-panel-prompting-plan.md
│   │   ├── 2026-07-22-001-feat-configurable-docs-root-plan.md
│   │   ├── 2026-07-23-001-feat-peer-job-runner-windows-native-plan.md
│   │   ├── 2026-07-24-001-test-codex-content-transform-coverage-plan.md
│   │   ├── 2026-07-31-001-fix-mode-non-interactive-rename-plan.md
│   │   ├── 2026-07-31-002-fix-prefer-git-bash-over-wsl-plan.md
│   │   ├── 2026-07-31-003-fix-portable-windows-path-unit-tests-plan.md
│   │   ├── 2026-07-31-004-fix-preserve-explicit-windows-bash-plan.md
│   │   ├── 2026-08-05-001-feat-babysit-stack-posture-ship-eval-scenarios.md
│   │   ├── 2026-08-05-001-feat-babysit-stack-posture-ship-plan.md
│   │   ├── 2026-08-06-001-fix-agent-plugins-manifest-conformance-plan.md
│   │   ├── 2026-08-12-001-fix-product-contract-section-catalog-plan.md
│   │   ├── 2026-08-12-002-fix-repo-config-cascade-plan.md
│   │   ├── 2026-08-12-003-feat-ce-prototype-skill-plan.md
│   │   ├── 2026-08-12-003-fix-doc-review-decision-clustering-plan.md
│   │   ├── 2026-08-13-0952-fix-prototype-medium-and-modality-plan.md
│   │   ├── 2026-08-13-2253-feat-prototype-craft-floor-and-durable-storage-plan.md
│   │   ├── 2026-08-15-1506-fix-refresh-instruction-layer-conflict-plan.md
│   │   ├── 2026-08-15-2303-fix-cross-model-verify-warm-checkout-plan.md
│   │   ├── 2026-08-21-0147-refactor-phase-loaded-skill-kernels-plan.md
│   │   ├── 2026-08-21-phase-loaded-skill-kernels-eval-report.md
│   │   ├── 2026-08-22-0934-fix-right-size-skill-ceremony-plan.md
│   │   ├── 2026-08-22-2100-fix-product-lens-activation-condition-plan.md
│   │   ├── 2026-08-22-right-size-skill-ceremony-eval-report.md
│   │   ├── 2026-08-28-0211-fix-doc-claims-absolute-paths-plan.md
│   │   ├── babysit-non-convergence-detection.md
│   │   ├── ce-code-review-reviewer-consolidation-and-standards-file.md
│   │   ├── feature_opencode-commands-as-md-and-config-merge.md
│   │   └── pipeline-mode-contract-and-lfg-babysit-consolidation.md
│   ├── solutions/
│   │   ├── adding-converter-target-providers.md
│   │   ├── agent-friendly-cli-principles.md
│   │   ├── architecture-patterns/
│   │   │   ├── host-native-browser-driver-selection.md
│   │   │   └── posix-process-supervision-on-native-windows.md
│   │   ├── best-practices/
│   │   │   ├── cache-invalidation-input-set-completeness.md
│   │   │   ├── ce-pipeline-end-to-end-learnings.md
│   │   │   ├── codex-delegation-best-practices.md
│   │   │   ├── conditional-visual-aids-in-generated-documents.md
│   │   │   ├── predictable-tmp-cache-ownership-check.md
│   │   │   ├── prefer-python-over-bash-for-pipeline-scripts.md
│   │   │   └── preserve-user-content-across-all-destructive-paths.md
│   │   ├── codex-skill-prompt-entrypoints.md
│   │   ├── conventions/
│   │   │   ├── antigravity-target-empirical-format-verification.md
│   │   │   ├── resolve-python-interpreter-not-python3.md
│   │   │   ├── shell-primitives-must-be-executed-not-shape-checked.md
│   │   │   └── verify-externally-attributed-constraints-at-the-source.md
│   │   ├── developer-experience/
│   │   │   ├── branch-based-plugin-install-and-testing.md
│   │   │   ├── codex-local-skill-development-workflow.md
│   │   │   ├── idle-bound-test-suite-parallel-workers.md
│   │   │   └── windows-crlf-checkout-breaks-newline-anchored-tests.md
│   │   ├── integration-issues/
│   │   │   ├── grok-camelcase-structuredoutput-and-nonfinal-peer-position.md
│   │   │   └── portable-structured-output-schemas-across-model-clis.md
│   │   ├── integrations/
│   │   │   ├── agent-plugins-schema-is-a-host-routing-switch.md
│   │   │   ├── codex-content-transform-greedy-regex.md
│   │   │   ├── colon-namespaced-names-break-windows-paths.md
│   │   │   ├── cross-platform-model-field-normalization.md
│   │   │   ├── kimi-native-plugin-manifest-support.md
│   │   │   ├── native-plugin-install-strategy.md
│   │   │   └── opencode-temperature-rejected-by-sonnet5-opus48.md
│   │   ├── plugin-versioning-requirements.md
│   │   ├── skill-design/
│   │   │   ├── anti-poll-scope-and-async-subagent-dispatch.md
│   │   │   ├── arguments-token-is-claude-only-in-skill-bodies.md
│   │   │   ├── authored-eval-corpora-contain-the-happy-path.md
│   │   │   ├── authoring-auto-invoke-standing-instructions.md
│   │   │   ├── benchmark-review-peer-model-and-reasoning-tier.md
│   │   │   ├── beta-promotion-cleanup-registry-wiring.md
│   │   │   ├── beta-promotion-orchestration-contract.md
│   │   │   ├── beta-skills-framework.md
│   │   │   ├── bound-contradiction-checks-to-named-guidance.md
│   │   │   ├── bundled-script-path-resolution-across-harnesses.md
│   │   │   ├── ce-doc-review-calibration-patterns.md
│   │   │   ├── ce-prefix-required-for-skills-and-agents.md
│   │   │   ├── cli-output-buffering-for-progress-detection.md
│   │   │   ├── compound-refresh-skill-improvements.md
│   │   │   ├── confidence-anchored-scoring.md
│   │   │   ├── context-absent-skill-handoff-needs-pinned-invocation.md
│   │   │   ├── cross-harness-cross-model-tool-invocation.md
│   │   │   ├── cross-skill-shared-cache-primitive.md
│   │   │   ├── dedup-and-obligation-eval-results.md
│   │   │   ├── detached-job-lifecycle-for-delegated-work.md
│   │   │   ├── discoverability-check-for-documented-solutions.md
│   │   │   ├── dispatch-script-failure-degrade-outcome-not-boundary.md
│   │   │   ├── fake-cli-harness-for-skill-judgment-evals.md
│   │   │   ├── frontier-model-skill-modernization-methodology.md
│   │   │   ├── frozen-finding-sets-cannot-see-emission-changes.md
│   │   │   ├── git-workflow-skills-need-explicit-state-machines.md
│   │   │   ├── harness-agent-gate-workaround.md
│   │   │   ├── multi-surface-output-needs-a-shared-rendering-floor.md
│   │   │   ├── no-load-time-pre-resolution-for-fallible-context.md
│   │   │   ├── paired-old-vs-new-injection-skill-evals.md
│   │   │   ├── pass-paths-not-content-to-subagents.md
│   │   │   ├── portable-agent-skill-authoring.md
│   │   │   ├── post-menu-routing-belongs-inline.md
│   │   │   ├── prose-cannot-validate-caller-control-data-byte-for-byte.md
│   │   │   ├── prose-review-is-unbounded-answer-with-the-condition.md
│   │   │   ├── quiet-interval-floors-for-streaming-peer-routes.md
│   │   │   ├── requested-vs-verified-model-identity.md
│   │   │   ├── research-agent-pipeline-separation.md
│   │   │   ├── safe-auto-rubric-calibration.md
│   │   │   ├── sandbox-workers-must-not-write-linked-worktree-git-index.md
│   │   │   ├── script-first-skill-architecture.md
│   │   │   ├── size-driven-skill-restructure.md
│   │   │   ├── skill-gates-state-conditions-not-prescribed-git-commands.md
│   │   │   ├── strong-models-mask-defensive-skill-fixes.md
│   │   │   ├── subordinate-the-failing-shape-to-the-condition.md
│   │   │   ├── validate-skill-prose-behavior-with-cross-host-evals.md
│   │   │   └── watch-loops-need-a-blocked-external-terminal-state.md
│   │   └── workflow/
│   │       ├── manual-release-please-github-releases.md
│   │       ├── release-please-version-drift-recovery.md
│   │       ├── reviewing-byte-duplicated-shared-assets.md
│   │       └── stale-local-base-contamination.md
│   └── specs/
│       ├── agent-plugins.md
│       ├── antigravity.md
│       ├── cline.md
│       ├── copilot.md
│       ├── cursor.md
│       ├── devin.md
│       ├── kimi.md
│       ├── kiro.md
│       ├── omp.md
│       ├── opencode.md
│       └── product-anchor-docs-proposal.md
├── package.json
├── plugin.json
├── scripts/
│   ├── codex-dev.ts
│   └── release/
│       ├── preview.ts
│       ├── sync-metadata.ts
│       └── validate.ts
├── skills/
│   ├── ce-babysit-pr/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── branch-currency.md
│   │   │   ├── envelope.md
│   │   │   ├── pipeline.md
│   │   │   ├── report.md
│   │   │   ├── settle.md
│   │   │   ├── setup.md
│   │   │   ├── stack-commands.md
│   │   │   ├── stack.md
│   │   │   ├── tick.md
│   │   │   └── watch-loop.md
│   │   └── scripts/
│   │       └── pr-snapshot
│   ├── ce-brainstorm/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── agents/
│   │   │   │   └── slack-researcher.md
│   │   │   ├── approaches.md
│   │   │   ├── blindspot-pass.md
│   │   │   ├── brainstorm-sections.md
│   │   │   ├── dialogue.md
│   │   │   ├── handoff.md
│   │   │   ├── html-rendering.md
│   │   │   ├── interaction-rules.md
│   │   │   ├── markdown-rendering.md
│   │   │   ├── model-tiers.md
│   │   │   ├── output-mode.md
│   │   │   ├── phase-0.md
│   │   │   ├── plan-write.md
│   │   │   ├── product-pressure-test.md
│   │   │   ├── reasoning-elevation.md
│   │   │   ├── settled-decisions.md
│   │   │   ├── synthesis-summary.md
│   │   │   ├── universal-brainstorming.md
│   │   │   ├── verdict-routing.md
│   │   │   └── visual-probes.md
│   │   └── scripts/
│   │       ├── elevation-dispatch.sh
│   │       ├── light-webserver.js
│   │       └── peer-job-runner.py
│   ├── ce-code-review/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── action-class-rubric.md
│   │   │   ├── cross-model-eval.md
│   │   │   ├── cross-model-review.md
│   │   │   ├── diff-scope.md
│   │   │   ├── dispatch-reviewers.md
│   │   │   ├── findings-schema.json
│   │   │   ├── finish-review.md
│   │   │   ├── intent-and-plan.md
│   │   │   ├── modes-and-output.md
│   │   │   ├── persona-catalog.md
│   │   │   ├── personas/
│   │   │   │   ├── adversarial-reviewer.md
│   │   │   │   ├── agent-native-reviewer.md
│   │   │   │   ├── api-contract-reviewer.md
│   │   │   │   ├── correctness-reviewer.md
│   │   │   │   ├── data-migration-reviewer.md
│   │   │   │   ├── deployment-verification-agent.md
│   │   │   │   ├── julik-frontend-races-reviewer.md
│   │   │   │   ├── learnings-researcher.md
│   │   │   │   ├── maintainability-reviewer.md
│   │   │   │   ├── performance-reviewer.md
│   │   │   │   ├── previous-comments-reviewer.md
│   │   │   │   ├── project-standards-reviewer.md
│   │   │   │   ├── reliability-reviewer.md
│   │   │   │   ├── security-reviewer.md
│   │   │   │   ├── swift-ios-reviewer.md
│   │   │   │   └── testing-reviewer.md
│   │   │   ├── review-output-template.md
│   │   │   ├── scope.md
│   │   │   ├── select-and-route.md
│   │   │   ├── subagent-template.md
│   │   │   ├── validator-batch-template.md
│   │   │   └── validator-template.md
│   │   └── scripts/
│   │       ├── cross-model-adversarial-review.sh
│   │       ├── findings-mechanics.py
│   │       ├── peer-job-runner.py
│   │       └── review-scope.py
│   ├── ce-commit/
│   │   └── SKILL.md
│   ├── ce-commit-push-pr/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── apply-and-handoff.md
│   │       ├── branch-creation.md
│   │       ├── commit-and-push.md
│   │       ├── compose.md
│   │       ├── context.md
│   │       ├── gh-stack-cli.md
│   │       ├── pr-description-writing.md
│   │       └── stack-submit.md
│   ├── ce-compound/
│   │   ├── SKILL.md
│   │   ├── assets/
│   │   │   └── resolution-template.md
│   │   ├── references/
│   │   │   ├── agents/
│   │   │   │   ├── best-practices-researcher.md
│   │   │   │   ├── data-integrity-guardian.md
│   │   │   │   ├── framework-docs-researcher.md
│   │   │   │   ├── pattern-recognition-specialist.md
│   │   │   │   ├── performance-oracle.md
│   │   │   │   ├── security-sentinel.md
│   │   │   │   └── session-historian.md
│   │   │   ├── assembly.md
│   │   │   ├── concepts-vocabulary.md
│   │   │   ├── enhancement.md
│   │   │   ├── grounding-validation.md
│   │   │   ├── lightweight.md
│   │   │   ├── modes.md
│   │   │   ├── refresh-and-discoverability.md
│   │   │   ├── report.md
│   │   │   ├── research.md
│   │   │   ├── schema.yaml
│   │   │   ├── session-history.md
│   │   │   └── yaml-schema.md
│   │   └── scripts/
│   │       ├── session-history/
│   │       │   ├── discover-sessions.sh
│   │       │   ├── extract-errors.py
│   │       │   ├── extract-metadata.py
│   │       │   └── extract-skeleton.py
│   │       ├── validate-doc-claims.py
│   │       └── validate-frontmatter.py
│   ├── ce-compound-refresh/
│   │   ├── SKILL.md
│   │   ├── assets/
│   │   │   └── resolution-template.md
│   │   ├── references/
│   │   │   ├── classify.md
│   │   │   ├── commit.md
│   │   │   ├── concepts-vocabulary.md
│   │   │   ├── discoverability.md
│   │   │   ├── investigate.md
│   │   │   ├── modes.md
│   │   │   ├── per-action-flows.md
│   │   │   ├── report.md
│   │   │   ├── schema.yaml
│   │   │   ├── scope.md
│   │   │   └── yaml-schema.md
│   │   └── scripts/
│   │       ├── validate-doc-claims.py
│   │       └── validate-frontmatter.py
│   ├── ce-debug/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── anti-patterns.md
│   │       ├── defense-in-depth.md
│   │       ├── fix.md
│   │       ├── investigate.md
│   │       ├── investigation-techniques.md
│   │       ├── pipeline-mode.md
│   │       └── post-fix-handoff.md
│   ├── ce-doc-review/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── bulk-preview.md
│   │   │   ├── cross-model-eval.md
│   │   │   ├── cross-model-review.md
│   │   │   ├── decision-primer.md
│   │   │   ├── dispatch.md
│   │   │   ├── document-intake.md
│   │   │   ├── findings-schema.json
│   │   │   ├── modes.md
│   │   │   ├── open-questions-defer.md
│   │   │   ├── persona-selection.md
│   │   │   ├── personas/
│   │   │   │   ├── adversarial-document-reviewer.md
│   │   │   │   ├── coherence-reviewer.md
│   │   │   │   ├── design-lens-reviewer.md
│   │   │   │   ├── feasibility-reviewer.md
│   │   │   │   ├── product-lens-reviewer.md
│   │   │   │   ├── scope-guardian-reviewer.md
│   │   │   │   ├── security-lens-reviewer.md
│   │   │   │   └── whole-doc-reviewer.md
│   │   │   ├── rendering-floor.md
│   │   │   ├── review-output-template.md
│   │   │   ├── subagent-template.md
│   │   │   ├── synthesis-and-presentation.md
│   │   │   └── walkthrough.md
│   │   └── scripts/
│   │       ├── cross-model-doc-review.sh
│   │       └── peer-job-runner.py
│   ├── ce-dogfood/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── dogfood-report-template.md
│   │       ├── phases.md
│   │       └── test-matrix-taxonomy.md
│   ├── ce-explain/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── agents/
│   │       │   └── work-recap-scout.md
│   │       ├── check-in.md
│   │       ├── destinations.md
│   │       ├── explainer-html.md
│   │       ├── explainer-markdown.md
│   │       ├── intake.md
│   │       └── orchestration.md
│   ├── ce-handoff/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── create.md
│   │       └── resume.md
│   ├── ce-ideate/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── agents/
│   │       │   ├── issue-intelligence-analyst.md
│   │       │   ├── learnings-researcher.md
│   │       │   ├── slack-researcher.md
│   │       │   └── web-researcher.md
│   │       ├── decomposition.md
│   │       ├── divergent-ideation.md
│   │       ├── grounding.md
│   │       ├── html-rendering.md
│   │       ├── ideation-sections.md
│   │       ├── issue-intelligence.md
│   │       ├── markdown-rendering.md
│   │       ├── output-mode.md
│   │       ├── post-ideation-workflow.md
│   │       ├── scope-gates.md
│   │       ├── universal-ideation.md
│   │       ├── user-research-artifacts.md
│   │       └── web-research-cache.md
│   ├── ce-optimize/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── agents/
│   │   │   │   ├── learnings-researcher.md
│   │   │   │   └── repo-research-analyst.md
│   │   │   ├── example-expensive-benchmark-spec.yaml
│   │   │   ├── example-hard-spec.yaml
│   │   │   ├── example-judge-spec.yaml
│   │   │   ├── experiment-log-schema.yaml
│   │   │   ├── experiment-prompt-template.md
│   │   │   ├── judge-prompt-template.md
│   │   │   ├── loop.md
│   │   │   ├── measurement.md
│   │   │   ├── optimize-spec-schema.yaml
│   │   │   ├── persistence.md
│   │   │   ├── spec.md
│   │   │   ├── usage-guide.md
│   │   │   └── wrap-up.md
│   │   └── scripts/
│   │       ├── decide.mjs
│   │       ├── experiment-worktree.sh
│   │       ├── measure.sh
│   │       └── parallel-probe.sh
│   ├── ce-plan/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── agents/
│   │   │   │   ├── agent-native-planning-strategist.md
│   │   │   │   ├── architecture-strategist.md
│   │   │   │   ├── best-practices-researcher.md
│   │   │   │   ├── data-integrity-guardian.md
│   │   │   │   ├── data-migration-reviewer.md
│   │   │   │   ├── deployment-verification-agent.md
│   │   │   │   ├── framework-docs-researcher.md
│   │   │   │   ├── git-history-analyzer.md
│   │   │   │   ├── learnings-researcher.md
│   │   │   │   ├── pattern-recognition-specialist.md
│   │   │   │   ├── performance-oracle.md
│   │   │   │   ├── repo-research-analyst.md
│   │   │   │   ├── security-sentinel.md
│   │   │   │   ├── slack-researcher.md
│   │   │   │   ├── spec-flow-analyzer.md
│   │   │   │   └── web-researcher.md
│   │   │   ├── approach-altitude.md
│   │   │   ├── deepening-workflow.md
│   │   │   ├── final-review.md
│   │   │   ├── html-rendering.md
│   │   │   ├── intake.md
│   │   │   ├── markdown-rendering.md
│   │   │   ├── output-contracts.md
│   │   │   ├── output-mode.md
│   │   │   ├── plan-handoff.md
│   │   │   ├── plan-sections.md
│   │   │   ├── reasoning-elevation.md
│   │   │   ├── research.md
│   │   │   ├── resume.md
│   │   │   ├── settled-decisions.md
│   │   │   ├── structure.md
│   │   │   ├── synthesis-summary.md
│   │   │   └── universal-planning.md
│   │   └── scripts/
│   │       ├── elevation-dispatch.sh
│   │       └── peer-job-runner.py
│   ├── ce-polish/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── dev-server-astro.md
│   │   │   ├── dev-server-detection.md
│   │   │   ├── dev-server-next.md
│   │   │   ├── dev-server-nuxt.md
│   │   │   ├── dev-server-procfile.md
│   │   │   ├── dev-server-rails.md
│   │   │   ├── dev-server-remix.md
│   │   │   ├── dev-server-sveltekit.md
│   │   │   ├── dev-server-vite.md
│   │   │   ├── launch-json-schema.md
│   │   │   └── run.md
│   │   └── scripts/
│   │       ├── detect-project-type.sh
│   │       ├── read-launch-json.sh
│   │       ├── resolve-package-manager.sh
│   │       └── resolve-port.sh
│   ├── ce-pov/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── agents/
│   │   │   │   ├── external-evidence-researcher.md
│   │   │   │   ├── pov-peer.md
│   │   │   │   ├── precedent-activity-scout.md
│   │   │   │   └── project-grounding-scout.md
│   │   │   ├── boundaries.md
│   │   │   ├── cross-model-panel.md
│   │   │   ├── followup.md
│   │   │   ├── grounding.md
│   │   │   ├── intake.md
│   │   │   ├── invocation.md
│   │   │   ├── method.md
│   │   │   ├── pov-schema.json
│   │   │   └── report.md
│   │   └── scripts/
│   │       ├── cross-model-pov.sh
│   │       └── peer-job-runner.py
│   ├── ce-product-pulse/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── config.md
│   │       ├── interview.md
│   │       ├── report-template.md
│   │       ├── run.md
│   │       └── setup.md
│   ├── ce-promote/
│   │   ├── SKILL.md
│   │   └── references/
│   │       └── spiral-cli.md
│   ├── ce-proof/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── api.md
│   │       └── workflows.md
│   ├── ce-prototype/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── build.md
│   │   │   ├── craft-floor.md
│   │   │   ├── preview.md
│   │   │   ├── scoping.md
│   │   │   └── write-back.md
│   │   └── scripts/
│   │       └── light-webserver.js
│   ├── ce-resolve-pr-feedback/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── agents/
│   │   │   │   └── pr-comment-resolver.md
│   │   │   ├── evaluation-rubric.md
│   │   │   ├── full-mode.md
│   │   │   ├── pipeline-mode.md
│   │   │   └── targeted-mode.md
│   │   └── scripts/
│   │       ├── get-pr-comments
│   │       ├── get-thread-for-comment
│   │       ├── reply-to-pr-thread
│   │       └── resolve-pr-thread
│   ├── ce-retune/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── baseline-mining.md
│   │       ├── corpus-audit.md
│   │       ├── cut-passes.md
│   │       ├── halt-taxonomy.md
│   │       ├── noise-floor.md
│   │       └── workflow-shapes.md
│   ├── ce-riffrec-feedback-analysis/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── analyzer.md
│   │   │   ├── compound-engineering-feedback-format.md
│   │   │   ├── extensive-analysis.md
│   │   │   ├── install-riffrec.md
│   │   │   └── quick-bug-report.md
│   │   └── scripts/
│   │       └── analyze_riffrec_zip.py
│   ├── ce-setup/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── config-template.yaml
│   │   │   ├── legacy-codex-tool-map.md
│   │   │   └── repo-fixes.md
│   │   └── scripts/
│   │       └── check-health
│   ├── ce-simplify-code/
│   │   ├── SKILL.md
│   │   └── references/
│   │       └── personas/
│   │           ├── code-quality-reviewer.md
│   │           ├── code-reuse-reviewer.md
│   │           └── efficiency-reviewer.md
│   ├── ce-strategy/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── grounding.md
│   │       ├── interview.md
│   │       ├── strategy-template.md
│   │       └── update-run.md
│   ├── ce-sweep/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── agents/
│   │   │   │   └── media-analyzer.md
│   │   │   ├── interview.md
│   │   │   ├── model-tiers.md
│   │   │   ├── plan-template.md
│   │   │   ├── run.md
│   │   │   ├── sources/
│   │   │   │   ├── email.md
│   │   │   │   ├── github-issues.md
│   │   │   │   └── slack.md
│   │   │   ├── state-schema.md
│   │   │   └── subagent-template.md
│   │   └── scripts/
│   │       ├── analyze_riffrec_zip.py
│   │       └── sweep-state.py
│   ├── ce-test-browser/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── agent-browser-driver.md
│   │   │   ├── pipeline-orchestration.md
│   │   │   └── route-and-report.md
│   │   └── scripts/
│   │       └── resolve-port.sh
│   ├── ce-test-xcode/
│   │   ├── SKILL.md
│   │   └── references/
│   │       ├── setup-and-build.md
│   │       └── test-and-report.md
│   ├── ce-work/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   │   ├── agents/
│   │   │   │   ├── figma-design-sync.md
│   │   │   │   └── implementation-worker.md
│   │   │   ├── cross-model-execution.md
│   │   │   ├── cross-model-work-eval.md
│   │   │   ├── execution-engines.md
│   │   │   ├── execution-strategy.md
│   │   │   ├── implementation-loop.md
│   │   │   ├── implementation-result-schema.json
│   │   │   ├── input-triage.md
│   │   │   ├── non-code-execution.md
│   │   │   ├── return-to-caller.md
│   │   │   ├── review-findings-followup.md
│   │   │   ├── shipping-workflow.md
│   │   │   ├── tracker-defer.md
│   │   │   ├── work-intake.md
│   │   │   └── workspace-setup.md
│   │   └── scripts/
│   │       ├── cross-model-work.sh
│   │       ├── peer-job-runner.py
│   │       ├── unit-workspace.py
│   │       ├── unit_workspace_ignored.py
│   │       ├── unit_workspace_integration.py
│   │       ├── unit_workspace_jobs.py
│   │       ├── unit_workspace_lifecycle.py
│   │       ├── unit_workspace_state.py
│   │       └── unit_workspace_transaction.py
│   ├── ce-worktree/
│   │   └── SKILL.md
│   └── lfg/
│       ├── SKILL.md
│       └── references/
│           ├── next-work-handoff.md
│           ├── plan-brief.md
│           ├── review-followup.md
│           ├── shipping-tail.md
│           ├── stage-routing.md
│           ├── task-visibility.md
│           ├── tracker-defer.md
│           └── work-return.md
├── src/
│   ├── commands/
│   │   ├── cleanup.ts
│   │   ├── convert.ts
│   │   ├── install.ts
│   │   ├── list.ts
│   │   └── plugin-path.ts
│   ├── converters/
│   │   ├── claude-to-antigravity.ts
│   │   ├── claude-to-codex.ts
│   │   ├── claude-to-copilot.ts
│   │   ├── claude-to-droid.ts
│   │   ├── claude-to-kiro.ts
│   │   ├── claude-to-opencode.ts
│   │   └── claude-to-pi.ts
│   ├── data/
│   │   └── plugin-legacy-artifacts.ts
│   ├── dev/
│   │   └── codex-dev.ts
│   ├── index.ts
│   ├── parsers/
│   │   └── claude.ts
│   ├── release/
│   │   ├── components.ts
│   │   ├── config.ts
│   │   ├── metadata.ts
│   │   └── types.ts
│   ├── targets/
│   │   ├── antigravity.ts
│   │   ├── codex.ts
│   │   ├── index.ts
│   │   ├── kiro.ts
│   │   ├── managed-artifacts.ts
│   │   ├── opencode.ts
│   │   └── pi.ts
│   ├── types/
│   │   ├── antigravity.ts
│   │   ├── claude.ts
│   │   ├── codex.ts
│   │   ├── copilot.ts
│   │   ├── droid.ts
│   │   ├── kiro.ts
│   │   ├── opencode.ts
│   │   └── pi.ts
│   └── utils/
│       ├── codex-agents.ts
│       ├── codex-content.ts
│       ├── detect-tools.ts
│       ├── files.ts
│       ├── frontmatter.ts
│       ├── json-config.ts
│       ├── legacy-cleanup.ts
│       ├── model.ts
│       ├── opencode-config.ts
│       ├── resolve-home.ts
│       ├── resolve-output.ts
│       ├── secrets.ts
│       ├── slash-command.ts
│       └── symlink.ts
├── tests/
│   ├── antigravity-converter.test.ts
│   ├── antigravity-writer.test.ts
│   ├── bundled-script-line-endings.test.ts
│   ├── ce-babysit-pr-contract.test.ts
│   ├── ce-babysit-pr-snapshot.test.ts
│   ├── ce-babysit-pr-watch-bootstrap.test.ts
│   ├── ce-code-review-mechanics.test.ts
│   ├── ce-commit-contract.test.ts
│   ├── ce-sweep-analyzer-parity.test.ts
│   ├── ce-test-browser-driver-policy.test.ts
│   ├── claude-parser.test.ts
│   ├── cli.test.ts
│   ├── cline-install-skills.test.ts
│   ├── codex-agents.test.ts
│   ├── codex-content.test.ts
│   ├── codex-converter.test.ts
│   ├── codex-dev.test.ts
│   ├── codex-skill-prompt-budget.test.ts
│   ├── codex-writer.test.ts
│   ├── commit-push-pr-contract.test.ts
│   ├── compound-support-files.test.ts
│   ├── config-layers-rule-parity.test.ts
│   ├── converter.test.ts
│   ├── copilot-converter.test.ts
│   ├── cross-model-receipt-parity.test.ts
│   ├── cross-model-recover-findings-parity.test.ts
│   ├── detect-tools.test.ts
│   ├── doc-claims-validator.test.ts
│   ├── docs-root-literals.test.ts
│   ├── docs-root-rule-parity.test.ts
│   ├── droid-converter.test.ts
│   ├── fixtures/
│   │   ├── ce-code-review-stable-numbering.md
│   │   ├── ce-config-layers-rule.md
│   │   ├── ce-doc-review/
│   │   │   ├── negative-control-plan.expectations.md
│   │   │   ├── negative-control-plan.md
│   │   │   ├── seeded-advisory-plan.expectations.md
│   │   │   ├── seeded-advisory-plan.md
│   │   │   ├── seeded-auth-plan.expectations.md
│   │   │   ├── seeded-auth-plan.md
│   │   │   ├── seeded-feature-plan.expectations.md
│   │   │   ├── seeded-feature-plan.md
│   │   │   ├── seeded-plan.expectations.md
│   │   │   └── seeded-plan.md
│   │   ├── custom-paths/
│   │   │   ├── agents/
│   │   │   │   └── default-agent.md
│   │   │   ├── claude-plugin/
│   │   │   │   └── plugin.json
│   │   │   ├── commands/
│   │   │   │   └── default-command.md
│   │   │   ├── custom-agents/
│   │   │   │   └── custom-agent.md
│   │   │   ├── custom-commands/
│   │   │   │   └── custom-command.md
│   │   │   ├── custom-hooks/
│   │   │   │   └── hooks.json
│   │   │   ├── custom-skills/
│   │   │   │   └── custom-skill/
│   │   │   │       └── SKILL.md
│   │   │   ├── hooks/
│   │   │   │   └── hooks.json
│   │   │   └── skills/
│   │   │       └── default-skill/
│   │   │           └── SKILL.md
│   │   ├── docs-root-rule.md
│   │   ├── invalid-command-path/
│   │   │   └── claude-plugin/
│   │   │       └── plugin.json
│   │   ├── invalid-hooks-path/
│   │   │   └── claude-plugin/
│   │   │       └── plugin.json
│   │   ├── invalid-mcp-path/
│   │   │   └── claude-plugin/
│   │   │       └── plugin.json
│   │   ├── mcp-file/
│   │   │   ├── .mcp.json
│   │   │   └── claude-plugin/
│   │   │       └── plugin.json
│   │   ├── peer-job-runner-unit.py
│   │   ├── peer-job-runner-windows-smoke.py
│   │   ├── pr-snapshot-platform.py
│   │   ├── sample-plugin/
│   │   │   ├── agents/
│   │   │   │   ├── agent-one.md
│   │   │   │   └── security-reviewer.md
│   │   │   ├── claude-plugin/
│   │   │   │   └── plugin.json
│   │   │   ├── commands/
│   │   │   │   ├── command-one.md
│   │   │   │   ├── disabled-command.md
│   │   │   │   ├── model-command.md
│   │   │   │   ├── nested/
│   │   │   │   │   └── command-two.md
│   │   │   │   ├── pattern-command.md
│   │   │   │   ├── skill-command.md
│   │   │   │   └── todo-command.md
│   │   │   ├── hooks/
│   │   │   │   └── hooks.json
│   │   │   └── skills/
│   │   │       ├── agent-only-skill/
│   │   │       │   └── SKILL.md
│   │   │       ├── claude-only-skill/
│   │   │       │   └── SKILL.md
│   │   │       ├── disabled-skill/
│   │   │       │   └── SKILL.md
│   │   │       └── skill-one/
│   │   │           └── SKILL.md
│   │   └── session-history/
│   │       ├── claude-session.jsonl
│   │       ├── codex-session.jsonl
│   │       ├── cursor-session.jsonl
│   │       ├── omp-session.jsonl
│   │       └── pi-session.jsonl
│   ├── frontmatter-validator.test.ts
│   ├── frontmatter.test.ts
│   ├── gpt-5-6-skill-migration.test.ts
│   ├── helpers/
│   │   └── claude-plugin-fixture.ts
│   ├── kiro-converter.test.ts
│   ├── kiro-writer.test.ts
│   ├── legacy-cleanup.test.ts
│   ├── legacy-registry-invariants.test.ts
│   ├── manifest-path-safety.test.ts
│   ├── model-utils.test.ts
│   ├── omp-native-install.test.ts
│   ├── opencode-plugin-commands.test.ts
│   ├── opencode-writer.test.ts
│   ├── path-sanitization.test.ts
│   ├── peer-job-runner-parity.test.ts
│   ├── pi-converter.test.ts
│   ├── pi-writer.test.ts
│   ├── pipeline-review-contract.test.ts
│   ├── plugin-legacy-artifacts.test.ts
│   ├── plugin-path.test.ts
│   ├── pov-skill-contract.test.ts
│   ├── real-plugin-conversion.test.ts
│   ├── reasoning-elevation-parity.test.ts
│   ├── release-components.test.ts
│   ├── release-config.test.ts
│   ├── release-metadata.test.ts
│   ├── release-preview.test.ts
│   ├── repo-local-ce-skill-work.test.ts
│   ├── repo-research-analyst-contract.test.ts
│   ├── resolve-home.test.ts
│   ├── resolve-output.test.ts
│   ├── resolve-pr-feedback-pagination.test.ts
│   ├── review-skill-contract.test.ts
│   ├── scratch-root-contract.test.ts
│   ├── scratch-root-preamble-executes.test.ts
│   ├── session-history-scripts.test.ts
│   ├── settled-decisions-parity.test.ts
│   ├── skill-agent-ce-prefix.test.ts
│   ├── skill-conventions.test.ts
│   ├── skill-eval-cell/
│   │   ├── README.md
│   │   ├── catalog.test.ts
│   │   ├── catalog.ts
│   │   ├── cli.ts
│   │   ├── extract.test.ts
│   │   ├── extract.ts
│   │   ├── fixtures/
│   │   │   ├── babysit-behind/
│   │   │   │   └── snapshot.json
│   │   │   ├── babysit-check-only-answer/
│   │   │   │   └── snapshot.json
│   │   │   ├── babysit-ci-red/
│   │   │   │   └── snapshot.json
│   │   │   ├── babysit-clean-base-moved/
│   │   │   │   └── snapshot.json
│   │   │   ├── babysit-looks-ready/
│   │   │   │   └── snapshot.json
│   │   │   ├── babysit-needs-human-residual/
│   │   │   │   └── snapshot.json
│   │   │   ├── divergent-seat/
│   │   │   │   ├── SPEC.md
│   │   │   │   ├── package.json
│   │   │   │   ├── src/
│   │   │   │   │   └── seat-cap.js
│   │   │   │   └── tests/
│   │   │   │       └── seat-cap.check.js
│   │   │   ├── doc-review-routine-fix/
│   │   │   │   ├── .compound-engineering/
│   │   │   │   │   └── config.yaml
│   │   │   │   ├── README.md
│   │   │   │   └── docs/
│   │   │   │       └── plans/
│   │   │   │           └── 2026-07-31-003-fix-portable-windows-path-unit-tests-plan.md
│   │   │   ├── doc-review-settled-origin/
│   │   │   │   ├── .compound-engineering/
│   │   │   │   │   └── config.yaml
│   │   │   │   ├── README.md
│   │   │   │   └── docs/
│   │   │   │       └── plans/
│   │   │   │           └── 2026-08-15-1506-fix-refresh-instruction-layer-conflict-plan.md
│   │   │   ├── doc-review-staked-position/
│   │   │   │   ├── .compound-engineering/
│   │   │   │   │   └── config.yaml
│   │   │   │   ├── README.md
│   │   │   │   └── docs/
│   │   │   │       └── plans/
│   │   │   │           └── 2026-08-20-1100-feat-free-tier-greeting-api-plan.md
│   │   │   ├── doc-review-strategic-weight/
│   │   │   │   ├── .compound-engineering/
│   │   │   │   │   └── config.yaml
│   │   │   │   ├── README.md
│   │   │   │   └── docs/
│   │   │   │       └── plans/
│   │   │   │           └── 2026-08-20-1130-feat-plugin-architecture-greeting-formats-plan.md
│   │   │   ├── handoff-resume/
│   │   │   │   ├── handoff.md
│   │   │   │   └── src/
│   │   │   │       └── greet.js
│   │   │   ├── implementation-ready-plan/
│   │   │   │   ├── docs/
│   │   │   │   │   └── plans/
│   │   │   │   │       └── widget-plan.md
│   │   │   │   └── src/
│   │   │   │       └── greet.js
│   │   │   ├── plan-infra-objective/
│   │   │   │   ├── README.md
│   │   │   │   ├── convex/
│   │   │   │   │   └── digest.ts
│   │   │   │   ├── package.json
│   │   │   │   └── services/
│   │   │   │       └── report-worker/
│   │   │   │           └── queue.ts
│   │   │   ├── plan-model-config/
│   │   │   │   ├── .compound-engineering/
│   │   │   │   │   └── config.yaml
│   │   │   │   ├── package.json
│   │   │   │   └── src/
│   │   │   │       └── greet.js
│   │   │   ├── requirements-only-plan/
│   │   │   │   └── docs/
│   │   │   │       └── plans/
│   │   │   │           └── widget-plan.md
│   │   │   ├── resolver-human-decision/
│   │   │   │   └── feedback.md
│   │   │   ├── retry-guidance-conflict/
│   │   │   │   ├── docs/
│   │   │   │   │   ├── decisions/
│   │   │   │   │   │   └── 0007-idempotent-retries.md
│   │   │   │   │   └── solutions/
│   │   │   │   │       └── idempotent-retries.md
│   │   │   │   ├── src/
│   │   │   │   │   └── retry-request.js
│   │   │   │   └── tests/
│   │   │   │       └── retry-request.check.js
│   │   │   ├── riffrec-quick-notes/
│   │   │   │   └── feedback.md
│   │   │   ├── seat-cap/
│   │   │   │   ├── SPEC.md
│   │   │   │   ├── package.json
│   │   │   │   ├── src/
│   │   │   │   │   └── seat-cap.js
│   │   │   │   └── tests/
│   │   │   │       └── seat-cap.check.js
│   │   │   ├── staged-with-dotenv/
│   │   │   │   ├── README.md
│   │   │   │   ├── env.local
│   │   │   │   └── src/
│   │   │   │       └── greet.js
│   │   │   ├── stale-learning/
│   │   │   │   ├── docs/
│   │   │   │   │   └── solutions/
│   │   │   │   │       └── seat-helper.md
│   │   │   │   └── src/
│   │   │   │       └── greet.js
│   │   │   ├── standards-designated/
│   │   │   │   ├── AGENTS.md
│   │   │   │   ├── CODING_STANDARDS.md
│   │   │   │   └── src/
│   │   │   │       └── cart.ts
│   │   │   ├── standards-fallback-only/
│   │   │   │   ├── AGENTS.md
│   │   │   │   └── src/
│   │   │   │       └── cart.ts
│   │   │   ├── standards-mixed-scope/
│   │   │   │   ├── AGENTS.md
│   │   │   │   ├── skills/
│   │   │   │   │   ├── CODING_STANDARDS.md
│   │   │   │   │   └── demo.md
│   │   │   │   └── src/
│   │   │   │       └── cart.ts
│   │   │   ├── standards-prose-format/
│   │   │   │   ├── CODING_STANDARDS.md
│   │   │   │   └── src/
│   │   │   │       └── cart.ts
│   │   │   ├── tiny-auth/
│   │   │   │   ├── README.md
│   │   │   │   ├── package.json
│   │   │   │   └── src/
│   │   │   │       └── session.js
│   │   │   └── tiny-lib/
│   │   │       ├── README.md
│   │   │       ├── package.json
│   │   │       └── src/
│   │   │           └── greet.js
│   │   ├── grade.test.ts
│   │   ├── grade.ts
│   │   ├── hosts.test.ts
│   │   ├── hosts.ts
│   │   ├── pack.ts
│   │   ├── path-shim.test.ts
│   │   ├── path-shim.ts
│   │   ├── regrade.ts
│   │   ├── run.ts
│   │   └── scenarios.md
│   ├── skill-shell-safety.test.ts
│   ├── skills/
│   │   ├── ce-babysit-pr-platform.test.ts
│   │   ├── ce-brainstorm-aggregation-check.test.ts
│   │   ├── ce-brainstorm-ask-decisions.test.ts
│   │   ├── ce-brainstorm-output-mode.test.ts
│   │   ├── ce-brainstorm-section-order.test.ts
│   │   ├── ce-brainstorm-visual-probe-server.test.ts
│   │   ├── ce-brainstorm-visual-probes.test.ts
│   │   ├── ce-code-review-cross-model-routes.test.ts
│   │   ├── ce-compound-headless-depth.test.ts
│   │   ├── ce-compound-readonly-enhancement.test.ts
│   │   ├── ce-doc-review-cross-model-routes.test.ts
│   │   ├── ce-doc-review-html-editing.test.ts
│   │   ├── ce-doc-review-rendering-floor.test.ts
│   │   ├── ce-dogfood-body-pins.test.ts
│   │   ├── ce-explain-relocated-invariants.test.ts
│   │   ├── ce-explain-routing.test.ts
│   │   ├── ce-handoff-contract.test.ts
│   │   ├── ce-ideate-dispatch-contracts.test.ts
│   │   ├── ce-ideate-generation-contract-parity.test.ts
│   │   ├── ce-ideate-output-mode.test.ts
│   │   ├── ce-optimize-decide.test.ts
│   │   ├── ce-plan-handoff-routing.test.ts
│   │   ├── ce-plan-output-mode.test.ts
│   │   ├── ce-polish-dev-server.test.ts
│   │   ├── ce-polish-package-manager.test.ts
│   │   ├── ce-polish-project-type.test.ts
│   │   ├── ce-polish-resolve-port.test.ts
│   │   ├── ce-pov-cross-model-routes.test.ts
│   │   ├── ce-proof-body-pins.test.ts
│   │   ├── ce-proof-contract.test.ts
│   │   ├── ce-prototype-handoff.test.ts
│   │   ├── ce-prototype-protocol.test.ts
│   │   ├── ce-prototype-run-root-executes.test.ts
│   │   ├── ce-prototype-server.test.ts
│   │   ├── ce-prototype-write-back.test.ts
│   │   ├── ce-resolve-pr-feedback-reply-newlines.test.ts
│   │   ├── ce-resolve-pr-feedback-script-dir.test.ts
│   │   ├── ce-session-historian-no-skill-tool.test.ts
│   │   ├── ce-setup-check-health.test.ts
│   │   ├── ce-sweep-body-pins.test.ts
│   │   ├── ce-sweep-mode-token.test.ts
│   │   ├── ce-sweep-source-contract.test.ts
│   │   ├── ce-work-cross-model-integration.test.ts
│   │   ├── ce-work-cross-model-routes.test.ts
│   │   ├── ce-work-outcome-spine.test.ts
│   │   ├── ce-work-unit-workspace-fallback.test.ts
│   │   ├── ce-work-unit-workspace-init.test.ts
│   │   ├── ce-work-unit-workspace-retries.test.ts
│   │   ├── ce-work-unit-workspace-transport.test.ts
│   │   ├── ce-work-unit-workspace-verification.test.ts
│   │   ├── ce-work-unit-workspace-warm-checkout.test.ts
│   │   ├── ce-worktree.test.ts
│   │   ├── cross-model-peer-budget.test.ts
│   │   ├── cross-model-review-mode.test.ts
│   │   ├── elevation-dispatch.test.ts
│   │   ├── fenced-blocks.ts
│   │   ├── flatten-safety.test.ts
│   │   ├── helpers/
│   │   │   └── ce-work-workspace-harness.ts
│   │   ├── html-output-invariants.test.ts
│   │   ├── peer-job-runner.test.ts
│   │   ├── skill-body-extraction-contract.test.ts
│   │   ├── task-visibility-contract.test.ts
│   │   ├── unified-plan-artifact-contract.test.ts
│   │   └── user-facing-skill-invocation-rendering.test.ts
│   ├── slash-command.test.ts
│   └── sweep-state.test.ts
└── tsconfig.json
Copy disabled (too large)
Condensed preview — 1044 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (13,952K chars).
[
  {
    "path": ".agents/plugins/marketplace.json",
    "chars": 383,
    "preview": "{\n  \"name\": \"compound-engineering-plugin\",\n  \"interface\": {\n    \"displayName\": \"Compound Engineering\"\n  },\n  \"plugins\":..."
  },
  {
    "path": ".agents/skills/ce-skill-work/SKILL.md",
    "chars": 9955,
    "preview": "---\nname: ce-skill-work\ndescription: \"Applies this repository's skill-authoring standard as a procedure. Use for any cha..."
  },
  {
    "path": ".agents/skills/ce-skill-work/references/edit-skill.md",
    "chars": 15536,
    "preview": "# Changing an existing skill\n\nSkills predate the current standard and evolve toward it. The standard is the guide, not t..."
  },
  {
    "path": ".agents/skills/ce-skill-work/references/evaluate.md",
    "chars": 10258,
    "preview": "# Validating a skill change\n\nMechanical contracts (frontmatter, paths, greppable invariants, parity, script behavior) go..."
  },
  {
    "path": ".agents/skills/ce-skill-work/references/new-skill.md",
    "chars": 8983,
    "preview": "# Creating a new skill\n\nRead the guide's \"Author in this order\", \"Build the skill around an outcome spine\", \"Make activa..."
  },
  {
    "path": ".agents/skills/ce-skill-work/references/respond-to-review.md",
    "chars": 3483,
    "preview": "# Acting on review feedback for a skill\n\nApplying review, peer, or eval feedback is a material revision under the same s..."
  },
  {
    "path": ".agents/skills/ce-skill-work/references/review-skill.md",
    "chars": 6290,
    "preview": "# Reviewing a skill change\n\nA review agent is biased toward producing changes. Counter it: state the runtime you review..."
  },
  {
    "path": ".agy/INSTALL.md",
    "chars": 2105,
    "preview": "# Installing Compound Engineering for Antigravity CLI (`agy`)\n\nAntigravity installs CE as a native plugin bundle. The re..."
  },
  {
    "path": ".claude/commands/triage-prs.md",
    "chars": 6040,
    "preview": "---\nname: triage-prs\ndescription: Triage all open PRs with parallel agents, label, group, and review one-by-one\nargument..."
  },
  {
    "path": ".claude-plugin/CHANGELOG.md",
    "chars": 407,
    "preview": "# Changelog\n\n## [1.0.3](https://github.com/EveryInc/compound-engineering-plugin/compare/marketplace-v1.0.2...marketplace..."
  },
  {
    "path": ".claude-plugin/marketplace.json",
    "chars": 753,
    "preview": "{\n  \"name\": \"compound-engineering-plugin\",\n  \"owner\": {\n    \"name\": \"Kieran Klaassen and Trevin Chow\"\n  },\n  \"metadata\":..."
  },
  {
    "path": ".claude-plugin/plugin.json",
    "chars": 571,
    "preview": "{\n  \"name\": \"compound-engineering\",\n  \"version\": \"3.23.4\",\n  \"description\": \"Brainstorm, plan, debug, review, and compou..."
  },
  {
    "path": ".cline/INSTALL.md",
    "chars": 3108,
    "preview": "# Installing Compound Engineering for Cline\n\nCline loads CE through native **skills** discovery — the same `SKILL.md` di..."
  },
  {
    "path": ".cline/scripts/install-skills.sh",
    "chars": 3344,
    "preview": "#!/usr/bin/env bash\n# Link Compound Engineering skills/ into Cline's skills discovery directory.\nset -euo pipefail\n\nSCRI..."
  },
  {
    "path": ".codex-plugin/plugin.json",
    "chars": 1616,
    "preview": "{\n  \"name\": \"compound-engineering\",\n  \"version\": \"3.23.4\",\n  \"description\": \"Brainstorm, plan, debug, review, and compou..."
  },
  {
    "path": ".compound-engineering/config.example.yaml",
    "chars": 11021,
    "preview": "# Compound Engineering -- repo config\n# Copy to .compound-engineering/config.yaml in your project root (team defaults)...."
  },
  {
    "path": ".cursor-plugin/CHANGELOG.md",
    "chars": 829,
    "preview": "# Changelog\n\n## [1.0.2](https://github.com/EveryInc/compound-engineering-plugin/compare/cursor-marketplace-v1.0.1...curs..."
  },
  {
    "path": ".cursor-plugin/marketplace.json",
    "chars": 464,
    "preview": "{\n  \"name\": \"compound-engineering\",\n  \"owner\": {\n    \"name\": \"Kieran Klaassen\",\n    \"email\": \"kieran@every.to\",\n    \"url..."
  },
  {
    "path": ".cursor-plugin/plugin.json",
    "chars": 672,
    "preview": "{\n  \"name\": \"compound-engineering\",\n  \"displayName\": \"Compound Engineering\",\n  \"version\": \"3.23.4\",\n  \"description\": \"Br..."
  },
  {
    "path": ".devin-plugin/plugin.json",
    "chars": 571,
    "preview": "{\n  \"name\": \"compound-engineering\",\n  \"version\": \"3.23.4\",\n  \"description\": \"Brainstorm, plan, debug, review, and compou..."
  },
  {
    "path": ".gitattributes",
    "chars": 441,
    "preview": "# Bundled skill scripts run under POSIX bash/python; force LF so a CRLF\n# checkout (e.g. core.autocrlf=true on Windows)..."
  },
  {
    "path": ".github/.release-please-manifest.json",
    "chars": 78,
    "preview": "{\n  \".\": \"3.23.4\",\n  \".claude-plugin\": \"1.0.3\",\n  \".cursor-plugin\": \"1.0.2\"\n}\n"
  },
  {
    "path": ".github/pull_request_template.md",
    "chars": 1630,
    "preview": "<!-- Structure the body however best explains THIS change — there is no fixed format.\n     Size it to the change: a one-..."
  },
  {
    "path": ".github/release-please-config.json",
    "chars": 3039,
    "preview": "{\n  \"$schema\": \"https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json\",\n  \"include-compon..."
  },
  {
    "path": ".github/workflows/ci.yml",
    "chars": 7196,
    "preview": "name: CI\n\non:\n  push:\n    branches: [main]\n  pull_request:\n  workflow_dispatch:\n\njobs:\n  pr-title:\n    if: github.event_..."
  },
  {
    "path": ".github/workflows/release-pr.yml",
    "chars": 1322,
    "preview": "name: Release PR\n\non:\n  push:\n    branches: [main]\n  workflow_dispatch:\n\npermissions:\n  contents: write\n  pull-requests:..."
  },
  {
    "path": ".github/workflows/release-preview.yml",
    "chars": 2788,
    "preview": "name: Release Preview\n\non:\n  workflow_dispatch:\n    inputs:\n      title:\n        description: \"Conventional title to eva..."
  },
  {
    "path": ".gitignore",
    "chars": 145,
    "preview": ".DS_Store\n.env\n*.log\nnode_modules/\n.codex/\ntodos/\n.worktrees\n.context/\n.claude/worktrees/\n__pycache__/\n*.pyc\n\n.compound-..."
  },
  {
    "path": ".grok-plugin/marketplace.json",
    "chars": 697,
    "preview": "{\n  \"name\": \"compound-engineering\",\n  \"description\": \"Compound Engineering plugin for Grok Build\",\n  \"owner\": {\n    \"nam..."
  },
  {
    "path": ".grok-plugin/plugin.json",
    "chars": 596,
    "preview": "{\n  \"name\": \"compound-engineering\",\n  \"version\": \"3.23.4\",\n  \"description\": \"Brainstorm, plan, debug, review, and compou..."
  },
  {
    "path": ".kimi-plugin/marketplace.json",
    "chars": 208,
    "preview": "{\n  \"version\": \"2\",\n  \"plugins\": [\n    {\n      \"id\": \"compound-engineering\",\n      \"displayName\": \"Compound Engineering\"..."
  },
  {
    "path": ".kimi-plugin/plugin.json",
    "chars": 1037,
    "preview": "{\n  \"name\": \"compound-engineering\",\n  \"version\": \"3.23.4\",\n  \"description\": \"Brainstorm, plan, debug, review, and compou..."
  },
  {
    "path": ".omp-plugin/marketplace.json",
    "chars": 756,
    "preview": "{\n  \"name\": \"compound-engineering-plugin\",\n  \"owner\": {\n    \"name\": \"Kieran Klaassen and Trevin Chow\"\n  },\n  \"metadata\":..."
  },
  {
    "path": ".opencode/INSTALL.md",
    "chars": 969,
    "preview": "# Installing Compound Engineering for OpenCode\n\nAdd Compound Engineering to the `plugin` array in your global or project..."
  },
  {
    "path": ".opencode/plugins/compound-engineering.js",
    "chars": 2244,
    "preview": "import path from \"path\"\nimport fs from \"fs\"\nimport { fileURLToPath } from \"url\"\n\nconst pluginDir = path.dirname(fileURLT..."
  },
  {
    "path": ".pi/extensions/compound-engineering.ts",
    "chars": 397,
    "preview": "import { dirname, resolve } from \"node:path\"\nimport { fileURLToPath } from \"node:url\"\n\nconst extensionDir = dirname(file..."
  },
  {
    "path": "AGENTS.md",
    "chars": 54191,
    "preview": "# Agent Instructions\n\nThis repository is the root of the `compound-engineering` coding-agent plugin and the marketplace/..."
  },
  {
    "path": "CHANGELOG.md",
    "chars": 59391,
    "preview": "# Changelog\n\n## [3.13.1](https://github.com/EveryInc/compound-engineering-plugin/compare/cli-v3.13.0...cli-v3.13.1) (202..."
  },
  {
    "path": "CONCEPTS.md",
    "chars": 27908,
    "preview": "# Concepts\n\nShared domain vocabulary for this project — entities, named processes, and status concepts with project-spec..."
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 3094,
    "preview": "# Contributing to Compound Engineering\n\nContributions are welcome — issues, bug reports, and pull requests all help, and..."
  },
  {
    "path": "GEMINI.md",
    "chars": 419,
    "preview": "# Compound Engineering\n\nThis Gemini extension provides the Compound Engineering skill set for planning,\nreview, implemen..."
  },
  {
    "path": "LICENSE",
    "chars": 1062,
    "preview": "MIT License\n\nCopyright (c) 2025 Every\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof t..."
  },
  {
    "path": "PRIVACY.md",
    "chars": 1935,
    "preview": "# Privacy & Data Handling\n\nThis repository contains:\n- a root plugin package made of markdown/config content\n- a CLI (`@..."
  },
  {
    "path": "README.md",
    "chars": 21962,
    "preview": "<div align=\"center\">\n\n<img src=\"assets/logo.png\" alt=\"Compound Engineering\" width=\"120\">\n\n# Compound Engineering\n\n**AI s..."
  },
  {
    "path": "SECURITY.md",
    "chars": 909,
    "preview": "# Security Policy\n\n## Supported Versions\n\nSecurity fixes are applied to the latest version on `main`.\n\n## Reporting a Vu..."
  },
  {
    "path": "STRATEGY.md",
    "chars": 4208,
    "preview": "---\nname: Compound Engineering\nlast_updated: 2026-08-24\n---\n\n# Compound Engineering Strategy\n\nCompound Engineering is an..."
  },
  {
    "path": "assets/demo/README.md",
    "chars": 3659,
    "preview": "# The \"second run\" demo\n\n`compound-loop.gif` is the animation embedded at the top of the root [README](../../README.md)...."
  },
  {
    "path": "assets/demo/compound-loop.tape",
    "chars": 1245,
    "preview": "# Compound Engineering — \"the second run\" demo\n# Regenerate with:  vhs assets/demo/compound-loop.tape\n# Source and anony..."
  },
  {
    "path": "assets/demo/play.sh",
    "chars": 4814,
    "preview": "#!/usr/bin/env bash\n# Scripted playback of a real Compound Engineering session, anonymized.\n# See README.md in this dire..."
  },
  {
    "path": "docs/brainstorms/2026-02-14-copilot-converter-target-brainstorm.md",
    "chars": 5295,
    "preview": "---\ndate: 2026-02-14\ntopic: copilot-converter-target\n---\n\n# Add GitHub Copilot Converter Target\n\n## What We're Building..."
  },
  {
    "path": "docs/brainstorms/2026-02-17-copilot-skill-naming-brainstorm.md",
    "chars": 1393,
    "preview": "---\ndate: 2026-02-17\ntopic: copilot-skill-naming\n---\n\n# Copilot Skill Naming: Preserve Namespace\n\n## What We're Building..."
  },
  {
    "path": "docs/brainstorms/2026-03-14-ce-plan-rewrite-requirements.md",
    "chars": 7547,
    "preview": "---\ndate: 2026-03-14\ntopic: ce-plan-rewrite\n---\n\n# Rewrite `ce:plan` to Separate Planning from Implementation\n\n## Proble..."
  },
  {
    "path": "docs/brainstorms/2026-03-15-ce-ideate-skill-requirements.md",
    "chars": 9169,
    "preview": "---\ndate: 2026-03-15\ntopic: ce-ideate-skill\n---\n\n# ce:ideate — Open-Ended Ideation Skill\n\n## Problem Frame\n\nThe ce:brain..."
  },
  {
    "path": "docs/brainstorms/2026-03-16-issue-grounded-ideation-requirements.md",
    "chars": 6642,
    "preview": "---\ndate: 2026-03-16\ntopic: issue-grounded-ideation\n---\n\n# Issue-Grounded Ideation Mode for ce:ideate\n\n## Problem Frame..."
  },
  {
    "path": "docs/brainstorms/2026-03-17-release-automation-requirements.md",
    "chars": 9248,
    "preview": "---\ndate: 2026-03-17\ntopic: release-automation\n---\n\n# Release Automation and Changelog Ownership\n\n## Problem Frame\n\nThe..."
  },
  {
    "path": "docs/brainstorms/2026-03-18-auto-memory-integration-requirements.md",
    "chars": 3718,
    "preview": "---\ndate: 2026-03-18\ntopic: auto-memory-integration\n---\n\n# Auto Memory Integration for ce:compound and ce:compound-refre..."
  },
  {
    "path": "docs/brainstorms/2026-03-22-frontend-design-skill-improvement.md",
    "chars": 11088,
    "preview": "# Frontend Design Skill Improvement\n\n**Date:** 2026-03-22\n**Status:** Design approved, pending implementation plan\n**Sco..."
  },
  {
    "path": "docs/brainstorms/2026-03-23-plan-review-personas-requirements.md",
    "chars": 7192,
    "preview": "---\ndate: 2026-03-23\ntopic: plan-review-personas\n---\n\n# Persona-Based Plan Review for document-review\n\n## Problem Frame..."
  },
  {
    "path": "docs/brainstorms/2026-03-25-config-storage-redesign-requirements.md",
    "chars": 19125,
    "preview": "---\ndate: 2026-03-25\ntopic: config-storage-redesign\n---\n\n# Config and Worktree-Safe Storage Redesign\n\n## Problem Frame..."
  },
  {
    "path": "docs/brainstorms/2026-03-25-vonboarding-skill-requirements.md",
    "chars": 5233,
    "preview": "---\ndate: 2026-03-25\ntopic: onboarding-skill\n---\n\n# Onboarding: Codebase Onboarding Document Generator\n\n## Problem Frame..."
  },
  {
    "path": "docs/brainstorms/2026-03-26-merge-deepen-into-plan-requirements.md",
    "chars": 4072,
    "preview": "---\ndate: 2026-03-26\ntopic: merge-deepen-into-plan\n---\n\n# Merge Deepen-Plan Into ce:plan\n\n## Problem Frame\n\nThe ce:plan..."
  },
  {
    "path": "docs/brainstorms/2026-03-27-ce-skill-prefix-rename-requirements.md",
    "chars": 22004,
    "preview": "---\ndate: 2026-03-27\ntopic: ce-skill-prefix-rename\n---\n\n# Consistent `ce-` Prefix for All Skills and Agents\n\n## Problem..."
  },
  {
    "path": "docs/brainstorms/2026-03-28-ce-review-headless-mode-requirements.md",
    "chars": 4053,
    "preview": "---\ndate: 2026-03-28\ntopic: ce-review-headless-mode\n---\n\n# ce:review Headless Mode\n\n## Problem Frame\n\nce:review currentl..."
  },
  {
    "path": "docs/brainstorms/2026-03-29-iterative-optimization-loop-requirements.md",
    "chars": 43658,
    "preview": "# Iterative Optimization Loop Skill — Requirements Brainstorm\n\n## Problem Statement\n\nCE has strong knowledge-compounding..."
  },
  {
    "path": "docs/brainstorms/2026-03-29-testing-addressed-gate-requirements.md",
    "chars": 6678,
    "preview": "---\ndate: 2026-03-29\ntopic: testing-addressed-gate\n---\n\n# Close the Testing Gap in ce:work and ce:plan\n\n## Problem Frame..."
  },
  {
    "path": "docs/brainstorms/2026-03-30-cli-readiness-review-persona-requirements.md",
    "chars": 5967,
    "preview": "---\ndate: 2026-03-30\ntopic: cli-readiness-review-persona\n---\n\n# CLI Agent-Readiness Review Persona in ce:review\n\n## Prob..."
  },
  {
    "path": "docs/brainstorms/2026-03-31-codex-delegation-requirements.md",
    "chars": 20335,
    "preview": "---\ndate: 2026-03-31\ntopic: codex-delegation\n---\n\n# Codex Delegation Mode for ce:work\n\n## Problem Frame\n\nUsers running c..."
  },
  {
    "path": "docs/brainstorms/2026-04-01-cross-invocation-cluster-analysis-requirements.md",
    "chars": 9337,
    "preview": "---\ndate: 2026-04-01\ntopic: cross-invocation-cluster-analysis\n---\n\n# Cross-Invocation Cluster Analysis for resolve-pr-fe..."
  },
  {
    "path": "docs/brainstorms/2026-04-02-slack-analyst-agent-requirements.md",
    "chars": 7897,
    "preview": "---\ndate: 2026-04-02\ntopic: ce-slack-researcher-agent\n---\n\n# Slack Analyst Agent\n\n## Problem Frame\n\nCoding agents operat..."
  },
  {
    "path": "docs/brainstorms/2026-04-05-universal-planning-requirements.md",
    "chars": 9336,
    "preview": "---\ndate: 2026-04-05\ntopic: universal-planning\n---\n\n# Universal Planning: Non-Software Task Support for ce:plan and ce:b..."
  },
  {
    "path": "docs/brainstorms/2026-04-17-ce-release-notes-skill-requirements.md",
    "chars": 12439,
    "preview": "---\ndate: 2026-04-17\ntopic: ce-release-notes-skill\n---\n\n# `ce-release-notes` Skill\n\n## Problem Frame\n\nThe `compound-engi..."
  },
  {
    "path": "docs/brainstorms/2026-04-17-ce-review-interactive-judgment-requirements.md",
    "chars": 19503,
    "preview": "---\ndate: 2026-04-17\ntopic: ce-review-interactive-judgment\n---\n\n# ce:review Interactive Judgment Loop\n\n## Problem Frame..."
  },
  {
    "path": "docs/brainstorms/2026-04-18-ce-doc-review-autofix-and-interaction-requirements.md",
    "chars": 27174,
    "preview": "---\ndate: 2026-04-18\ntopic: ce-doc-review-autofix-and-interaction\n---\n\n# ce-doc-review Autofix and Interaction Overhaul..."
  },
  {
    "path": "docs/brainstorms/2026-04-22-demo-reel-local-save-requirements.md",
    "chars": 2278,
    "preview": "---\ndate: 2026-04-22\ntopic: demo-reel-local-save\n---\n\n# Demo Reel: Local Evidence Save\n\n## Problem Frame\n\nWhen `ce-demo-..."
  },
  {
    "path": "docs/brainstorms/2026-04-24-surface-scope-earlier-requirements.md",
    "chars": 14573,
    "preview": "---\ndate: 2026-04-24\ntopic: surface-scope-earlier\n---\n\n# Surface Scope Earlier in ce-brainstorm and ce-plan\n\n## Problem..."
  },
  {
    "path": "docs/brainstorms/2026-05-19-vscode-copilot-agent-tool-access-requirements.md",
    "chars": 17331,
    "preview": "---\ndate: 2026-05-19\ntopic: vscode-copilot-agent-tool-access\n---\n\n# VS Code Copilot Agent Tool Access for CE Plugin\n\n##..."
  },
  {
    "path": "docs/brainstorms/2026-06-04-ce-plan-approach-altitude-requirements.md",
    "chars": 14838,
    "preview": "---\ntitle: \"ce-plan approach altitude — plan-for-a-plan as a first-class shape\"\ndate: 2026-06-04\ntopic: ce-plan-approach..."
  },
  {
    "path": "docs/brainstorms/2026-06-19-agentless-plugin-surface-reduction-requirements.md",
    "chars": 14033,
    "preview": "---\ntitle: \"Agentless plugin surface reduction\"\ndate: 2026-06-19\ntopic: agentless-plugin-surface-reduction\n---\n\n# Agentl..."
  },
  {
    "path": "docs/development.md",
    "chars": 5188,
    "preview": "# Development\n\nThe repository's build and validation commands, and how to load a local checkout into the harnesses that..."
  },
  {
    "path": "docs/grok-marketplace-submission.md",
    "chars": 3373,
    "preview": "# Submitting Compound Engineering to the official xAI plugin marketplace\n\nMaintainer runbook for listing Compound Engine..."
  },
  {
    "path": "docs/guides/README.md",
    "chars": 8187,
    "preview": "# Skill Documentation\n\nEnd-user-facing documentation for compound-engineering plugin skills. Each page covers the skill'..."
  },
  {
    "path": "docs/guides/ce-babysit-pr.md",
    "chars": 13714,
    "preview": "# `ce-babysit-pr`\n\n> Watch an open GitHub PR and keep it moving toward merge-ready. Report when it *looks* ready. Land o..."
  },
  {
    "path": "docs/guides/ce-brainstorm.md",
    "chars": 21014,
    "preview": "# `ce-brainstorm`\n\n> Think through what something should become, one question at a time, then write a right-sized requir..."
  },
  {
    "path": "docs/guides/ce-code-review.md",
    "chars": 23709,
    "preview": "# `ce-code-review`\n\n> Structured code review: risk-selected personas, confidence-gated findings, and a merge/dedup repor..."
  },
  {
    "path": "docs/guides/ce-commit-push-pr.md",
    "chars": 13997,
    "preview": "# `ce-commit-push-pr`\n\n> Commit, push, and open a PR. Or rewrite an existing PR description. Or print a description and..."
  },
  {
    "path": "docs/guides/ce-commit.md",
    "chars": 6995,
    "preview": "# `ce-commit`\n\n> Make local git commit(s) from the working tree. No push, no PR.\n\n`ce-commit` is a **git-workflow** skil..."
  },
  {
    "path": "docs/guides/ce-compound-refresh.md",
    "chars": 14271,
    "preview": "# `ce-compound-refresh`\n\n> Maintain `docs/solutions/` over time: review existing learnings against the current codebase,..."
  },
  {
    "path": "docs/guides/ce-compound.md",
    "chars": 20735,
    "preview": "# `ce-compound`\n\n> Document a recently solved problem so the next encounter takes minutes instead of hours. Knowledge co..."
  },
  {
    "path": "docs/guides/ce-debug.md",
    "chars": 18117,
    "preview": "# `ce-debug`\n\n> Find the root cause before proposing a fix. Trace the causal chain, refuse symptom-level patches, escala..."
  },
  {
    "path": "docs/guides/ce-doc-review.md",
    "chars": 18617,
    "preview": "# `ce-doc-review`\n\n> Review a requirements or plan document with parallel persona agents, apply mechanical fixes, and ro..."
  },
  {
    "path": "docs/guides/ce-dogfood.md",
    "chars": 9857,
    "preview": "# `ce-dogfood`\n\n> Hands-off, diff-scoped browser QA of the active branch. Maps the journeys the diff touches, drives the..."
  },
  {
    "path": "docs/guides/ce-explain.md",
    "chars": 12213,
    "preview": "# `ce-explain`\n\n> Build a dense visual document about a concept, a diff, an idea, or a window of your own recent work. K..."
  },
  {
    "path": "docs/guides/ce-handoff.md",
    "chars": 10257,
    "preview": "# `ce-handoff`\n\n> Preserve the useful context from one agent session so a fresh agent can orient without the original tr..."
  },
  {
    "path": "docs/guides/ce-ideate.md",
    "chars": 16003,
    "preview": "# `ce-ideate`\n\n> When you don't yet have an idea, get a ranked set of grounded directions you can pick from, discuss, or..."
  },
  {
    "path": "docs/guides/ce-optimize.md",
    "chars": 13578,
    "preview": "# `ce-optimize`\n\n> Define a measurable goal, build a harness, try many variants, keep the ones that score better.\n\n`ce-o..."
  },
  {
    "path": "docs/guides/ce-plan.md",
    "chars": 25321,
    "preview": "# `ce-plan`\n\n> Establish the guardrails an implementation needs (decisions, units, files, tests, scope, risks) without p..."
  },
  {
    "path": "docs/guides/ce-polish.md",
    "chars": 9836,
    "preview": "# `ce-polish`\n\n> Start the dev server, open the feature in a browser, and iterate together. You say what feels off; fixe..."
  },
  {
    "path": "docs/guides/ce-pov.md",
    "chars": 17263,
    "preview": "# `ce-pov`\n\n> Form a decisive, project-grounded point of view in the subject's own shape: an adoption verdict, a documen..."
  },
  {
    "path": "docs/guides/ce-product-pulse.md",
    "chars": 12863,
    "preview": "# `ce-product-pulse`\n\n> A time-windowed pulse on what users experienced and how the product performed: usage, quality, e..."
  },
  {
    "path": "docs/guides/ce-promote.md",
    "chars": 7702,
    "preview": "# `ce-promote`\n\n> Draft user-facing announcement copy for a feature that just shipped. It never posts.\n\n`ce-promote` is..."
  },
  {
    "path": "docs/guides/ce-proof.md",
    "chars": 10904,
    "preview": "# `ce-proof`\n\n> Publish a local markdown file to a shareable [Proof](https://www.proofeditor.ai) URL, or read, comment o..."
  },
  {
    "path": "docs/guides/ce-prototype.md",
    "chars": 13570,
    "preview": "# `ce-prototype`\n\n> Build a throwaway prototype so someone can experience how the product should work, feel, or read, th..."
  },
  {
    "path": "docs/guides/ce-resolve-pr-feedback.md",
    "chars": 12112,
    "preview": "# `ce-resolve-pr-feedback`\n\n> Evaluate, fix, and reply to PR review feedback in one pass. Fix what is real. Do not churn..."
  },
  {
    "path": "docs/guides/ce-retune.md",
    "chars": 11470,
    "preview": "# `ce-retune`\n\n> Retune a skill corpus for a new model, measurement-first.\n\n`ce-retune` is an on-demand **corpus** skill..."
  },
  {
    "path": "docs/guides/ce-riffrec-feedback-analysis.md",
    "chars": 10571,
    "preview": "# `ce-riffrec-feedback-analysis`\n\n> Turn a [Riffrec](https://github.com/kieranklaassen/riffrec) capture (or a video, aud..."
  },
  {
    "path": "docs/guides/ce-setup.md",
    "chars": 9170,
    "preview": "# `ce-setup`\n\n> Check Compound Engineering health, optional tool capabilities, and repo-local config safety. It does not..."
  },
  {
    "path": "docs/guides/ce-simplify-code.md",
    "chars": 9513,
    "preview": "# `ce-simplify-code`\n\n> Refine recently changed code. Three reviews look for reuse, quality, and efficiency issues; the..."
  },
  {
    "path": "docs/guides/ce-strategy.md",
    "chars": 14772,
    "preview": "# `ce-strategy`\n\n> Create or maintain `STRATEGY.md`: what the product is, who it is for, how it succeeds, and where the..."
  },
  {
    "path": "docs/guides/ce-sweep.md",
    "chars": 10955,
    "preview": "# `ce-sweep`\n\n> Sweep configured feedback sources for new items, track each one to a verified merge, and keep one rollin..."
  },
  {
    "path": "docs/guides/ce-test-browser.md",
    "chars": 10296,
    "preview": "# `ce-test-browser`\n\n> Run end-to-end browser tests on the pages the current PR or branch actually changed, using the be..."
  },
  {
    "path": "docs/guides/ce-test-xcode.md",
    "chars": 8266,
    "preview": "# `ce-test-xcode`\n\n> Build the iOS app, run it on a simulator, capture screenshots and logs, and pause for the device-on..."
  },
  {
    "path": "docs/guides/ce-work.md",
    "chars": 25963,
    "preview": "# `ce-work`\n\n> Execute against the plan's guardrails, figure out the HOW with code in front of you, ship complete featur..."
  },
  {
    "path": "docs/guides/ce-worktree.md",
    "chars": 8333,
    "preview": "# `ce-worktree`\n\n> Put the work in an isolated git worktree without disturbing the current checkout.\n\n`ce-worktree` is t..."
  },
  {
    "path": "docs/guides/configuration.md",
    "chars": 10031,
    "preview": "# Compound Engineering configuration\n\nCompound Engineering keeps optional repo defaults in `.compound-engineering/config..."
  },
  {
    "path": "docs/guides/lfg.md",
    "chars": 14983,
    "preview": "# `lfg`\n\n> Run the full hands-off engineering pipeline from planning through an open PR. It pushes and opens the PR with..."
  },
  {
    "path": "docs/ideation/2026-06-28-ce-pov-skill-proposal.html",
    "chars": 29294,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initia..."
  },
  {
    "path": "docs/install/upgrading.md",
    "chars": 3814,
    "preview": "# Upgrading an existing install\n\nPer-host instructions for refreshing Compound Engineering when you installed it before..."
  },
  {
    "path": "docs/plans/2026-02-08-feat-convert-local-md-settings-for-opencode-codex-plan.md",
    "chars": 7582,
    "preview": "---\ntitle: Convert .local.md Settings for OpenCode and Codex\ntype: feat\ndate: 2026-02-08\n---\n\n# Convert .local.md Settin..."
  },
  {
    "path": "docs/plans/2026-02-08-feat-pr-triage-and-merge-plan.md",
    "chars": 5494,
    "preview": "---\ntitle: PR Triage, Review & Merge\ntype: feat\ndate: 2026-02-08\n---\n\n# PR Triage, Review & Merge\n\n## Overview\n\nReview a..."
  },
  {
    "path": "docs/plans/2026-02-08-feat-simplify-plugin-settings-plan.md",
    "chars": 9550,
    "preview": "---\ntitle: Simplify Plugin Settings with .local.md Pattern\ntype: feat\ndate: 2026-02-08\n---\n\n# Simplify Plugin Settings..."
  },
  {
    "path": "docs/plans/2026-02-08-refactor-reduce-plugin-context-token-usage-plan.md",
    "chars": 9600,
    "preview": "---\ntitle: Reduce compound-engineering plugin context token usage\ntype: refactor\ndate: 2026-02-08\n---\n\n# Reduce compound..."
  },
  {
    "path": "docs/plans/2026-02-09-refactor-dspy-ruby-skill-update-plan.md",
    "chars": 5325,
    "preview": "---\ntitle: \"refactor: Update dspy-ruby skill to DSPy.rb v0.34.3 API\"\ntype: refactor\ndate: 2026-02-09\n---\n\n# Update dspy-..."
  },
  {
    "path": "docs/plans/2026-02-12-feat-add-cursor-cli-target-provider-plan.md",
    "chars": 12728,
    "preview": "---\ntitle: Add Cursor CLI as a Target Provider\ntype: feat\ndate: 2026-02-12\n---\n\n# Add Cursor CLI as a Target Provider\n\n#..."
  },
  {
    "path": "docs/plans/2026-02-14-feat-add-copilot-converter-target-plan.md",
    "chars": 11585,
    "preview": "---\ntitle: \"feat: Add GitHub Copilot converter target\"\ntype: feat\ndate: 2026-02-14\nstatus: complete\n---\n\n# feat: Add Git..."
  },
  {
    "path": "docs/plans/2026-02-14-feat-add-gemini-cli-target-provider-plan.md",
    "chars": 15800,
    "preview": "---\ntitle: Add Gemini CLI as a Target Provider\ntype: feat\nstatus: completed\ncompleted_date: 2026-02-14\ncompleted_by: \"Cl..."
  },
  {
    "path": "docs/plans/2026-02-14-feat-auto-detect-install-and-gemini-sync-plan.md",
    "chars": 12027,
    "preview": "---\ntitle: Auto-detect install targets and add Gemini sync\ntype: feat\nstatus: completed\ndate: 2026-02-14\ncompleted_date:..."
  },
  {
    "path": "docs/plans/2026-02-25-feat-windsurf-global-scope-support-plan.md",
    "chars": 30075,
    "preview": "---\ntitle: Windsurf Global Scope Support\ntype: feat\nstatus: completed\ndate: 2026-02-25\ndeepened: 2026-02-25\nprior: docs/..."
  },
  {
    "path": "docs/plans/2026-03-01-feat-ce-command-aliases-backwards-compatible-deprecation-plan.md",
    "chars": 13334,
    "preview": "---\ntitle: \"feat: Add ce:* command aliases with backwards-compatible deprecation of workflows:*\"\ntype: feat\nstatus: comp..."
  },
  {
    "path": "docs/plans/2026-03-01-fix-setup-skill-non-claude-llm-fallback-plan.md",
    "chars": 8067,
    "preview": "---\ntitle: \"fix: Setup skill fails silently on non-Claude LLMs due to AskUserQuestion dependency\"\ntype: fix\nstatus: acti..."
  },
  {
    "path": "docs/plans/2026-03-03-feat-sync-claude-mcp-all-supported-providers-plan.md",
    "chars": 23092,
    "preview": "---\ntitle: \"feat: Sync Claude MCP servers to all supported providers\"\ntype: feat\ndate: 2026-03-03\nstatus: completed\ndeep..."
  },
  {
    "path": "docs/plans/2026-03-15-001-feat-ce-ideate-skill-plan.md",
    "chars": 28231,
    "preview": "---\ntitle: \"feat: Add ce:ideate open-ended ideation skill\"\ntype: feat\nstatus: completed\ndate: 2026-03-15\norigin: docs/br..."
  },
  {
    "path": "docs/plans/2026-03-16-001-feat-issue-grounded-ideation-plan.md",
    "chars": 16462,
    "preview": "---\ntitle: \"feat: Add issue-grounded ideation mode to ce:ideate\"\ntype: feat\nstatus: complete\ndate: 2026-03-16\norigin: do..."
  },
  {
    "path": "docs/plans/2026-03-17-001-feat-release-automation-migration-beta-plan.md",
    "chars": 39052,
    "preview": "---\ntitle: \"feat: Migrate repo releases to manual release-please with centralized changelog\"\ntype: feat\nstatus: active\nd..."
  },
  {
    "path": "docs/plans/2026-03-18-001-feat-auto-memory-integration-beta-plan.md",
    "chars": 12938,
    "preview": "---\ntitle: \"feat: Integrate auto memory as data source for ce:compound and ce:compound-refresh\"\ntype: feat\nstatus: compl..."
  },
  {
    "path": "docs/plans/2026-03-22-001-feat-frontend-design-skill-rewrite-beta-plan.md",
    "chars": 15823,
    "preview": "---\ntitle: \"feat: Rewrite frontend-design skill with layered architecture and visual verification\"\ntype: feat\nstatus: co..."
  },
  {
    "path": "docs/plans/2026-03-23-001-feat-ce-review-beta-pipeline-mode-beta-plan.md",
    "chars": 19496,
    "preview": "---\ntitle: \"feat: Make ce:review-beta autonomous and pipeline-safe\"\ntype: feat\nstatus: active\ndate: 2026-03-23\norigin: d..."
  },
  {
    "path": "docs/plans/2026-03-23-001-feat-plan-review-personas-beta-plan.md",
    "chars": 39597,
    "preview": "---\ntitle: \"feat: Replace document-review with persona-based review pipeline\"\ntype: feat\nstatus: completed\ndate: 2026-03..."
  },
  {
    "path": "docs/plans/2026-03-23-001-feat-promote-plan-beta-skills-to-stable-plan.md",
    "chars": 6491,
    "preview": "---\ntitle: \"feat: promote ce:plan-beta and deepen-plan-beta to stable\"\ntype: feat\nstatus: completed\ndate: 2026-03-23\n---..."
  },
  {
    "path": "docs/plans/2026-03-25-001-feat-onboarding-skill-plan.md",
    "chars": 19077,
    "preview": "---\ntitle: \"feat: Add onboarding skill to generate ONBOARDING.md from repo crawl\"\ntype: feat\nstatus: complete\ndate: 2026..."
  },
  {
    "path": "docs/plans/2026-03-25-002-refactor-config-storage-redesign-plan.md",
    "chars": 39167,
    "preview": "---\ntitle: \"refactor: Redesign config and worktree-safe storage for compound-engineering\"\ntype: refactor\nstatus: active..."
  },
  {
    "path": "docs/plans/2026-03-26-001-feat-adversarial-review-agents-plan.md",
    "chars": 25868,
    "preview": "---\ntitle: \"feat: Add adversarial review agents for code and documents\"\ntype: feat\nstatus: completed\ndate: 2026-03-26\nde..."
  },
  {
    "path": "docs/plans/2026-03-26-001-refactor-merge-deepen-into-plan.md",
    "chars": 20942,
    "preview": "---\ntitle: \"refactor: Merge deepen-plan into ce:plan as automatic confidence check\"\ntype: refactor\nstatus: completed\ndat..."
  },
  {
    "path": "docs/plans/2026-03-27-001-refactor-ce-skill-prefix-rename-plan.md",
    "chars": 34355,
    "preview": "---\ntitle: \"refactor: Rename all skills and agents to consistent ce- prefix\"\ntype: refactor\nstatus: completed\ndate: 2026..."
  },
  {
    "path": "docs/plans/2026-03-28-001-feat-ce-review-headless-mode-plan.md",
    "chars": 21165,
    "preview": "---\ntitle: \"feat(ce-review): Add headless mode for programmatic callers\"\ntype: feat\nstatus: completed\ndate: 2026-03-28\no..."
  },
  {
    "path": "docs/plans/2026-03-29-001-feat-brainstorm-visual-aids-plan.md",
    "chars": 15676,
    "preview": "---\ntitle: \"feat(ce-brainstorm): Add conditional visual aids to requirements documents\"\ntype: feat\nstatus: completed\ndat..."
  },
  {
    "path": "docs/plans/2026-03-29-001-feat-iterative-optimization-loop-skill-beta-plan.md",
    "chars": 43648,
    "preview": "---\ntitle: \"feat(ce-optimize): Add iterative optimization loop skill\"\ntype: feat\nstatus: completed\ndate: 2026-03-29\norig..."
  },
  {
    "path": "docs/plans/2026-03-29-001-feat-testing-addressed-gate-plan.md",
    "chars": 16882,
    "preview": "---\ntitle: \"feat: Close the testing gap in ce:work, ce:plan, and testing-reviewer\"\ntype: feat\nstatus: active\ndate: 2026-..."
  },
  {
    "path": "docs/plans/2026-03-29-002-feat-plan-visual-aids-plan.md",
    "chars": 14714,
    "preview": "---\ntitle: \"feat(ce-plan): Add conditional visual aids to plan documents\"\ntype: feat\nstatus: completed\ndate: 2026-03-29..."
  },
  {
    "path": "docs/plans/2026-03-29-002-feat-pr-feedback-clustering-plan.md",
    "chars": 32095,
    "preview": "---\ntitle: \"feat(resolve-pr-feedback): Add feedback clustering to detect systemic issues\"\ntype: feat\nstatus: completed\nd..."
  },
  {
    "path": "docs/plans/2026-03-29-003-feat-pr-description-visual-aids-plan.md",
    "chars": 11305,
    "preview": "---\ntitle: \"feat(git-commit-push-pr): Add conditional visual aids to PR descriptions\"\ntype: feat\nstatus: completed\ndate:..."
  },
  {
    "path": "docs/plans/2026-03-30-001-feat-cli-readiness-review-persona-plan.md",
    "chars": 11768,
    "preview": "---\ntitle: \"feat: Add CLI agent-readiness conditional persona to ce:review\"\ntype: feat\nstatus: active\ndate: 2026-03-30\no..."
  },
  {
    "path": "docs/plans/2026-03-31-001-feat-codex-delegation-plan.md",
    "chars": 37291,
    "preview": "---\ntitle: \"feat: Add Codex delegation mode to ce:work\"\ntype: feat\nstatus: completed\ndate: 2026-03-31\norigin: docs/brain..."
  },
  {
    "path": "docs/plans/2026-04-01-001-feat-cross-invocation-cluster-analysis-plan.md",
    "chars": 20942,
    "preview": "---\ntitle: \"feat(resolve-pr-feedback): cross-invocation cluster analysis\"\ntype: feat\nstatus: completed\ndate: 2026-04-01..."
  },
  {
    "path": "docs/plans/2026-04-02-001-feat-slack-analyst-agent-plan.md",
    "chars": 23702,
    "preview": "---\ntitle: \"feat(ce-slack-researcher): Add Slack analyst research agent with workflow integration\"\ntype: feat\nstatus: ac..."
  },
  {
    "path": "docs/plans/2026-04-05-001-feat-universal-planning-plan.md",
    "chars": 21728,
    "preview": "---\ntitle: \"feat: Add universal planning support for non-software tasks\"\ntype: feat\nstatus: completed\ndate: 2026-04-05\no..."
  },
  {
    "path": "docs/plans/2026-04-09-001-feat-ce-work-token-extraction-plan.md",
    "chars": 13435,
    "preview": "---\ntitle: \"feat(ce-work): reduce token usage by extracting late-sequence references\"\ntype: feat\nstatus: completed\ndate:..."
  },
  {
    "path": "docs/plans/2026-04-15-001-feat-ce-polish-skill-plan.md",
    "chars": 79889,
    "preview": "---\ntitle: \"feat: Add /ce:polish skill for human-in-the-loop refinement before merge\"\ntype: feat\nstatus: active\ndate: 20..."
  },
  {
    "path": "docs/plans/2026-04-16-001-fix-ce-polish-beta-detection-gaps-plan.md",
    "chars": 41699,
    "preview": "---\ntitle: \"fix: Close ce-polish-beta detection gaps from PR #568 feedback\"\ntype: fix\nstatus: active\ndate: 2026-04-16\n--..."
  },
  {
    "path": "docs/plans/2026-04-17-001-feat-ce-ideate-mode-aware-v2-plan.md",
    "chars": 77079,
    "preview": "---\ntitle: \"feat: ce:ideate v2 — mode-aware ideation with web-researcher and opt-in persistence\"\ntype: feat\nstatus: acti..."
  },
  {
    "path": "docs/plans/2026-04-17-001-feat-ce-release-notes-skill-plan.md",
    "chars": 42340,
    "preview": "---\ntitle: \"feat: ce:release-notes skill — conversational lookup over plugin releases\"\ntype: feat\nstatus: active\ndate: 2..."
  },
  {
    "path": "docs/plans/2026-04-17-002-feat-ce-review-interactive-judgment-plan.md",
    "chars": 64537,
    "preview": "---\ntitle: \"feat: Add interactive judgment loop to ce:review\"\ntype: feat\nstatus: completed\ndate: 2026-04-17\norigin: docs..."
  },
  {
    "path": "docs/plans/2026-04-18-001-feat-ce-doc-review-autofix-and-interaction-overhaul-plan.md",
    "chars": 73395,
    "preview": "---\ntitle: ce-doc-review Autofix and Interaction Overhaul\ntype: feat\nstatus: active\ndate: 2026-04-18\norigin: docs/brains..."
  },
  {
    "path": "docs/plans/2026-04-18-001-refactor-native-install-cleanup-plan.md",
    "chars": 27090,
    "preview": "---\ntitle: \"refactor: Recenter installs on native packages and shared skill cleanup\"\ntype: refactor\nstatus: active\ndate:..."
  },
  {
    "path": "docs/plans/2026-04-20-001-feat-codex-native-plugin-manifests-plan.md",
    "chars": 41758,
    "preview": "---\ntitle: \"feat: Ship Codex-format plugin manifests alongside Claude manifests\"\ntype: feat\nstatus: active\ndate: 2026-04..."
  },
  {
    "path": "docs/plans/2026-04-20-001-fix-ce-compound-yaml-safety-plan.md",
    "chars": 7377,
    "preview": "---\ntitle: \"fix(ce-compound): quote YAML array items starting with reserved indicators\"\ntype: fix\nstatus: active\ndate: 2..."
  },
  {
    "path": "docs/plans/2026-04-21-001-feat-ce-plan-traceability-loop-plan.md",
    "chars": 39690,
    "preview": "---\ntitle: \"feat: ce-plan U-IDs and origin traceability loop\"\ntype: feat\nstatus: active\ndate: 2026-04-21\n---\n\n# feat: ce..."
  },
  {
    "path": "docs/plans/2026-04-21-001-refactor-ce-doc-review-anchored-confidence-scoring-plan.md",
    "chars": 31498,
    "preview": "---\ntitle: \"Refactor ce-doc-review confidence scoring to anchored rubric\"\ntype: refactor\nstatus: active\ndate: 2026-04-21..."
  },
  {
    "path": "docs/plans/2026-04-21-002-refactor-ce-code-review-precision-and-validation-plan.md",
    "chars": 50167,
    "preview": "---\ntitle: \"refactor: Adopt anchored confidence, validation gate, and mode-aware precision in ce-code-review\"\ntype: refa..."
  },
  {
    "path": "docs/plans/2026-04-22-001-feat-demo-reel-local-save-plan.md",
    "chars": 10454,
    "preview": "---\ntitle: \"feat(ce-demo-reel): Add local save as alternative to catbox upload\"\ntype: feat\nstatus: active\ndate: 2026-04-..."
  },
  {
    "path": "docs/plans/2026-04-25-001-fix-ce-code-review-lfg-defer-bias-plan.md",
    "chars": 38896,
    "preview": "---\ntitle: \"fix: Remove LFG defer-bias and bulk-preview gate in ce-code-review\"\ntype: fix\nstatus: active\ndate: 2026-04-2..."
  },
  {
    "path": "docs/plans/2026-04-26-feat-surface-scope-earlier-plan.md",
    "chars": 42781,
    "preview": "---\ntitle: \"feat: Surface scope earlier in ce-brainstorm and ce-plan via synthesis summaries\"\ntype: feat\nstatus: active..."
  },
  {
    "path": "docs/plans/2026-05-08-001-fix-ce-sessions-orchestration-refactor-plan.md",
    "chars": 57954,
    "preview": "---\ntitle: \"fix: Refactor session-history orchestration to avoid subagent Skill-tool deadlock\"\ntype: fix\nstatus: complet..."
  },
  {
    "path": "docs/plans/2026-05-11-001-feat-output-html-mode-plan.md",
    "chars": 47586,
    "preview": "---\ntitle: Add output:html mode to ce-plan and ce-brainstorm\ntype: feat\nstatus: active\ndate: 2026-05-11\n---\n\n# Add outpu..."
  },
  {
    "path": "docs/plans/2026-06-02-001-feat-ce-code-review-safe-autofix-plan.md",
    "chars": 14842,
    "preview": "---\ntitle: \"feat: Safe self-applied fixes for ce-code-review\"\ntype: feat\nstatus: active\ndate: 2026-06-02\n---\n# feat: Saf..."
  },
  {
    "path": "docs/plans/2026-06-04-001-feat-ce-plan-approach-altitude-plan.md",
    "chars": 32027,
    "preview": "---\ntitle: \"feat: ce-plan approach altitude — plan-for-a-plan as a first-class shape\"\ntype: feat\nstatus: active\ndate: 20..."
  },
  {
    "path": "docs/plans/2026-06-18-001-refactor-unified-plan-doc-artifact-plan.md",
    "chars": 72416,
    "preview": "---\ntitle: \"refactor: Unify brainstorm and plan artifacts\"\ntype: refactor\ndate: 2026-06-18\n---\n\n# refactor: Unify brains..."
  },
  {
    "path": "docs/plans/2026-06-22-001-feat-antigravity-target-remove-gemini-plan.md",
    "chars": 22078,
    "preview": "---\ntitle: \"feat: Add Antigravity (agy) target and remove Gemini CLI target\"\ndate: 2026-06-22\ntype: feat\nstatus: draft\no..."
  },
  {
    "path": "docs/plans/2026-06-26-001-chore-remove-ce-work-beta-plan.html",
    "chars": 30495,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initia..."
  },
  {
    "path": "docs/plans/2026-06-28-001-feat-ce-pov-skill-plan.md",
    "chars": 41307,
    "preview": "---\ntitle: ce-pov Skill - Plan\ntype: feat\ndate: 2026-06-28\ntopic: ce-pov-skill\nartifact_contract: ce-unified-plan/v1\nart..."
  },
  {
    "path": "docs/plans/2026-06-29-001-feat-shared-repo-grounding-cache-plan.md",
    "chars": 32460,
    "preview": "---\ntitle: Shared Repo-Grounding Profile Cache - Plan\ntype: feat\ndate: 2026-06-29\nartifact_contract: ce-unified-plan/v1..."
  },
  {
    "path": "docs/plans/2026-07-02-001-feat-ce-sweep-skill-plan.md",
    "chars": 52610,
    "preview": "---\ntitle: ce-sweep Feedback Sweep Skill - Plan\ntype: feat\ndate: 2026-07-02\ntopic: ce-sweep-skill\nartifact_contract: ce-..."
  },
  {
    "path": "docs/plans/2026-07-02-002-feat-ce-explain-skill-plan.md",
    "chars": 33597,
    "preview": "---\ntitle: ce-explain Skill - Plan\ntype: feat\ndate: 2026-07-02\ntopic: ce-explain-skill\nartifact_contract: ce-unified-pla..."
  },
  {
    "path": "docs/plans/2026-07-05-001-feat-devin-cli-native-plugin-support-plan.md",
    "chars": 18130,
    "preview": "---\ntitle: Native Devin CLI Plugin Support - Plan\ntype: feat\ndate: 2026-07-05\nartifact_contract: ce-unified-plan/v1\narti..."
  },
  {
    "path": "docs/plans/2026-07-07-001-feat-pr-concept-teaching-plan.md",
    "chars": 31583,
    "preview": "---\ntitle: PR Concept Teaching - Plan\ntype: feat\ndate: 2026-07-07\ntopic: pr-concept-teaching\nartifact_contract: ce-unifi..."
  },
  {
    "path": "docs/plans/2026-07-08-001-fix-model-alias-map-latest-generations-plan.md",
    "chars": 6752,
    "preview": "---\ntitle: \"fix: Bump Claude family alias map to latest generations (Sonnet 5, Opus 4.8)\"\ndate: 2026-07-08\nartifact_cont..."
  },
  {
    "path": "docs/plans/2026-07-09-001-feat-grok-plugin-support-plan.md",
    "chars": 21961,
    "preview": "---\nartifact_contract: ce-unified-plan/v1\nartifact_readiness: implementation-ready\nexecution: code\nproduct_contract_sour..."
  },
  {
    "path": "docs/plans/2026-07-09-001-fix-ce-test-browser-native-driver-plan.md",
    "chars": 4491,
    "preview": "# Native Browser Driver Selection Implementation Plan\n\n> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:su..."
  },
  {
    "path": "docs/plans/2026-07-09-002-feat-claude-code-fable-elevation-plan.md",
    "chars": 39067,
    "preview": "---\ntitle: Claude Code Fable Elevation - Plan\ntype: feat\ndate: 2026-07-09\ntopic: claude-code-fable-elevation\nartifact_co..."
  },
  {
    "path": "docs/plans/2026-07-09-003-feat-doc-review-cross-model-plan.md",
    "chars": 55266,
    "preview": "---\ntitle: Cross-Model Adversarial Review for ce-doc-review - Plan\ntype: feat\ndate: 2026-07-09\ntopic: doc-review-cross-m..."
  },
  {
    "path": "docs/plans/2026-07-11-001-feat-babysit-self-initiating-loop-plan.md",
    "chars": 22493,
    "preview": "---\ntitle: \"feat: ce-babysit-pr self-sustaining in-session watch loop + delegation-contract fix\"\ndate: 2026-07-11\nartifa..."
  },
  {
    "path": "docs/plans/2026-07-13-001-feat-code-review-line-provenance-plan.md",
    "chars": 13979,
    "preview": "---\ntitle: \"feat: Surface load-bearing line provenance in ce-code-review findings\"\ndate: 2026-07-13\nartifact_contract: c..."
  },
  {
    "path": "docs/plans/2026-07-13-001-fix-ce-proof-v3-owner-lifecycle-plan.md",
    "chars": 16893,
    "preview": "---\ntitle: \"fix: Migrate ce-proof to Proof v3 and owner credential lifecycle\"\ntype: fix\nstatus: active\ndate: 2026-07-13..."
  },
  {
    "path": "docs/plans/2026-07-13-002-feat-code-review-cross-model-provider-port-plan.md",
    "chars": 20886,
    "preview": "---\ntitle: \"feat: Port doc-review cross-model provider mechanics to ce-code-review adversarial pass\"\ndate: 2026-07-13\nar..."
  },
  {
    "path": "docs/plans/2026-07-14-001-feat-session-settled-decisions-plan.md",
    "chars": 36157,
    "preview": "---\ntitle: Session-Settled Decision Provenance - Plan\ntype: feat\ndate: 2026-07-14\nartifact_contract: ce-unified-plan/v1..."
  },
  {
    "path": "docs/plans/2026-07-14-001-fix-detached-peer-job-lifecycle-plan.md",
    "chars": 29642,
    "preview": "---\ntitle: Detached Peer Job Lifecycle for Cross-Model Review - Plan\ntype: fix\ndate: 2026-07-14\nartifact_contract: ce-un..."
  },
  {
    "path": "docs/plans/2026-07-14-002-feat-ce-pov-cross-model-panel-plan.md",
    "chars": 77222,
    "preview": "---\ntitle: ce-pov Cross-Model Panel - Plan\ntype: feat\ndate: 2026-07-14\ntopic: ce-pov-cross-model-panel\nartifact_contract..."
  },
  {
    "path": "docs/plans/2026-07-15-001-docs-readme-install-first-plan.md",
    "chars": 29480,
    "preview": "---\ntitle: README Install-First Reorder - Plan\ntype: docs\ndate: 2026-07-15\ntopic: readme-install-first\nartifact_contract..."
  },
  {
    "path": "docs/plans/2026-07-15-002-feat-ce-work-cross-model-execution-plan.md",
    "chars": 80861,
    "preview": "---\ntitle: CE Work Cross-Model Execution - Plan\ntype: feat\ndate: 2026-07-15\ntopic: ce-work-cross-model-execution\nartifac..."
  },
  {
    "path": "docs/plans/2026-07-16-001-feat-ce-handoff-session-continuity-plan.md",
    "chars": 28771,
    "preview": "---\ntitle: ce-handoff Session Continuity - Plan\ntype: feat\ndate: 2026-07-16\ntopic: ce-handoff-session-continuity\nartifac..."
  },
  {
    "path": "docs/plans/2026-07-17-001-eval-cross-model-peer-model-config.md",
    "chars": 24196,
    "preview": "# Eval: is `gpt-5.6-terra` (high) a non-inferior, cheaper, faster Codex peer than `gpt-5.6-sol`?\n\n> **Superseded (2026-0..."
  }
]

// ... and 844 more files (download for full content)

About this extraction

This page contains the full source code of the EveryInc/compound-engineering-plugin GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1044 files (12.9 MB), approximately 3.4M tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!