一键导入
linear-slice
Decompose a plan into dependency-ordered Linear issues (tracer-bullet vertical slices) and release them into the autonomous dispatch pipeline.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Decompose a plan into dependency-ordered Linear issues (tracer-bullet vertical slices) and release them into the autonomous dispatch pipeline.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Save this session to the vault and update the semantic memory index
Capture a repeatable task procedure from the just-completed work as a durable, queryable memory node, so the steps are recalled automatically next time instead of re-derived. Triggers on "learn this procedure", "remember how to do this", "save this as a procedure", "/learn-procedure".
Add Asana project management MCP integration to Deus. Gives host-side Claude Code sessions read/write access to Asana tasks, projects, sections, and tags via @roychri/mcp-server-asana.
[DEPRECATED] Replaced by scripts/code_search.py (native sqlite-vec + Ollama). Do not use.
Add OpenAI/Codex as a backend. Guides through API key setup, service backend configuration, optional CLI setup, and verification. Can run alongside Claude (default) or replace it.
Add /compact command for manual context compaction. Solves context rot in long sessions by forwarding the SDK's built-in /compact slash command. Main-group or trusted sender only.
| name | linear-slice |
| description | Decompose a plan into dependency-ordered Linear issues (tracer-bullet vertical slices) and release them into the autonomous dispatch pipeline. |
| user_invocable | true |
Turn a plan or PRD into a set of thin, vertical, independently-shippable slices, each created as a Linear issue in dependency order, then released into Deus's autonomous dispatch pipeline.
This is the missing front-end to the Linear pipeline: the webhook gates (enrichment-gate →
bouncer-gate → dispatcher) describe how an issue flows through the board, but not how a good,
independently-grabbable issue gets created. This skill creates them.
Creating issues is a deliberate action with real side effects. Always preview and get explicit approval before creating anything.
The board is Backlog → Todo → Ready for Agent → Agent Working → In Review → Done. Gates fire on
transitions into a state, never on issue creation:
<!-- gate:enrichment-gate:start --> …
<!-- gate:enrichment-gate:end -->).Ready for Agent issues autonomously.Consequences for this skill:
## Scope block on the Backlog→Todo transition.Scoped label. The dispatcher matches Scoped; applying it to a non-enriched
issue would make the dispatcher pick up unscoped work. The gate manages that label.Take the plan from one of, in priority order:
mcp__linear__linear_getIssueById) whose body is the plan to decompose.If no plan is identifiable, ask the user for one. Do not invent scope.
Break the plan into the smallest set of vertical slices. Each slice must:
Use codegraph before estimating blast-radius (a skill body inherits no exploration hook, so
this is on you): for each slice that touches existing code, run codegraph_impact /
codegraph_callers on the symbols it changes to size the real blast-radius and surface prefactor
opportunities. Do not guess from filenames. Fall back to search_code then grep only to confirm.
Determine the Blocked by edges between slices (prefactors block the features that need them; a
shared scaffold blocks its consumers). Keep it a DAG. The unblocked (root) slices are the ones
that can start immediately.
(If the plan came from a parent Linear issue in Step 1, you already used
mcp__linear__linear_getIssueById to read it.)
mcp__linear__linear_getTeams → pick the team (single team LIA in this workspace).mcp__linear__linear_getProjects → confirm the target project with the user. Every issue must
be assigned to a project — never leave an issue floating (orchestration rule).mcp__linear__linear_getWorkflowStates (with teamId) → resolve the Backlog and Todo
state IDs. The call returns [{id, name, type, position, …}]. Match by exact .name
("Backlog", "Todo") — never by .type: there are two type:"backlog" states ("Icebox"
and "Backlog"), so a type match is ambiguous and can land issues in Icebox. Resolve IDs at
runtime; never hardcode them.Present, and then stop and wait for explicit approval:
# | Title | One-line scope | Blocked by | Effort (trivial/small/medium/large).Do not create anything until the user approves. If they want changes, revise and re-preview.
For each slice, mcp__linear__linear_createIssue:
teamId, projectId (mandatory), title = [Slice N] <concise name>.
description written with actual newlines, never \n escape sequences (MCP double-escapes
them into literal \\n). Use these GENERAL sections (this is not a frontend skill — do not use
design-to-dev's Wireframe/Design-Tokens/shadcn sections):
## Overview
What this slice delivers and why it is independently shippable.
## Acceptance criteria
- Observable, checkable outcomes that mean this slice is done.
## Dependencies
Blocked by: [Slice K] <name> (and the Linear relation below). "None" if a root slice.
## Definition of Done
- Builds/tests pass; criteria met; reviewed.
Land in Backlog (set stateId to the resolved Backlog id, or leave unset — Backlog is the
default). Do not write the enrichment scope block. Do not add a Scoped label. Omit
priority and estimate — let the enrichment gate or the user set them; do not guess.
For each Blocked by edge, mcp__linear__linear_createIssueRelation (type blocks/blocked_by)
between the two created issue IDs, so the board reflects the DAG.
For each root (unblocked) slice, mcp__linear__linear_updateIssue to set stateId → the
resolved Todo id. This fires the enrichment gate and starts the autonomous pipeline. Leave
blocked slices in Backlog. Do not auto-release subsequent waves: tell the user which slices are
now blocked and on what, and let them re-approve (or manually release) each later wave. A blocked
slice advancing without fresh approval would push unreviewed work into the pipeline.
If mcp__linear__linear_createIssue fails with exceeded the free issue limit (Linear free-plan
cap), STOP immediately. Report exactly which slices were created (with IDs) and which were not,
and which relations/releases did or didn't happen. Offer to archive old issues and resume, or to
resume later. Never leave a half-created graph unreported.
A gate or API failure is an error, not an approval — never proceed as if a failed step succeeded.
Report: created issue IDs + URLs, the dependency graph, and which slices were released to Todo (now in the pipeline) vs left in Backlog.
/design-to-dev (which creates issues from design wireframes); this is the
general-plan analog.