Claude Code writes code fast. It's worse at writing the code your team would actually ship — code that follows your conventions, has tests you trust, and survives review.
Squid is a Claude Code plugin that turns a feature spec into a reviewed PR through a 5-agent pipeline — PA → SWE → Tester → PR Reviewer → On-Call — with exactly two human gates: plan approval and final merge. No file templates, no render step: just markdown specs and agent contracts, and every file in your project gets written by an agent that reads them.
Run /plan <feature-spec> then /implement-night, and Squid drives this end-to-end:
feature spec
│
▼ /plan
┌──────────────────────────────────────────────────────────────┐
│ grill → PA grooms Tasks Plan (+ADR) → HUMAN approves (1/2) │
│ → branch + worktree │
└──────────────────────────────────────────────────────────────┘
│ /implement-night (runs end-to-end in the worktree)
▼
┌─────────────────┐ ┌──────────────────────┐ ┌─────────────────┐
│ /implement-task │──▶ │ /review │──▶ │ /review-ci │
│ SWE ↔ Tester │ │ push → PA accept → │ │ On-Call drives │
│ commit each task│ │ PR-Reviewer │ │ CI to green │
└─────────────────┘ └──────────────────────┘ └─────────────────┘
│
▼
HUMAN squash-merges (2/2)
Branch + worktree, grooming, the per-task implement/verify loop, push, diff review, and CI are all automated — you only show up for the two gates. For a quick single change, run /implement-task <task> (the same SWE ↔ Tester loop, no planning or review pipeline). Starting from an empty repo? Run /scaffold first — it interviews you about the stack and writes a tailored AGENTS.md plus a folder skeleton (no application source).
- Yes: solo devs and small teams shipping Python backends, TypeScript frontends, or Go TUIs who want Claude Code to consistently hit your team's bar without re-explaining conventions every session.
- Maybe not: teams with an established in-house agent pipeline they don't want to displace, or stacks Squid doesn't cover yet (Rust, Java, mobile — PRs welcome).
▎ Join 40k+ engineers subscribed to the Decoding AI Magazine — and learn to build agentic coding frameworks like Squid from scratch.
/plugin marketplace add iusztinpaul/squid
/plugin install squid@iusztinpaul
That's it. Open any repo in Claude Code; the agents and skills appear in /agents and /help. Run /plugin marketplace update iusztinpaul later to pull fresh changes.
Installing Squid also pulls in three plugins the agent team relies on, all from Anthropic's official claude-plugins-official marketplace — context7 (live library docs via MCP), code-review, and commit-commands. That marketplace ships with Claude Code, so these resolve and enable on their own. (Requires Claude Code v2.1.143+ for auto-enable; v2.1.110+ for the dependency mechanism. If a dependency fails to resolve, run /plugin marketplace update claude-plugins-official.)
Per-project install — auto-prompt for everyone who clones a specific repo
Commit this into the target repo's .claude/settings.json:
{
"extraKnownMarketplaces": {
"iusztinpaul": {
"source": {
"source": "github",
"repo": "iusztinpaul/squid"
}
}
},
"enabledPlugins": {
"squid@iusztinpaul": true
}
}When a teammate (or future-you on a fresh machine) opens that repo and trusts the folder, Claude Code prompts them to add the marketplace and install in one step. enabledPlugins alone isn't enough — extraKnownMarketplaces is what tells Claude Code where squid@iusztinpaul resolves to.
Local plugin development — test uncommitted changes to Squid itself
claude --plugin-dir /path/to/squid
Launches Claude Code with the plugin loaded for the session. No marketplace, no install, no cache. Re-run after edits. This is the only path that exercises your local working tree directly on Claude Code v2.1+.
/plugin marketplace add /path/to/squidreads the localmarketplace.jsonbut the plugin'ssourcepoints at GitHub — so the install still fetches fromiusztinpaul/squid, not your working tree.
Install just the skills (any agent) — via npx skills
Not on Claude Code, or only want Squid's skills without the full plugin? Use the cross-agent skills CLI:
npx skills add iusztinpaul/squid
It scans the repo for SKILL.md files and installs them into whichever agents it detects (Claude Code, Cursor, Codex, and 70+ more). Add -g to install into your user directory instead of the current project, or --skill <name> to grab specific ones:
npx skills add iusztinpaul/squid --skill plan --skill implement-task -g
Manage them with npx skills list, npx skills update, and npx skills remove <name>.
Skills only. This installs the
/plan,/implement-task, … skills but not Squid's five sub-agents (PA, SWE, Tester, PR-Reviewer, On-Call) or the bundled MCP plugins. The pipeline skills invoke those agents, so the full flow only works through the/plugin installpath above — reach fornpx skillswhen you want individual skills inside another agent.
Uninstall
/plugin uninstall squid@iusztinpaul
To also forget the marketplace (stops it checking for updates):
/plugin marketplace remove iusztinpaul
Installed via npx skills instead? Remove those with npx skills remove <name> (add --global if you used -g, or --all to clear everything).
| Surface | What it does |
|---|---|
/scaffold |
Interactive bootstrap. Asks what you're building (backend / frontend / TUI / mix), reads the relevant specs, writes a tailored AGENTS.md, and lays down an empty folder skeleton. Run /plan next to start building. |
/plan <feature-spec> |
Plan a feature: grill the spec, PA grooms an approved Tasks Plan (+ optional ADR), create the branch + worktree. Start here. |
/implement-night <plan> |
End-to-end single-feature pipeline (the diagram above) — builds the approved plan to a validated PR. |
/implement-task · /review · /review-ci |
Granular pipeline stages, runnable standalone: build tasks · push + acceptance + diff review · CI validation. |
/refactor · /triage-issue · /architecture-review |
Standalone planning/intake helpers (not wired into the main pipeline). |
product-architect, software-engineer, tester, pr-reviewer, oncall-engineer |
Sub-agents invoked by the pipelines; also usable directly via the Agent tool. |
testing-python, grilling, self-improve |
Support skills the pipelines and agents lean on. |
The /scaffold spec library (under skills/scaffold/specs/) covers:
- Python: backend layout, uv, pyproject, ruff, FastAPI, FastMCP, CLI tools
- TypeScript frontend: package/tsconfig/vite conventions, React, Vue, Svelte, vanilla
- Go TUI: layout + Bubbletea / tview patterns
- Infra: Docker, docker-compose, GitHub Actions monorepo CI, OpenAPI contracts
- Process: monorepo layout, Makefile delegator, tracker workflow
Several specs are still stubs — the foundations are filled in (python-backend, typescript-frontend, go-tui, uv-python, pyproject, makefile-delegator, monorepo-layout); the rest are good first contributions.
Issues and PRs welcome — especially new specs (Rust, Java, mobile, additional Python/TS frameworks) and stub fill-ins. See CONTRIBUTING.md to get started, and CLAUDE.md for the underlying plugin-dev conventions.
In an empty directory:
/scaffold
The skill asks what you want to build (components, frameworks, infra, license) and writes:
AGENTS.md— project brief distilled from the relevant specs (plus a one-lineCLAUDE.mdthat points to it)- Skeleton
packages/<component>/directories with placeholder Makefiles and component-levelAGENTS.mds - Root
Makefile,.env.example,.gitignore - Optional:
docker-compose.yml,.github/workflows/,tasks/
It does not write application source. That's the next step:
/implement-task "Bootstrap packages/backend with a FastAPI /health endpoint and one unit test."
The SWE agent reads AGENTS.md, picks up the specs it references, writes real code + tests, hands off to the Tester, and commits the task once it passes.
- Specs over templates. Opinions live as markdown the agent reads — no Jinja, no render step, no drift between a template and what the agent produces.
- Progressive disclosure. A session loads only the skills whose descriptions match the task; the spec library is gated behind
/scaffoldso it doesn't pollute every session's index. - One skill per concern. Adding a new stack is one markdown file, not a new scaffolding engine.
AGENTS.mdis the brief. After/scaffold, the generatedAGENTS.mdis the single source of truth for how that project builds. Specs are referenced, not transcluded.- Agents are gates. The PA catches scope drift and signs off from the user's perspective; the Tester catches false-confidence "tests pass" claims and runs an e2e adversarial pass; the PR Reviewer catches dead/duplicate/untested code, over-engineering, and hot-path regressions; On-Call catches CI breakage. No agent both writes code and decides whether it's correct.
See LICENSE.
