Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
"plugins": [
{
"name": "compound-engineering",
"description": "AI-powered development tools that get smarter with every use. Make each unit of engineering work easier than the last. Includes 29 specialized agents, 22 commands, and 20 skills.",
"version": "2.38.1",
"description": "AI-powered development tools that get smarter with every use. Make each unit of engineering work easier than the last. Includes 29 specialized agents, 23 commands, and 20 skills.",
"version": "2.39.0",
"author": {
"name": "Kieran Klaassen",
"url": "https://github.com/kieranklaassen",
Expand Down
4 changes: 2 additions & 2 deletions plugins/compound-engineering/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "compound-engineering",
"version": "2.38.1",
"description": "AI-powered development tools. 29 agents, 22 commands, 20 skills, 1 MCP server for code review, research, design, and workflow automation.",
"version": "2.39.0",
"description": "AI-powered development tools. 29 agents, 23 commands, 20 skills, 1 MCP server for code review, research, design, and workflow automation.",
"author": {
"name": "Kieran Klaassen",
"email": "kieran@every.to",
Expand Down
8 changes: 8 additions & 0 deletions plugins/compound-engineering/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ All notable changes to the compound-engineering plugin will be documented in thi
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [2.39.0] - 2026-03-02

### Added

- **`/lfg-ext` command** — LFG variant that delegates execution to external tools (Codex, Gemini CLI, OpenCode) running in parallel git worktrees instead of CE swarm agents. Token-efficient alternative to `/slfg` for teams that have external AI coding tools installed or want to preserve Claude Max20 budget for planning and review. Includes tool availability check with graceful fallback to `/slfg`, worktree isolation via the CE `git-worktree` skill's `worktree-manager.sh`, and a decision table for when to use `/lfg-ext` vs `/slfg`. Validated against a real Rust feature implementation.

---

## [2.38.1] - 2026-03-01

### Fixed
Expand Down
3 changes: 2 additions & 1 deletion plugins/compound-engineering/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ AI-powered development tools that get smarter with every use. Make each unit of
| Component | Count |
|-----------|-------|
| Agents | 29 |
| Commands | 22 |
| Commands | 23 |
| Skills | 20 |
| MCP Servers | 1 |

Expand Down Expand Up @@ -91,6 +91,7 @@ Core workflow commands use `ce:` prefix to unambiguously identify them as compou
|---------|-------------|
| `/lfg` | Full autonomous engineering workflow |
| `/slfg` | Full autonomous workflow with swarm mode for parallel execution |
| `/lfg-ext` | LFG with external delegates (Codex/Gemini/OpenCode) in parallel worktrees — token-efficient alternative to /slfg |
| `/deepen-plan` | Enhance plans with parallel research agents for each section |
| `/changelog` | Create engaging changelogs for recent merges |
| `/create-agent-skill` | Create or edit Claude Code skills |
Expand Down
96 changes: 96 additions & 0 deletions plugins/compound-engineering/commands/lfg-ext.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
---
name: lfg-ext
description: LFG with external delegates (Codex/Gemini CLI) in parallel worktrees — preserves Claude token budget while maintaining parallel execution
argument-hint: "[feature description]"
disable-model-invocation: true
---

External-delegate LFG. Uses CE for planning and review; replaces `/ce:work` swarm with external AI tools running in isolated git worktrees. Preserves Claude token budget for planning and review where it adds the most value.

Run these steps in order. Do not stop between steps — complete every step through to the end.

## Phase 1: Plan

1. `/ce:plan $ARGUMENTS`
2. `/compound-engineering:deepen-plan`
3. **Commit the plan** — worktrees only see committed git history, not the working tree. Uncommitted plan files are invisible to delegates.

```bash
git add docs/plans/ && git commit -m "plan: <feature>"
```

## Phase 2: Check tools & decompose

4. **Check which external tools are available:**

```bash
command -v codex && echo "codex: available" || echo "codex: not installed"
command -v gemini && echo "gemini: available" || echo "gemini: not installed"
```

If neither is installed, **stop here and run `/slfg` instead** — there's no point creating worktrees without delegates to fill them.

5. Read the generated plan. Identify tasks that target **different files/modules with no shared state**.

Good signal: tasks write to non-overlapping files.
Bad signal: tasks share a model, schema, config, or any single file — don't force it, fall back to `/slfg` or sequential `/ce:work`.

Aim for 2–4 parallel streams. More rarely helps.

## Phase 3: External Swarm

6. **Create one worktree per task** using the CE worktree manager:

```bash
bash ${CLAUDE_PLUGIN_ROOT}/skills/git-worktree/scripts/worktree-manager.sh create <task-branch>
```

The script handles `.env` file copying, `.gitignore` management, and directory setup automatically.

7. **Launch all delegates in parallel** — one per worktree, all backgrounded simultaneously.

Assign tasks to tools by type:

| Task type | Preferred tool | Command |
|-----------|----------------|---------|
| Multi-file, repo navigation, test loops | **Codex** | `cd .worktrees/<branch> && codex exec --full-auto "<prompt>"` |
| Algorithmic, isolated logic | **Gemini CLI** | `cd .worktrees/<branch> && gemini -p "<prompt>" --yolo` |

Each delegate prompt must include:
- Absolute file paths (let the delegate read — don't inline file contents)
- Constraints: "don't modify X", "keep existing patterns"
- Verification: "run `npm test` / `bin/rails test` / `pytest` to verify"
- "Implement fully. No stubs, no TODOs, no simplified versions."

8. **Wait for all delegates to complete.**

## Phase 4: Merge

9. For each worktree — review scope before merging:

```bash
git diff --stat <task-branch> # check for unexpected file changes
git merge <task-branch>
bash ${CLAUDE_PLUGIN_ROOT}/skills/git-worktree/scripts/worktree-manager.sh cleanup
```

Merge conflicts mean tasks weren't fully independent. Resolve manually, then continue.

## Phase 5: Review & Ship

10. `/ce:review`
11. `/compound-engineering:resolve_todo_parallel`

> Note: `/lfg-ext` omits `/feature-video` — external delegates don't produce a reviewable PR automatically, so a video walkthrough isn't meaningful until you've raised one manually.

---

## When to use vs /slfg

| Signal | Use |
|--------|-----|
| Want fully hands-off, token cost not a concern | `/slfg` |
| Token budget constrained, or tasks decompose cleanly by file | `/lfg-ext` |
| Tasks share files or state | `/slfg` or sequential `/ce:work` |
| Want Codex repo navigation or Gemini algorithmic strength | `/lfg-ext` |
| No external tools installed | `/slfg` |