Skip to content

/entry

Synced from factory-kit/commands/entry.md at v0.1.2. The source of truth is the factory-kit repo.

You’re starting a focused work session on a single Linear issue. Load its context, summarize it, and enter plan mode so the user can sign off before you start coding.

Argument: $ARGUMENTS — the issue identifier. Accept either the full form (NON-45) or just the number (45). If numeric, prepend the team key from .claude/linear.json.

  1. Read .claude/linear.json. If missing, tell the user to run /setup-linear first and stop. Pull teamKey for ID resolution.

  2. Resolve the identifier. If $ARGUMENTS is numeric, construct <teamKey>-<num> (e.g., 45NON-45). If already in KEY-NN form, use as-is.

  3. Fetch the issue via mcp__linear__get_issue. Include comments and linked sub-issues if available.

  4. Fetch the project via mcp__linear__get_project if the issue belongs to one and you haven’t loaded it yet this session.

  5. Check blockers. If the issue has open blockedBy relations, list them and warn loudly before proceeding. Ask whether the user wants to continue or pick a different ticket.

  6. Summarize for context (≤ 250 words). Use this shape — bold labels, short lines, omit any section that’s empty:

    • Issue: <KEY-N> — title + priority + current state
    • Outcome: one sentence on what “done” observably looks like. If the issue lacks a clear outcome, say so — that’s the first thing to fix.
    • Scope: the unchecked acceptance criteria / open checkboxes
    • Constraints baked in: anything in the description or comments that locks an approach — name the underlying force (compliance, perf budget, prior decision), not just the rule
    • Customer voice: if user feedback is quoted in the issue or linked, surface the raw words — don’t paraphrase
    • Open design calls: “decide during build” items worth resolving up front
    • Context graph: parent, sub-issues, blockedBy/blocks, linked PRs, design docs — IDs + titles only. This is the issue’s place in the wider decision graph; if it looks isolated, flag it as a yellow flag.
  7. Flag issue quality (brief — one line if everything is fine). Linear’s house style is: short title with a concrete outcome, body only as long as needed. If the issue is missing a clear outcome, written as a user story, or sitting orphaned with no context links, name it. Don’t fix it silently — surface it so the user can decide whether to rewrite before designing the change.

  8. Enter plan mode. Call EnterPlanMode. Use the loaded context to draft an implementation plan during plan mode — don’t start coding until the user exits plan mode with approval.

Follow factory-voice.md. The reader is you, two minutes from now, about to design the change — give yourself what you’d need to make calls. Surface non-obvious constraints (invariants, prior decisions, blocking relations) at the top, not buried. No marketing copy, no hedging. If a constraint locks the design, name the principle behind it, not just the rule.