By abaddon
Self-agentic orchestrator: product-owner → architect → developer → QA → devops → marketing waves on Claude Code.
This is a **one-shot reverse-engineering run**, not a forward goal. You,
Run scripts/close-loop.py to gather analytics + GitHub issue signal into docs/feedback/<date>.md, consumed by product-owner at the next kickoff.
Scaffold the project-side files smurf needs (verify.sh, docs/rigor-level.md, .claude/runs/next-goal.md). Idempotent — running twice is a no-op.
Decompose a goal into a wave-based DAG; run wave 3 as an Agent Team so developers, qa, and an architect-advisor can communicate peer-to-peer via SendMessage.
Decompose a goal into a wave-based DAG and execute via subagents (default mode — workers do not communicate peer-to-peer).
Designs the solution. Produces ADRs, ports/adapters lists, sequence diagrams in Mermaid. READ-ONLY on src/. Invoke as wave 2 (required for production rigor, optional for prototype). In Agent-Teams wave 3, also serves as architect-advisor (idle, responds only to SendMessage).
Implements ONE user story per invocation. Reads the story + relevant ADR, writes minimal code that satisfies acceptance criteria, runs verify.sh, commits atomically. Invoke after architect (production rigor) or directly after product-owner (prototype rigor).
Updates CI/CD config, container files, and observability after a feature lands. Opens the draft PR via `gh pr create`. Never deploys to production without human approval (permissionMode ask).
Drafts release notes, tweets, LinkedIn posts, and short demo-video scripts for shipped features. Shells out to OpenRouter cheap models via curl to keep token cost negligible (~$0.05/run). Invoke as wave 5.
Top-level coordinator. Decomposes a goal into a wave-based DAG and delegates to specialist subagents (product-owner, architect, developer, qa-engineer, devops, marketing). Invoke with "@orchestrator: <goal>" or via /kickoff.
ADR (Architecture Decision Record) template, numbering rules, and usage notes. Use when proposing or recording an architecture decision. Loaded by architect.
Language-agnostic code quality heuristics — single responsibility, dependency direction, simple complexity ceilings, naming. Apply when writing or reviewing source code. Loaded by architect, developer, qa-engineer, orchestrator.
Conventional Commits format and rules. Apply when authoring commit messages. Loaded by developer.
User story format (Gherkin Feature/Scenario/Given/When/Then) plus MoSCoW priority and NFR fields. Use when producing user stories. Loaded by product-owner.
Pattern for calling OpenRouter from a Bash tool to keep Claude token cost low on tier-3 work (release notes, support summaries). Loaded by marketing, sales-feedback.
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Uses power tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Uses Bash, Write, or Edit tools
Uses Bash, Write, or Edit tools
Runs pre-commands
Contains inline bash commands via ! syntax
Runs pre-commands
Contains inline bash commands via ! syntax
Bash prerequisite issue
Uses bash pre-commands but Bash not in allowed tools
Bash prerequisite issue
Uses bash pre-commands but Bash not in allowed tools
Self-agentic orchestrator distributed as a Claude Code plugin. A team
of specialist subagents (product-owner, architect, developer,
qa-engineer, devops, marketing, sales-feedback) plans, implements,
verifies, and reports on goals you write into
.claude/runs/next-goal.md in your host project.
The system iterates: QA failures re-dispatch the developer (capped); a
nightly close-loop.py writes docs/feedback/<date>.md consumed by the
product-owner at the next kickoff.
Smurf ships as a plugin — its agents, hooks, skills, commands,
policy.yaml, and operating manual all live inside the plugin
directory and are loaded by reference at runtime. The plugin is never
copied into your project.
Clone the repo, then register it as a local marketplace and install the plugin from inside Claude Code:
git clone https://github.com/abaddon/smurf.git ~/src/smurf
cd /path/to/your-project
claude
> /plugin marketplace add ~/src/smurf
> /plugin install smurf@smurf
The repo root holds .claude-plugin/marketplace.json; the plugin
itself lives under plugin/ (canonical Claude Code marketplace
layout). Local-path marketplaces resolve live, so edits in ~/src/smurf
take effect immediately — no copying. Once installed, every /smurf:*
slash command becomes available.
Inside your project, scaffold the project-side stubs:
cd /path/to/your-project
claude
> /smurf:init
/smurf:init runs scripts/init-project.sh and creates only what is
missing: verify.sh (no-op shim), docs/rigor-level.md (prototype
by default), .claude/runs/next-goal.md (empty), gitignore lines
for .claude/runs/, .claude/worktrees/, .claude/settings.local.json,
and an allow rule in .claude/settings.local.json so /smurf:nightly-run
can launch autonomous-run.sh without an auto-mode permission denial.
Existing files are never overwritten — the allow rule is merged into any
existing .claude/settings.local.json, and the host project's
CLAUDE.md is never touched.
If you are installing smurf into a project that already has code,
follow /smurf:init with:
> /smurf:bootstrap
/smurf:bootstrap is a one-shot reverse-engineering run. It spawns
the standard specialist subagents (developer, devops,
sales-feedback, product-owner, architect, qa-engineer) in
BOOTSTRAP MODE — they read the existing code instead of a goal and
produce:
docs/bootstrap/tech-stack.md + docs/bootstrap/ci-inventory.md
— what the project is built with and how it shipsdocs/feedback/<date>-bootstrap.md — seed digest from open
GitHub issues (skip with --no-feedback)docs/stories/bootstrap-<date>/NN-*.feature — backfilled Gherkin
stories for capabilities the project already provides
(Status: proposed)docs/adr/NNNN-*.md — ADRs extracted from the architecture already
embedded in the code (Status: proposed)qa/bootstrap-<date>.md — cross-check that the new docs cite real
source pathsdocs/bootstrap/rigor-level-recommendation.md — suggested rigor
level based on detected tests + CI (you still write the final
value into docs/rigor-level.md yourself)Each wave is committed as docs(bootstrap): wave <A-E>: …. Review
the artifacts, flip Status: proposed → accepted on the docs you
agree with, then write your first goal to .claude/runs/next-goal.md
and run /smurf:kickoff.
Flags: --no-feedback (skip sales-feedback), --rigor prototype|production (override detection).
After scaffolding:
bash "${CLAUDE_PLUGIN_ROOT}/scripts/doctor.sh"
doctor.sh runs 40+ checks split between [plugin] (must pass) and
[project] (warnings only). It exits non-zero if the plugin install
is broken.
Replace the no-op verify.sh body with your stack's tests (npm test,
pytest, cargo test, mvn verify, …) and then write your first
goal to .claude/runs/next-goal.md.
Interactive (any time):
claude
> /smurf:kickoff "<your goal>"
Autonomous:
echo "<your goal>" > .claude/runs/next-goal.md
claude
> /smurf:nightly-run
Or schedule it from cron:
bash "${CLAUDE_PLUGIN_ROOT}/scripts/install-cron.sh"
The cron installer is idempotent and uses
CLAUDE_PROJECT_DIR=<your project> plus
CLAUDE_PLUGIN_ROOT=<plugin location> so the headless run resolves
the plugin correctly.
Force Agent-Teams (peer-to-peer wave 3):
> /smurf:kickoff-team "<goal with parallel features>"
Agent Teams mode requires CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 in
your project's .claude/settings.local.json.
npx claudepluginhub abaddon/smurf --plugin smurfFeature development with code-architect/explorer/reviewer agents, CLAUDE.md audit and session learnings, and Agent Skills creation with eval benchmarking from Anthropic.
Production-grade engineering skills for AI coding agents — covering the full software development lifecycle from spec to ship.
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Comprehensive feature development workflow with specialized agents for codebase exploration, architecture design, and quality review
Access thousands of AI prompts and skills directly in your AI coding assistant. Search prompts, discover skills, save your own, and improve prompts with AI.
Complete developer toolkit for Claude Code