Skip to main content
plugin

specclaw — Claude Code plugin: idea to PR, step by step

Runs a change through propose, plan, build, verify and pr. Leaves a short paper trail inside your repo.

Install into Claude Code · Plugin marketplace All methods and platforms ↓
/plugin marketplace add anthropics/claude-plugins-community
/plugin install specclaw@claude-community
Open on GitHub

What specclaw does

SpecClaw starts when you say “I have a proposal”. It writes changes/001-…/change.md with the problem and acceptance criteria, then draws a mock you open in a browser. The mock comes first, so you approve the shape of the result before anyone writes code.

From there /specclaw:plan adds tasks that cover each criterion, /specclaw:build commits one task at a time, /specclaw:verify runs the tests and screenshots the app and the mock with Playwright, and /specclaw:pr opens the pull request. Everything lives in .specclaw/ next to your project: config.yaml, STATUS.md, mock/index.html and the changes folder. The scripts in bin/ touch that folder only.

Claude Code v2.1 or later is required. New projects default to flow: lean, one change.md per change, with no review panel and no code-review agents. A config without a flow key reads as full, which brings back proposal.md, spec.md, design.md, tasks.md and verify-report.md. Three add-ons sit in the same marketplace: specclaw-bf for rebuilding legacy apps, specclaw-sync for GitHub, Azure DevOps and Jira, and specclaw-extras for extra commands. They share one version, and when your config names an add-on you have not installed, the session-start hook prints the install line.

What it helps with

  • turn a plain-English idea into a change with acceptance criteria
  • see a mock before any code exists
  • split a change into tasks and commits
  • compare the built app against the mock with screenshots
  • open a pull request with the change record attached

Example prompts for the agent

  • I have a proposal: screen a buyer name against sanction lists
  • Run /specclaw:init and set up .specclaw/
  • Plan change 001-… and build it

How to install specclaw

Plugin marketplace

/plugin marketplace add anthropics/claude-plugins-community
/plugin install specclaw@claude-community

Step by step, with commands for each platform: Claude Code plugins: marketplaces, installing, and building your own

Questions about specclaw

How do I install specclaw in Claude Code?

Add the marketplace first: /plugin marketplace add anthropics/claude-plugins-community, then install the plugin: /plugin install specclaw@claude-community.

What does specclaw do?

It carries a change through propose, plan, build, verify and pr, keeping the record in your project's .specclaw/ folder.

What is the difference between lean and full flow?

flow: lean keeps a single change.md per change and skips the review panel. flow: full adds proposal.md, spec.md, design.md, tasks.md and verify-report.md; a config with no flow key reads as full.

Source text

specclaw · MIT
<div align="center">

# 🦞 SpecClaw

### _"I have a proposal."_

**Spec-driven development for Claude Code and Codex.** Turn a plain-English idea into merged, production-ready code through a fully automated SDLC.

![SpecClaw — the "I have a proposal" SDLC workflow](docs/assets/specclaw-hero.png)

