| name | init |
| description | Initialize cc-suite for the current project — sets up the AGENTS.md bridge, registers Codex, Claude, and Antigravity MCP surfaces, and generates a .cc-suite.md config. Skill counterpart to /cc-suite:init. |
| version | 0.3.2 |
Init
Bootstrap cc-suite in the current project.
When to Use
- Setting up a project for the first time
- Re-initializing after cloning a repo that already has
AGENTS.md
- Walks through the same setup flow as
/cc-suite:init — useful when the agent should drive the steps in conversation rather than via a slash command
Workflow
Step 0: Resolve the plugin root
CLAUDE_PLUGIN_ROOT is set by Claude Code only — in a Codex or Antigravity session it is unset. Resolve the root from the bridged skills symlink (it points at <plugin-root>/skills/cc-suite):
PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:-$(dirname "$(dirname "$(readlink -f .claude/skills/cc-suite 2>/dev/null)")")}"
[ -d "${PLUGIN_ROOT}/scripts" ] || echo "! cannot resolve the cc-suite plugin root — run /cc-suite:bridge-skills from Claude Code first, or export CLAUDE_PLUGIN_ROOT"
Every command below uses ${PLUGIN_ROOT}. Stop if it could not be resolved.
Step 1: Check for existing config
[ -f .cc-suite.md ] && echo "exists" || echo "missing"
If it exists, read it and ask the user:
- Show — display the file and stop
- Regenerate — replace with a fresh config (proceed through questions)
- Cancel — keep as-is and stop
Step 2: Detect project stack
Run these checks to build the stack description:
[ -f package.json ] && echo "node"
[ -f requirements.txt ] || [ -f pyproject.toml ] && echo "python"
[ -f go.mod ] && echo "go"
[ -f Cargo.toml ] && echo "rust"
[ -f Gemfile ] && echo "ruby"
[ -f pom.xml ] || [ -f build.gradle ] && echo "java"
ls *.csproj *.sln 2>/dev/null && echo "dotnet"
[ -f jest.config.js ] || [ -f vitest.config.ts ] && echo "jest/vitest"
[ -f pytest.ini ] || [ -f conftest.py ] && echo "pytest"
[ -d src ] && echo "src/"
[ -d lib ] && echo "lib/"
[ -d app ] && echo "app/"
Detect the test command from what the project declares — a framework marker
alone does not establish the command:
package.json: read scripts.test. Missing or the npm placeholder
(Error: no test specified) → unknown. Otherwise pick the runner from
the lockfile: pnpm-lock.yaml → pnpm test, yarn.lock → yarn test,
bun.lock* → bun run test, else npm test.
pytest.ini / conftest.py → pytest
go.mod with *_test.go files → go test ./...
Cargo.toml → cargo test
Gemfile + spec/ → bundle exec rspec
- Nothing reliable → write
unknown rather than guessing.
Step 3: Discover the current Codex default
Run the shared Codex preflight before asking for configuration:
bash "${PLUGIN_ROOT}/scripts/codex-preflight.sh"
Use default_model and the per-model reasoning_efforts (from the
models_detail entry matching default_model; top-level reasoning_efforts
for older preflight output) to phrase the questions in Step 4. The preflight
dynamically prefers the latest available general-purpose model and deprioritizes
review-only entries, so they are never the default while a general model exists.
Do not write the resolved default_model slug into the config unless the user
explicitly pins it in Step 4 — the config records a policy (latest, or a
deliberate pin), not a snapshot. If the preflight cannot discover models, skip
the model question and write latest.
Step 4: Ask customization questions (conversational)
Ask the user four questions in sequence (three when preflight failed — skip the
model policy question and write latest):
- Audit focus — balanced / security-first / performance-first / quality-first (default: balanced)
- Audit depth — mini (5 dimensions, faster) / full (9 dimensions) (default: mini)
- Model policy — track latest (default; currently resolves to
{default_model}, never goes stale) / pin {default_model} (fixed until the user edits .cc-suite.md)
- Reasoning effort — offer the levels from the selected per-model
reasoning_efforts list (default: high when available, otherwise the highest offered; fall back to high / medium / low when preflight failed or the list is empty)
Step 5: Generate .cc-suite.md
Write .cc-suite.md to the project root:
# CC-Suite Configuration
Project-specific settings for cc-suite commands.
Generated by `/cc-suite:init`. Edit freely — all fields are optional.
## Project
- **Stack**: {detected stack}
- **Test command**: {detected test command or "unknown"}
- **Source directories**: {detected dirs}
## Defaults
These override the built-in defaults for all commands in this project.
Remove a line to fall back to the built-in default.
`latest` is a policy, not a model name: Codex-delegating commands resolve it to
the newest general-purpose Codex model via preflight. Replace it with a concrete
slug (any entry from the preflight model list) only to pin — pins stop tracking
the catalog.
- **Default model**: {"latest", or the pinned slug if the user chose to pin}
- **Default effort**: {chosen effort}
- **Default audit type**: {chosen audit type}
- **Default sandbox**: workspace-write
## Audit Focus
{chosen focus}
Additional instructions appended to every audit's developer-instructions:
```text
{focus-specific instructions}
```
## Skip Patterns
Files and directories to always skip during audits (glob patterns):
```text
node_modules/
dist/
build/
coverage/
*.min.js
*.bundle.js
*.lock
vendor/
.git/
```
## Project-Specific Instructions
Custom instructions appended to Codex's developer-instructions for every command.
```text
{stack-derived instructions from Step 2 detection, e.g. "This is a {detected stack} project. Follow existing patterns in {detected dirs}." Leave empty when nothing was detected.}
```
Focus-specific instructions:
- balanced: "Give equal attention to all audit dimensions."
- security-first: "Prioritize security findings. Flag any auth bypass, injection, data exposure, or cryptographic weakness as Critical regardless of other severity heuristics."
- performance-first: "Prioritize performance findings. Flag N+1 queries, O(n²) algorithms, memory leaks, and blocking I/O as High regardless of other severity heuristics."
- quality-first: "Prioritize code quality findings. Flag untested critical paths, high cyclomatic complexity, and DRY violations as High regardless of other severity heuristics."
Step 6: Bridge init
bash "${PLUGIN_ROOT}/scripts/init.sh"
Creates AGENTS.md, CLAUDE.md (@AGENTS.md), Codex scaffolding, the
.agents/skills bridge, and the .gitignore block. (The generated
.agents/mcp_config.json projection is written later, by bridge_mcp.sh in
Step 8.) Antigravity CLI (agy) reads AGENTS.md natively and uses .agents/
workspace assets. It does not create new Gemini-era project scaffolding. Skips
each artifact if already correct.
Step 7: Expose skills
bash "${PLUGIN_ROOT}/scripts/bridge_skills.sh"
Step 8: Register codex-cli MCP server
bash "${PLUGIN_ROOT}/scripts/mcp_codex.sh"
bash "${PLUGIN_ROOT}/scripts/bridge_mcp.sh"
The bridge writes the Codex projection and the generated agy workspace MCP
projection. It also registers the pinned claude-code server for agy → Claude.
Step 9: Register claude-code MCP server
bash "${PLUGIN_ROOT}/scripts/mcp_claude.sh"
Step 10: Final status
bash "${PLUGIN_ROOT}/scripts/status.sh"
Report:
cc-suite initialized
Bridge artifacts: {status summary}
Claude → Codex: .mcp.json has codex-cli registered ✓
Codex → Claude: .codex/config.toml has claude-code registered ✓
agy → Claude: .agents/mcp_config.json has claude-code when the projection is available ✓
Project config: .cc-suite.md written ({focus}, {depth}, effort={effort})
Next steps:
Edit AGENTS.md to add project-specific conventions
Run /cc-suite:audit-fix to test the full cycle
Run /cc-suite:diagnose to verify health at any time
Commit AGENTS.md, .cc-suite.md, .mcp.json to share with your team
Example Invocations
Context: A brand-new project needs cc-suite set up from inside the conversation.
user: "Set cc-suite up for this project and walk me through the choices."
assistant: "I'll run the init skill — it detects the stack, asks the setup questions, then bootstraps AGENTS.md and the MCP registrations."
Context: The repo already carries an AGENTS.md written for another tool.
user: "There's already an AGENTS.md here from Codex — can cc-suite still work?"
assistant: "I'll use init, which detects the existing AGENTS.md and adds the cc-suite bridge artifacts around it rather than overwriting it."