Help us improve
Share bugs, ideas, or general feedback.
From linear-build
Use when starting or building tracked work in Linear — e.g. "build RAD-42", "start the next Linear issue", "turn this into a Linear issue", or "create a Linear project for X / plan this milestone in Linear". Creates a project, fans it into spec'd issues (Intent / Acceptance / Verification) assigned to that project, builds each to its acceptance criteria, runs a verification gate against real data, and writes results back to the issue. Requires the Linear MCP server (linear-server).
npx claudepluginhub tmoody1973/linear-build-plugin --plugin linear-buildHow this skill is triggered — by the user, by Claude, or both
Slash command
/linear-build:linear-buildThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This build process uses **Linear as the spec source**. A Linear issue is the brief you read *before* writing code: it carries the intent, the acceptance criteria (the agreed finish line), and a verification checklist (how we prove it against real data). This skill operationalizes the guide bundled at `docs/linear-with-claude-code.md`.
Guides technical evaluation of code review feedback: read fully, restate for understanding, verify against codebase, respond with reasoning or pushback before implementing.
Share bugs, ideas, or general feedback.
This build process uses Linear as the spec source. A Linear issue is the brief you read before writing code: it carries the intent, the acceptance criteria (the agreed finish line), and a verification checklist (how we prove it against real data). This skill operationalizes the guide bundled at docs/linear-with-claude-code.md.
Core principle: the issue is the contract. Don't freelance past it, and don't claim "done" until its verification checklist passes against reality.
TEAM-123 issue reference → Build an existing issue (below).list_my_issues, pick the top unblocked one, confirm, then build it.Do NOT use this for typos, copy tweaks, or quick exploration. Linear is for consequential, multi-step work where a written finish line pays off.
mcp__linear-server__*)If these aren't callable, the Linear MCP server isn't loaded in this session — tell the user to restart Claude Code. Key tools:
get_issue — read one issue (id or TEAM-123 identifier).list_my_issues — the user's assigned issues (for "what's next").list_issues — filter by team/project/status/label.create_issue — new issue (title, description, team; set project to assign it to a project; optional labels/assignee).update_issue — change state/description/assignee, or set project to move an existing issue into a project (Todo→In Progress→Done).create_project / update_project / get_project — create a project (name, description, team(s), optional lead/target date) and amend it.list_comments / create_comment — read/post issue comments (verification evidence goes here).list_teams, list_projects, list_issue_statuses, list_issue_labels — for resolving names→ids when creating/moving.Resolve human names to ids with the list_* tools; never guess an id.
Every issue should carry these three sections. If the issue you're handed is missing them, stop and offer to fill them in first (propose the acceptance + verification, get a yes, update_issue), because the rest of the loop depends on them.
## Intent
What the user wants and why. One or two plain sentences.
## Acceptance criteria
The finish line — checkable bullets.
- [ ] ...
## Verification checklist (prove it against reality)
How we'll prove each criterion with real data, not assertions.
- [ ] ...
## Out of scope
What this issue is NOT.
get_issue for the identifier. If it lacks the spec sections, offer to add them and update_issue before building.update_issue → In Progress.feat(scope): short description (RAD-42)update_issue → Done and create_comment with a one-line evidence note ("card total = $11, matched Funraise dashboard, screenshot attached"). Now the issue is a permanent record of what shipped and how we knew it worked.When the user describes work and wants it tracked:
list_teams; if more than one, ask which).create_issue.TEAM-123 identifier. Offer to build it now (→ Build an existing issue).When the user wants to set up a new build effort — "create a Linear project for X", "plan this milestone", a multi-phase feature:
list_teams; if more than one, ask which). Scan list_projects to avoid a duplicate.create_project, then create_issue for each with project set to the new project id so every issue is assigned to it. Set order/dependencies where it matters.A Linear project here is the equivalent of a roadmap/phase set: parent = the milestone, issues = the phases/tasks under it.
Deep reference: docs/linear-with-claude-code.md. Companion idea: branch + PR is where a Linear issue gets built and previewed before merge.