auto
Run a SpecWeave increment unattended until every task is done, then verify and close - the Unattended section of sw-do. Use for…
Plan work as a SpecWeave increment - one spec.md with Problem, Scope, numbered ACs, Approach and Tasks - before writing code. Use for "plan a feature", "new increment", "let's build X".
Claude Code
$ npx -y skills add anton-abyzov/specweave --skill sw-increment --agent claude-code
Codex
$ npx skills add anton-abyzov/specweave --skill sw-increment -a codex -y
Cursor
$ npx skills add anton-abyzov/specweave --skill sw-increment -a cursor -y
Gemini CLI
$ npx skills add anton-abyzov/specweave --skill sw-increment -a gemini-cli -y
GitHub Copilot
$ npx skills add anton-abyzov/specweave --skill sw-increment -a github-copilot -y
OpenCode
$ npx skills add anton-abyzov/specweave --skill sw-increment -a opencode -y
Windsurf
$ npx skills add anton-abyzov/specweave --skill sw-increment -a windsurf -y
description: Plan work as a SpecWeave increment - one spec.md with Problem, Scope, numbered ACs, Approach and Tasks - before writing code. Use for "plan a feature", "new increment", "let's build X". argument-hint: "\"<title>\" [--supersedes NNNN]" metadata: version: "3.1.0"
An increment is one folder, `.specweave/increments/NNNN-slug/`, with one file you write: `spec.md`. `ledger.jsonl` beside it holds task state and is only appended to; `metadata.json` is machine state you never need to read. One increment is one branch and one PR.
merged PR, a UI tweak or an investigation: run `specweave small-fix "<why>"` and ship. Plan one for multi-day work, cross-platform changes, auth, payments, migrations, and anything another tool or machine will pick up; these win over size. Work bigger than one PR gets one increment per PR. In our own 1,476 PRs, small changes looked about the same either way, while threads that shipped one PR over 1,000 lines took about twice the messages and output tokens with an increment (17 against 11 threads) (https://spec-weave.com/docs/guides/when-to-plan-an-increment).
ACs and tasks to its spec.md instead of opening another.
write the spec in its terms.
Intent first: settle what the user wants and how a machine will check it before writing ACs. `planning.deepInterview` sets the depth: `critical` (default) as below, `deep` runs sw-grill-me, `off` states defaults and asks nothing.
1. **Think first.** Read the code and config; settle every fact yourself. 2. **Triage** each open decision: *fact* (look it up, never ask), *my call* (reversible or low impact: pick a default), *theirs* (hard to reverse, costly, taste). 3. **Ask** only "theirs", at most 5, highest impact first. Each gets one clause on why it matters and 2 to 4 options, your recommendation first; "yes" accepts it. Use your tool's structured question tool when it has one. A clear request asks nothing. 4. **Record** in `## Decisions`: Asked, Defaulted (list every default: one the user never saw is one they could not reject) and Open. Keep a line only when a later change could contradict it: hard to reverse, surprising without context, or a real trade-off. Apply each answer to Scope, ACs and Approach.
`specweave create-increment "Add rate limiting"` prints the new folder with a scaffolded spec.md; replace every `[bracket]`. Add `--supersedes 0031` when this replaces an older increment (that one is abandoned for you), `--planned` for backlog work.
Manual path (no CLI): next id = highest folder number + 1, zero-padded to 4. Create `NNNN-kebab-slug/` with `spec.md`, an empty `ledger.jsonl` and this `metadata.json`:
{"id":"0042-ledger-fold","status":"active","type":"feature","created":"2026-09-02T10:00:00Z","lastActivity":"2026-09-02T10:00:00Z"}Write UTF-8 without a BOM; in PowerShell use `[IO.File]::WriteAllText($p, $body, [Text.UTF8Encoding]::new($false))`, never `>`.
# 0042 Ledger fold ## Problem Two agents can both believe they own T-01. Who hits it, and the evidence. ## Scope In: claim ordering, malformed lines. Out: a ledger server. ## Acceptance Criteria - [ ] AC-01: Two agents claiming the same task never both get it - [ ] AC-02: A malformed ledger line is skipped and counted, never fatal ## Approach Files that change and in what order, decisions, rejected alternatives, risks. ## Decisions ### Asked - D-01 Claim tie-break? → earliest ledger line wins (user). ### Defaulted (change any before sw-do) - D-02 Malformed-line report → a count in `task list` (reversible). ### Open - none ## Tasks ### T-01 Fold the ledger - AC: AC-01 | Files: src/core/tasks/ledger.ts, tests/e2e/double-claim.e2e.ts | Test: npm run test:e2e -- double-claim ### T-02 Skip malformed lines - AC: AC-02 | Files: src/core/tasks/ledger-parse.ts, tests/e2e/malformed-ledger.e2e.ts | Test: npm run test:e2e -- malformed-ledger
command a machine can run.
or caller touches, run with the repo's own test command. A new test file goes in the task's `Files`. Reuse existing tests; plan new unit or integration tests only when the user, the project's `testing` config or its conventions ask for them. The human-approved AC is the oracle, not a test the agent wrote.
so merge them. Shared contracts (types, schema) go in an early task.
write state into spec.md.
Show the ACs and tasks. Unless the user asked to review the plan first, carry on with sw-do (one agent, or parallel lanes for three or more disjoint groups of tasks). Opening an increment makes closing it part of the same job: any plan or checklist you show ends with "Verify and close 0042", and sw-do closes it through sw-done once the last task is done. When the plan waits for the user's review, say the increment stays open until they answer.
Open-source spec CLI: the spec, tasks and proof of done live in git, so any AI coding agent (Claude Code, Codex, Cursor, Copilot) can pick up where another stopped. Powers SpecWithCode: specwithcode.com
Run a SpecWeave increment unattended until every task is done, then verify and close - the Unattended section of sw-do. Use for…
Work a SpecWeave increment task by task - claim, implement inside its Files, test, commit, done with evidence - alone, unattended…
Close a SpecWeave increment - every task done or skipped, specweave verify green, a fresh-context review, then specweave…
Interview the user relentlessly, in rounds, until every decision in a plan is settled; facts are your job, decisions are theirs.…
Hand work to another tool, account or machine and pick it up there, in two words. Use when the user says "hand off", "hand off…
Plan work as a SpecWeave increment - one spec.md with Problem, Scope, numbered ACs, Approach and Tasks - before writing code. Use…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.