home / skills / everyinc / compound-engineering-plugin / setup

This skill helps configure which review agents run for your project by auto-detecting stack and writing compound-engineering.local.md.

npx playbooks add skill everyinc/compound-engineering-plugin --skill setup

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
5.1 KB
---
name: setup
description: Configure which review agents run for your project. Auto-detects stack and writes compound-engineering.local.md.
disable-model-invocation: true
---

# Compound Engineering Setup

Interactive setup for `compound-engineering.local.md` — configures which agents run during `/workflows:review` and `/workflows:work`.

## Step 1: Check Existing Config

Read `compound-engineering.local.md` in the project root. If it exists, display current settings summary and use AskUserQuestion:

```
question: "Settings file already exists. What would you like to do?"
header: "Config"
options:
  - label: "Reconfigure"
    description: "Run the interactive setup again from scratch"
  - label: "View current"
    description: "Show the file contents, then stop"
  - label: "Cancel"
    description: "Keep current settings"
```

If "View current": read and display the file, then stop.
If "Cancel": stop.

## Step 2: Detect and Ask

Auto-detect the project stack:

```bash
test -f Gemfile && test -f config/routes.rb && echo "rails" || \
test -f Gemfile && echo "ruby" || \
test -f tsconfig.json && echo "typescript" || \
test -f package.json && echo "javascript" || \
test -f pyproject.toml && echo "python" || \
test -f requirements.txt && echo "python" || \
echo "general"
```

Use AskUserQuestion:

```
question: "Detected {type} project. How would you like to configure?"
header: "Setup"
options:
  - label: "Auto-configure (Recommended)"
    description: "Use smart defaults for {type}. Done in one click."
  - label: "Customize"
    description: "Choose stack, focus areas, and review depth."
```

### If Auto-configure → Skip to Step 4 with defaults:

- **Rails:** `[kieran-rails-reviewer, dhh-rails-reviewer, code-simplicity-reviewer, security-sentinel, performance-oracle]`
- **Python:** `[kieran-python-reviewer, code-simplicity-reviewer, security-sentinel, performance-oracle]`
- **TypeScript:** `[kieran-typescript-reviewer, code-simplicity-reviewer, security-sentinel, performance-oracle]`
- **General:** `[code-simplicity-reviewer, security-sentinel, performance-oracle, architecture-strategist]`

### If Customize → Step 3

## Step 3: Customize (3 questions)

**a. Stack** — confirm or override:

```
question: "Which stack should we optimize for?"
header: "Stack"
options:
  - label: "{detected_type} (Recommended)"
    description: "Auto-detected from project files"
  - label: "Rails"
    description: "Ruby on Rails — adds DHH-style and Rails-specific reviewers"
  - label: "Python"
    description: "Python — adds Pythonic pattern reviewer"
  - label: "TypeScript"
    description: "TypeScript — adds type safety reviewer"
```

Only show options that differ from the detected type.

**b. Focus areas** — multiSelect:

```
question: "Which review areas matter most?"
header: "Focus"
multiSelect: true
options:
  - label: "Security"
    description: "Vulnerability scanning, auth, input validation (security-sentinel)"
  - label: "Performance"
    description: "N+1 queries, memory leaks, complexity (performance-oracle)"
  - label: "Architecture"
    description: "Design patterns, SOLID, separation of concerns (architecture-strategist)"
  - label: "Code simplicity"
    description: "Over-engineering, YAGNI violations (code-simplicity-reviewer)"
```

**c. Depth:**

```
question: "How thorough should reviews be?"
header: "Depth"
options:
  - label: "Thorough (Recommended)"
    description: "Stack reviewers + all selected focus agents."
  - label: "Fast"
    description: "Stack reviewers + code simplicity only. Less context, quicker."
  - label: "Comprehensive"
    description: "All above + git history, data integrity, agent-native checks."
```

## Step 4: Build Agent List and Write File

**Stack-specific agents:**
- Rails → `kieran-rails-reviewer, dhh-rails-reviewer`
- Python → `kieran-python-reviewer`
- TypeScript → `kieran-typescript-reviewer`
- General → (none)

**Focus area agents:**
- Security → `security-sentinel`
- Performance → `performance-oracle`
- Architecture → `architecture-strategist`
- Code simplicity → `code-simplicity-reviewer`

**Depth:**
- Thorough: stack + selected focus areas
- Fast: stack + `code-simplicity-reviewer` only
- Comprehensive: all above + `git-history-analyzer, data-integrity-guardian, agent-native-reviewer`

**Plan review agents:** stack-specific reviewer + `code-simplicity-reviewer`.

Write `compound-engineering.local.md`:

```markdown
---
review_agents: [{computed agent list}]
plan_review_agents: [{computed plan agent list}]
---

# Review Context

Add project-specific review instructions here.
These notes are passed to all review agents during /workflows:review and /workflows:work.

Examples:
- "We use Turbo Frames heavily — check for frame-busting issues"
- "Our API is public — extra scrutiny on input validation"
- "Performance-critical: we serve 10k req/s on this endpoint"
```

## Step 5: Confirm

```
Saved to compound-engineering.local.md

Stack:        {type}
Review depth: {depth}
Agents:       {count} configured
              {agent list, one per line}

Tip: Edit the "Review Context" section to add project-specific instructions.
     Re-run this setup anytime to reconfigure.
```

Overview

This skill configures which review agents run for your project and writes a compound-engineering.local.md file in the repo root. It auto-detects the project stack, offers an interactive flow to customize focus and review depth, and persists a reproducible agent list and plan settings.

How this skill works

It looks for an existing compound-engineering.local.md and offers to view, reconfigure, or keep it. It auto-detects the project type (Rails, Python, TypeScript, JavaScript, or general) from common files and then either auto-configures sensible defaults or walks you through stack selection, focus areas, and review depth. Finally it composes the agent lists, writes compound-engineering.local.md, and summarizes the saved configuration.

When to use it

  • Initial project onboarding to establish automated reviewers
  • Whenever you want to change which agents run during /workflows:review or /workflows:work
  • After adding a new framework or major language change to the codebase
  • When you need a repeatable, team-shared review configuration file

Best practices

  • Run the setup from the repository root so detection reads project files correctly
  • Use Auto-configure for quick sensible defaults, customize when you need tailored agents
  • Keep the Review Context section updated with project-specific instructions and runtime constraints
  • Re-run setup after major architecture changes or when adding new priorities (security, performance)
  • Choose ‘Thorough’ for critical releases and ‘Fast’ for quicker iterative reviews

Example use cases

  • A Rails app: auto-detects rails and enables DHH-style and kieran Rails reviewers plus security and performance agents
  • A TypeScript service: selects TypeScript-specific reviewers and code simplicity plus optional performance checks
  • A small Python library: pick Python reviewers with focused security and simplicity scans for fast PR reviews
  • A general codebase: use code-simplicity, security, performance, and architecture strategists when no specific stack is detected
  • Switching to comprehensive audits before a major release to include git-history-analyzer and data-integrity-guardian

FAQ

What happens if the file already exists?

You can view the current file, re-run the interactive setup to overwrite, or cancel to keep it unchanged.

How are agents chosen for each stack?

Each stack maps to curated stack-specific reviewers. Focus area selections add corresponding agents. Depth determines whether extra comprehensive agents (git-history-analyzer, data-integrity-guardian, agent-native-reviewer) are included.