Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Turn Claude Code into a problem-driven scrum team: file problems in Linear, let agents own the solutions.
npx claudepluginhub nicolai-bernsen/backlogd --plugin backlogdOne-time Linear workspace bootstrap — bring the team into backlogd's canonical shape (labels · workflow states · templates) by driving the local config engine. Opt-in, setup-only, key-free in the orchestrator; the engine reads the Admin key itself. Pass --dryrun to print the plan and touch nothing.
Cut a release — promote the integration branch to the release branch, bump the plugin version on a release branch, merge with a merge commit, tag vX.Y.Z, and back-merge so the two branches re-sync.
Sprint Retrospective — over a completed milestone (or a cycle / date / count fallback), read the execution graph + what happened, detect cross-issue patterns, classify the load-bearing learnings, and file them as candidate `kind:improvement` issues for the PO to prioritize. The retro proposes; the PO prioritizes.
Quality gate — dispatch an independent reviewer subagent against a solved problem's acceptance criteria, then act on its verdict — accept to Done, send back to In Progress, or escalate a judgement call. The reviewer judges; the orchestrator acts.
Shape a Linear problem into an executable, decomposed issue — write acceptance criteria, decompose into sub-issues, sequence with blocked-by — then stop. No solving.
Owns the solution to one backlogd problem. Dispatched by /backlogd:solve with a single problem to solve; takes a concrete action, writes its progress to its own Linear issue, and reports the outcome.
drafts AC + decomposition for one backlogd problem; dispatched by /backlogd:scope and /backlogd:solve triage
Owns the verdict on a backlogd unit or solved problem. Dispatched in one of two modes — `pre-commit-gate` (gates a unit's diff before commit, inside /backlogd:solve) or `verdict` (drafts the user-facing AC + DoD verdict for an In-Review problem, inside /backlogd:review). Reads its issue + diff with a fresh context, runs every machine-verifiable check itself with cited evidence, and returns its judgement for the scrum-master to act on. Read-only filesystem, no state transitions, no code changes.
writes/expands tests proving the AC of one backlogd unit; dispatched by /backlogd:solve after developer
backlogd's contract for typed Acceptance Criteria — every `## Acceptance Criteria` item declares *how it is verifiable* via an optional `[test]` / `[manual]` / `[review]` prefix tag; untagged items default to `[review]` (backwards compatible). Load when shaping AC (`/backlogd:scope`) or judging a verdict (`/backlogd:review`).
The method a backlogd developer follows to turn one shaped issue into a solution — consult /docs (the living spec), treat the issue's
Query backlogd's local agent-execution + memory graph (.backlogd/graph/) — read-only. Records what only the loop knows (dispatch outcomes, latency, rework events) plus a low-signal aside of which files past problems touched. Use when a backlogd agent wants prior context before acting (problem-history / module-history / find-similar) or when a maintainer wants framework-effectiveness metrics (graph.py report). Local JSON only, no Linear/MCP — safe inside the developer's solve-only boundary. Pairs with references/graph-schema.md (nodes/edges/IDs) and references/graph-queries.md (copy-paste recipes).
backlogd's operating model for Linear via the official MCP. Use whenever a backlogd agent touches Linear — picking up a problem, deciding Issue-vs-Project structure, decomposing work into sub-issues, setting blocks/blocked-by, transitioning workflow state, reporting progress, or surfacing blockers. Pairs with references/linear-mcp.md (exact mcp__linear__* usage) and references/linear-model.md (Linear object model + terminology).
backlogd's Sprint Retrospective mechanism — over a completed milestone (or a cycle / date / count fallback) the retro reads the execution graph as objective evidence, detects cross-issue patterns no single review can see, classifies each learning, and files the load-bearing ones as candidate `kind:improvement` issues for the PO to prioritize. The retro proposes; the PO prioritizes. Use when implementing or modifying `/backlogd:retro`, or any caller that runs the read → detect → classify → file pipeline.
External network access
Connects to servers outside your machine
Uses power tools
Uses Bash, Write, or Edit tools
Runs pre-commands
Contains inline bash commands via ! syntax
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Memory compression system for Claude Code - persist context across sessions
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.
Write feature specs, plan roadmaps, and synthesize user research faster. Keep stakeholders updated and stay ahead of the competitive landscape.
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
Share bugs, ideas, or general feedback.
backlogd is an agent team that runs real Scrum — any problem type — on your Claude subscription, not API tokens.
It is not a single agent doing one task. The framework layer is domain-agnostic Scrum scaffolding that never does the domain work itself — that routes to pluggable specialists. You act as the Product Owner: you file problems, not specs. The slash commands are the Scrum Master; the subagents are the Developers. An instance's value is specialists × standards, and the scope is code and non-code alike — "fix the failing pipeline," "write the Q3 board deck," and "restructure these docs" are all valid problems. This is a category claim, not a feature claim (see ADR-004).
vs Cyrus specifically: Cyrus is an agent that does your coding task — a capable single-task coding agent. backlogd is an agent team that works the way good teams work, in any domain. It is a category claim, not a feature race: backlogd deliberately does not rebuild Cyrus's runtime plumbing or duplicate its Linear Diffs.
This is the genuinely novel part. backlogd's runtime loop ships no API client and no API keys. All Linear I/O goes through the official Linear MCP over OAuth — Claude Code authenticates as you — so you run it on your existing Claude subscription, with no metered API tokens to buy and no key to paste anywhere.
The one optional exception is a one-time workspace bootstrap (/backlogd:init), which
reads a local Linear Admin key used only by the setup engine — never by the runtime
loop. After setup, backlogd stays key-free and MCP-only. This is the keyless principle
(ADR-002).
Two real, back-to-back runs from this repo's own backlog — backlogd building backlogd. Every code artifact below is public: the PRs, the commit history, the standard.
1 · The PO files a problem, not a spec. "Persist a per-run solve ledger under
.backlogd/ so re-runs and the retro can read run history." One paragraph of outcome,
four acceptance-criteria bullets, zero implementation detail.
2 · The team pushes back before building. /backlogd:scope's refiner reads the code
first and challenges the problem: the execution graph already records run history — is
this a thin view over it, a separate artifact, or a duplicate to close? The call routes to
the PO as a three-option decision. The ruling — a separate durable artifact, because
telemetry and a durable run record are different contracts — goes into the issue, and only
then does anyone build.

3 · One command solves it. /backlogd:solve dispatches a developer that owns the
how (it chose append-only JSONL with a per-record schema version field), a tester that
proves every [test] criterion with exit codes — and an independent pre-commit gate,
which bounced round 1: the spec's git check-ignore .backlogd command is
environment-dependent on a pristine checkout. The acceptance criterion was retyped to the
deterministic file-path form; round 2 passed. The team fixed its own spec before any human
saw the diff (PR #133).
