Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

ce-setup — Claude Code skill: health check and config

Diagnoses Compound Engineering setup, validates repo-local config, and scaffolds new Packs. Use it to verify your environment or bootstrap a fresh Pack.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add EveryInc/compound-engineering-plugin --skill ce-setup -a claude-code
Open on GitHub

What ce-setup does

ce-setup runs a lightweight diagnostic: it checks which tools are available, reads .compound-engineering/config.yaml, resolves the artifact root directory, and reports on missing optional dependencies. If your repo is writable, the skill offers to fix issues it finds — refreshing the example config, removing obsolete files, creating or repairing config.yaml.

Pass an argument like pack:<id> to scaffold a new Compound Pack. The skill reads the template, waits for your approval, writes the pack structure and config entry, then runs the health check again.

ce-setup carries no dependencies beyond compound-engineering-plugin itself. Optional tools — Node.js, Python, Git, and others — are simply reported as missing; install them only for workflows you actually use.

What it helps with

  • Verify Compound Engineering is set up in your project
  • Create a new Compound Pack with config
  • Repair or bootstrap repository config
  • Find where CE artifacts will be stored
  • Refresh the example config to the current version

Example prompts for the agent

  • Check the health of Compound Engineering in my project
  • Scaffold a new Pack with ID pack:data-pipeline
  • Run ce-setup to initialize the current directory

How to install ce-setup

1Skills CLI (Vercel)

npx skills add EveryInc/compound-engineering-plugin --skill ce-setup -a claude-code

2Manually: put the files in place

~/.claude/skills/ce-setup/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/ce-setup/

From the same set21

The whole set →
ce-brainstorm EveryInc Turns vague ideas into a structured requirements plan through dialogue. Separates product decisions from code. Claude Code CX Codex Cursor +1 3,900installs ce-compound EveryInc A skill that captures non-obvious reasoning from solved problems as durable project knowledge. Use it when the final code works but the logic behind it might vanish when the next person reads the code. Claude Code CX Codex Cursor +1 3,700installs ce-plan EveryInc Builds structured technical implementation plans without touching production code. Useful when scoping features before passing work to execution agents. Claude Code CX Codex Cursor +1 3,700installs ce-code-review EveryInc Reviews a named diff or pull request for bugs, regressions, tests, and project standards. Use it for a current branch review or a specific PR. Claude Code CX Codex Cursor +1 3,700installs ce-work EveryInc Executes a plan document or build spec end-to-end with local verification. Ideal for implementing features without reopening architectural debates. Claude Code CX Codex Cursor +1 3,600installs ce-doc-review EveryInc This skill reviews requirements, plans, and specs through role-based reviewers. Use it to catch consequential issues in an existing document and apply fixes within the granted authority. Claude Code CX Codex Cursor +1 3,600installs ce-debug EveryInc Finds the root cause of a bug from trigger to symptom and applies a test-first fix. Useful when investigating broken behavior or failing CI logs. Claude Code CX Codex Cursor +1 3,500installs lfg EveryInc Takes a request from intake to a finished result and opens a pull request for code changes. Use it when the user explicitly wants autonomous end-to-end work. Claude Code CX Codex Cursor +1 3,500installs

Similar

printing-press mvanhorn Generates shippable Go CLI binaries from OpenAPI, HAR, or Postman specs through an automated 21-phase research, build, and test loop. Claude Code CX Codex Cursor +1 7,600installs chat-sdk vercel Assists in building multi-platform TypeScript chat bots using Vercel's Chat SDK. Useful when configuring unified bot logic across Slack, Discord, Telegram, or WhatsApp. Claude Code CX Codex Cursor +1 5,400installs dart-use-ffigen flutter Skill guides agents to generate FFI bindings via package:ffigen instead of hand-writing them. Use when creating or extending C/Objective-C/Swift native integrations. Claude Code CX Codex Cursor +1 13,900installs dart-setup-ffi-assets flutter Skill guides agents in automating compilation and packaging of C/C++ code into dynamic or static libraries via Dart's Native Assets system. Use it to integrate native code into Flutter or Dart packages. Claude Code CX Codex Cursor +1 13,800installs korean-jangbu-for NomaDamas Skill for automating microbusiness accounting in Korea: import bank data, tag transactions, generate tax consultant reports and management summaries. Claude Code CX Codex Cursor +1 6,000installs k-skill-cleaner NomaDamas Analyzes coding-agent skill trigger counts and interviews the developer to recommend unused K-skills for removal. Claude Code CX Codex Cursor +1 6,000installs setup-matt-pocock-skills Matt Pocock This skill configures a repository for Matt Pocock's engineering skills by setting its issue tracker, triage labels, and domain docs layout. Run it before using the other skills. Claude Code 1,052,851installs to-tickets Matt Pocock Turns a plan, spec, or conversation into small end-to-end tickets with explicit blockers. Use it to agree on the work breakdown before tickets go to a tracker. Claude Code 711,230installs