[![CI](https://github.com/chan4lk/specclaw/actions/workflows/ci.yml/badge.svg)](https://github.com/chan4lk/specclaw/actions/workflows/ci.yml)
[![Release](https://img.shields.io/github/v/release/chan4lk/specclaw?color=e11d48&label=release)](https://github.com/chan4lk/specclaw/releases)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![Claude Code](https://img.shields.io/badge/Claude%20Code-v2.1%2B-8b5cf6)](https://claude.com/claude-code)
[![Stars](https://img.shields.io/github/stars/chan4lk/specclaw?style=social)](https://github.com/chan4lk/specclaw/stargazers)
[![PRs welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)

</div>

Just say **"I have a proposal"**. SpecClaw takes a change from idea to pull request (propose, plan, build, verify, pr) and keeps a short paper trail in your repo. Every change starts as a mock you can open in a browser, so you see the result before any code is written.

> **Try it:** `/plugin marketplace add chan4lk/specclaw`, `/plugin install specclaw@chan4lk`, `/specclaw:init`

## Install

Requires [Claude Code](https://claude.com/claude-code) v2.1 or later.

```
/plugin marketplace add chan4lk/specclaw
/plugin install specclaw@chan4lk
```

Add-ons from the same marketplace are installed only when you need them:

| Plugin | Adds | Install |
|---|---|---|
| `specclaw` | The lifecycle: init, propose, plan, build, verify, pr, status, archive | `/plugin install specclaw@chan4lk` |
| `specclaw-bf` | Brownfield rebuilds: analyze, clarify, baseline, replay and rebuild a legacy app (`/specclaw-bf:bf-*`, see [docs/rebuild-workflow.md](docs/rebuild-workflow.md)) | `/plugin install specclaw-bf@chan4lk` |
| `specclaw-sync` | GitHub issues, Azure DevOps boards and PRs, Jira (`/specclaw-sync:*`) | `/plugin install specclaw-sync@chan4lk` |
| `specclaw-extras` | auto, loop, learn, patterns, context, author-spec, debug, renumber and the review panel (`/specclaw-extras:*`) | `/plugin install specclaw-extras@chan4lk` |

All four share one version. When your config uses an add-on that is not installed, the session-start hook prints the install command.

**Codex:** `codex plugin marketplace add chan4lk/specclaw --sparse .agents/plugins`, then `codex plugin add specclaw@chan4lk`. In this checkout, Codex also finds the repo-local adapter at `.agents/skills/specclaw/`; invoke it with `$specclaw`.

## Quickstart

```
> /specclaw:init
  Creates .specclaw/ with flow: lean and a blank mock at .specclaw/mock/index.html.

> /specclaw:propose "screen a buyer name against sanction lists"
  Writes changes/001-…/change.md (problem + acceptance criteria) and draws the mock.
  Open .specclaw/mock/index.html#001-… and approve.

> /specclaw:plan 001-…
  Adds the fewest tasks that meet every criterion: UI first, then backend, then integration.

> /specclaw:build 001-…
  One commit per task, at most one test per criterion.

> /specclaw:verify 001-…
  Runs tests, then screenshots the app and the mock (Playwright) or asks you to compare by eye.

> /specclaw:pr 001-…
  Opens the GitHub PR with the change record staged.
```

Change 001 draws the whole app at low fidelity. Each later change edits only its own `<section data-change="…">` in the mock, so the mock always shows what is coming next.

## Lean and full flow

`flow: lean` (the default for new projects) keeps one file per change, `change.md`, and skips the review panel and code-review agents. Set `flow: full` in `.specclaw/config.yaml` for the older flow with `proposal.md`, `spec.md`, `design.md`, `tasks.md` and `verify-report.md`. A config with no `flow` key reads as `full`, so existing projects keep working.

## Project layout

```
.specclaw/
├── config.yaml        # flow, models, git strategy, integrations
├── STATUS.md          # dashboard
├── mock/index.html    # the living mock (lean)
└── changes/<NNN>-<slug>/change.md
```

Scripts in each plugin's `bin/` are on PATH while the plugin is installed. They read and write `.specclaw/` in your project and nothing inside the plugin install.

## Repository

This repo is the `chan4lk` marketplace: `.claude-plugin/marketplace.json` and `.agents/plugins/marketplace.json` list the four plugins under `plugins/`. Each plugin has `.claude-plugin/plugin.json`, `.codex-plugin/plugin.json`, `skills/`, `bin/` and `tests/`. CI runs every `tests/run-*-tests.sh` suite and the shellcheck gate.

## License

MIT. PRs welcome; see [CONTRIBUTING.md](CONTRIBUTING.md).

© chan4lk · MIT · chan4lk/specclaw

Similar plugins

All plugins for Agent setup: memory, context, orchestration →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor