/entry
Synced from
factory-kit/commands/entry.mdat 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.
What to do
Section titled “What to do”-
Read
.claude/linear.json. If missing, tell the user to run/setup-linearfirst and stop. PullteamKeyfor ID resolution. -
Resolve the identifier. If
$ARGUMENTSis numeric, construct<teamKey>-<num>(e.g.,45→NON-45). If already inKEY-NNform, use as-is. -
Fetch the issue via
mcp__linear__get_issue. Include comments and linked sub-issues if available. -
Fetch the project via
mcp__linear__get_projectif the issue belongs to one and you haven’t loaded it yet this session. -
Check blockers. If the issue has open
blockedByrelations, list them and warn loudly before proceeding. Ask whether the user wants to continue or pick a different ticket. -
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.
- Issue:
-
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.
-
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.