Questions about ce-setup

How do I install ce-setup in Claude Code?

Run npx skills add EveryInc/compound-engineering-plugin --skill ce-setup -a claude-code. The skill will then be available at ~/.claude/skills/ce-setup/SKILL.md.

What does ce-setup do?

It diagnoses whether Compound Engineering is installed and configured correctly, validates your repo config, helps you create new Packs, and fixes common configuration issues.

Do I need to install all the optional tools ce-setup reports?

No. ce-setup just reports which tools are present and which are missing. Install only the ones you need for your workflows.

Source text

SKILL.md · MIT
---
name: ce-setup
description: "Check Compound Engineering health and repo-local config, or scaffold a Compound Pack with `pack:<id>`."
argument-hint: "[pack:<id>]"
disable-model-invocation: true
---

# Compound Engineering Setup

## Interaction Method

Ask each question below using the host's blocking question tool already in the current tool list (match by capability, not by a host-specific name). Presence in the current tool list is proof the tool exists; never call a user-facing question tool to discover whether it exists. If a matching tool is listed but unloaded, use the host's tool-discovery primitive to load that capability — do not search for another host's tool name. Fall back to a numbered list on the host's user-visible chat surface only when no such tool is in the list or a real question call errors. Never silently skip or auto-configure.

`ce-setup` is a lightweight health check and repo-local config helper. It does **not** bulk-install every optional dependency. Missing tools are reported as optional capabilities so the user can install only the workflows they use.

## Pack Scaffold

When the invocation names a Compound Pack to add, create, or scaffold (the `pack:<id>` argument, or the same request in words), read `references/pack-scaffold.md` from this skill's directory and follow it in place of Phases 1-2 (Diagnose and Fix Repo-Local Issues): it writes the pack and its config entry only after the user approves, runs the health check itself, and reports into Phase 3 (Summary).

## Artifact Root Resolution

Every Compound Engineering skill that writes or reads an artifact directory (`solutions`, `plans`, `ideation`, and the other CE-owned trees) resolves its root through the rule below. `ce-setup` carries the canonical statement and reports the resolved root so an operator can confirm where artifacts land before running other skills.

<!-- ce-docs-root:start -->
**Resolve the CE artifact root `<root>` before composing any artifact path.**

- **Read** `docs_root` from `<repo-root>/.compound-engineering/config.yaml` only (`<repo-root>` = `git rev-parse --show-toplevel`). Do not read it from `config.local.yaml`. Unset -> `<root>` is `docs`, exactly as before.
- **Validate** a set value: a repo-relative directory whose real, symlink-resolved path stays inside the repo and is neither the repo root nor under `.git/`. Otherwise stop with an error naming `docs_root` and the value -- never fall back to `docs`.
- **Use** `<root>` as the sole artifact location: create it if absent, compose each path as `<root>/<subdir>` with this skill's own subdirectory, and never also read `docs`.
<!-- ce-docs-root:end -->

## Phase 1: Diagnose

### Step 1: Determine Plugin Version

Detect the installed compound-engineering plugin version by reading the plugin metadata or manifest when the platform exposes it. If the version cannot be determined, skip this step.

If a version is found, pass it to the check script via `--version`. Otherwise omit the flag.

### Step 2: Run the Health Check

Before running the script, display:

```text
Compound Engineering -- checking your environment...
```

Run the bundled check script. Set `SKILL_DIR` to the absolute directory you loaded this `ce-setup` SKILL.md from — the Bash tool's CWD is the user's project, not the skill dir, so a bare `scripts/` path will not resolve:

```bash
SKILL_DIR="<absolute path of the directory containing this SKILL.md>";
if [ -f "$SKILL_DIR/scripts/check-health" ]; then bash "$SKILL_DIR/scripts/check-health" --version VERSION; else echo "Bundled health script not found at $SKILL_DIR/scripts/check-health; run the inline checks from ce-setup instead."; fi
```

Use the same command without `--version VERSION` if Step 1 could not determine a version.

If the script is unavailable, run the inline equivalent listed in `references/repo-fixes.md`.

Display the diagnostic output to the user. Missing optional tools are not setup failures. The health report includes the resolved artifact root and which config layer supplied it (per Artifact Root Resolution above); show that line so the operator can confirm where CE artifacts will be written. Missing `config.yaml` is a reported absence, not a project issue.

### Step 3: Decide Whether Fixes Are Needed

Repo-local fixes the health report names apply only to the checkout that report diagnosed. If Phase 2 will write to a different writable checkout, diagnose that checkout first. Session-level findings such as plugin version and optional tools still come from this session's Phase 1.

After the health report, decide Phase 2 from writable-checkout availability:

- If this session has a writable git checkout, run Phase 2 locally, including when `project_issues` is 0. Phase 2 always refreshes the example and always offers to create `config.yaml` when that file is missing.
- If this session has no writable checkout, but the user named a repository and the harness exposes a remote repo-work surface with a writable checkout, run Phase 2 on that surface instead and report the remote repo-local fixes in Phase 3.
- Otherwise skip Phase 2 and go to Phase 3, saying repo-local writes were skipped because no writable checkout is available.

Two offers concern this machine rather than the checkout, so they stand whether or not Phase 2 runs. If the report names a legacy Compound Codex tool map, offer to remove it following `references/legacy-codex-tool-map.md` from this skill's directory. If the bundled health script reported the `node` row available, offer to warm the npm cache for cross-model peers following `references/acpx-cache-warm.md`.

Also remediate these project issues when the report names them:

- obsolete `compound-engineering.local.md`
- `.compound-engineering/config.local.yaml` exists but is not safely gitignored
- `.compound-engineering/config.example.yaml` is missing or outdated
- the health report marks the `ce-work` skill implementation engine unavailable or invalid, detects retired scalar routing keys, or reports malformed dormant `work_engine_preferences` or a malformed `work_engine_effort`
- the health report marks `docs_root` invalid (`Invalid docs_root ...`) — CE artifacts will not be written until it is fixed

If optional tools are missing, do not offer a bulk install. The diagnostic already printed the relevant install command or project URL. Say: "Install optional tools only for the workflows you use."

## Phase 2: Fix Repo-Local Issues

Read `references/repo-fixes.md` from this skill's directory before making any repo-local change. It carries Steps 4-9: removing the obsolete `compound-engineering.local.md`, refreshing the example config, offering to create `config.yaml`, repairing invalid `work_engine_preferences` and `docs_root`, the two `.gitignore` offers, and the agent-instructions offers (a knowledge-store mention, the compounding directive, and the chat-register directive for `ce-noslop`).

All paths there resolve from the repository root (`git rev-parse --show-toplevel`), not the current working directory. Maintaining the generated example files is the work Phase 2 does on its own — refreshing `config.example.yaml` and removing the superseded `config.local.example.yaml`. Every change to a user-owned file is offered and applied only if the user approves.

## Phase 3: Summary

**User-runnable invocation rendering.** In setup summaries, default to `/ce-setup`; use `$ce-setup` only when the active host is Codex or explicitly documents dollar-prefixed skill invocation. On oh-my-pi (`omp`), use `/skill:ce-setup`. Render only the invocation as inline code and output one form only.

Display a brief summary:

```text
✅ Compound Engineering setup complete

Fixed:     <fixes applied, or none>
Skipped:   <fixes declined, or none>
Optional:  <missing optional tools, or all available>

Run `<rendered invocation>` anytime to re-check.
```

© EveryInc · MIT · EveryInc/compound-engineering-plugin

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor