kramme-cc-workflow/skills/kramme:linear:issue-define/SKILL.md
Requires the Linear MCP server. Create or improve a well-structured Linear issue through guided refinement. Use with --auto to create one new Linear issue from rough input using light clarification, duplicate checking, metadata selection, and approval instead of the full interview. Not for implementing Linear issues (use kramme:linear:issue-implement), multi-bug QA intake (use kramme:qa:intake), or root-cause bug triage (use kramme:debug:triage-to-issue).
npx skillsauth add abildtoft/kramme-cc-workflow kramme:linear:issue-defineInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create or improve a Linear issue through exhaustive interactive refinement. Can start from scratch with a description, or improve an existing issue by providing its identifier. Supports file references for technical context and proactively explores the codebase to inform issue definition. Use --auto for a fast new-issue path with light clarification and the same approval discipline.
This command ONLY creates or updates Linear issues.
Linear Issue Creation Override: Invoking this command IS explicit instruction to create or update a Linear issue. When Phase 7 is reached and the user approves the draft, proceed with the available Linear create/update operation. Use Claude Code mcp__linear__create_issue / mcp__linear__update_issue; use Codex save_issue without id to create or with id to update. This overrides any global rules requiring "explicit instruction" to create/modify Linear issues.
Implementation is a separate workflow. After this command completes, the user can invoke /kramme:linear:issue-implement if they want to start implementing.
CRITICAL: Do NOT proceed to code implementation after creating the issue. The workflow is complete once the issue URL is returned.
Primary: Product Team — The issue must be understandable and compelling to non-technical stakeholders.
Secondary: Development Team — Technical context helps engineers, but they determine implementation details.
--auto--auto is active--auto create mode, follow references/auto-create.md and skip the exhaustive interview; otherwise infer target user, why-now, likely non-goals, and decision boundaries from the evidence gatheredHandling $ARGUMENTS:
First parse flags:
$ARGUMENTS contains --auto, remove it from the working description and set auto_create = true.--auto is only valid for new Linear issues. If the remaining input identifies an existing Linear issue, stop and ask the user to rerun without --auto for improvement mode.Prerequisite check: before detecting mode or fetching an existing issue, if Linear MCP operations are unavailable, the Linear MCP server is not connected. Stop here and tell the user to connect it — do not start the interview or issue lookup without a working Linear connection.
Check if input matches an existing Linear issue:
TEAM-123 (uppercase letters, hyphen, numbers)linear.app with issue pathIf existing issue detected → IMPROVE MODE:
get_issue with the id parameter (Claude Code mcp__linear__get_issue; Codex get_issue). If the call errors or returns no issue, stop and report the exact identifier that failed — do not continue in IMPROVE mode or silently fall back to CREATE mode.is_dev_ask flag to trueoriginal_dev_ask_contentIf no issue detected → CREATE MODE:
/, ends in common extensions) and store them for Step 2If file paths provided:
Read toolIf auto_create = true, skip this step and proceed directly to Phase 2. Auto create does not need issue-type classification because it uses the concise body rules in references/auto-create.md.
After determining the mode (and any file context, if provided), classify the issue type. Auto-detect from context and suggest to the user (they can override):
Issue Types:
Detection Heuristics:
Present classification to user via AskUserQuestion:
issue_type for conditional behavior in later phasesFor Bug (Simple), store these flags:
is_simple_bug = trueFetch Linear workspace context to enable informed metadata selection:
list_teams - Get available teams for assignmentlist_issue_labels - Get available labels for classificationlist_projects - Get active projects for associationStore this context for use in Phase 5 (Metadata & Classification round).
If auto_create = true, resolve the create team here because Round 5 is skipped:
MISSING REQUIREMENT: Linear team is required to create the issue and stop.Read references/mode-and-review-flow.md and follow its Phase 3 instructions for the active mode.
Phase 3 must produce:
prior_session_context recorded, improvement areas selected, and related issues identified..out-of-scope/ matches surfaced when relevant, user decision recorded, and any related issues stored for later linking.references/auto-create.md; clarify, draft, approve, create, return the Linear URL, skip Phases 4-7, and stop.For Simple Bugs (is_simple_bug = true): Skip this phase if the user has already provided the root cause and affected file(s). Only explore if root cause is uncertain.
For all other issue types: Proactively search the repository to inform the issue definition:
Find Related Implementations
Grep to search for keywords from the descriptionGlob to find files in related areasIdentify Patterns & Conventions
Discover Related Components
Find Existing Tests
Collect TODOs & FIXMEs
TODO, FIXME, HACK comments related to the topicOutput: Summarize findings to share with user and inform interview questions.
Before starting the interview, synthesize a working hypothesis for:
Present these as assumptions and refine them only where the evidence is weak.
The interview process adapts based on the issue type detected in Step 3.
is_simple_bug = true)For simple bugs, use a streamlined 2-round interview instead of the full 5-round process. The goal is to quickly capture the essential information without unnecessary overhead.
Round 1: Problem & Reproduction
Questions to cover:
Round 2: Root Cause & Fix
Questions to cover:
If root cause is unknown or unclear after Round 2:
is_simple_bug = falseAfter these 2 rounds, skip to Round 5: Metadata & Classification (streamlined - just team and labels, skip project/priority unless user wants them).
Then proceed directly to Phase 6 with the simple bug template.
Conduct a thorough, multi-round interview using AskUserQuestion. Provide context before each question explaining why it matters and your recommendation if you have one.
IMPROVE MODE:
CREATE MODE:
Read the 5-round interview structure from references/interview-rounds.md. It covers Problem & Value, Scope & Boundaries, Technical Context, Acceptance Criteria, and Metadata & Classification — each with questions to cover and guidance on when to dig deeper.
After each round:
Track coverage. Continue until each dimension meets its exit bar:
Authored issue content must NOT include file paths, line numbers, or internal helper/class names. Describe modules, behaviors, and contracts. Reason: file paths and line numbers rot quickly; the issue should remain useful after major refactors.
This rule applies to every section composed or refined in this phase — Problem, Value, Goal, Scope, Acceptance Criteria, Edge Cases, Technical Notes, and Dependencies.
Exception: if is_dev_ask is true, preserve the Original Dev Ask archival block exactly as submitted, even when it contains file paths or helper names. Do not repeat those brittle references in the refined issue body; translate them into durable module, behavior, or contract language in the authored sections.
src/services/orderService.ts:142 where applyDiscount() returns NaN"When the codebase exploration in Phase 4 surfaced specific files or functions, translate them into module names and behaviors before writing them into the issue. Engineers reading the issue can re-discover the file location from the module name; the inverse — recovering intent from a stale path — is much harder.
Choose the template based on issue_type:
is_simple_bug = true)Read the simple bug template from assets/simple-bug-template.md. Use for is_simple_bug = true. It provides a concise format with title format, description template (Problem, Root Cause, Fix), and notes on when to reclassify.
Read the comprehensive issue template from assets/comprehensive-template.md. It covers mode-specific behavior (IMPROVE vs CREATE), title format, description template (Problem, Value, Goal, Scope, Acceptance Criteria, Edge Cases, Technical Notes, Dependencies, Dev Ask), and technical notes guidelines.
Read references/mode-and-review-flow.md and follow its Phase 7 instructions.
Always present the draft, allow user refinements, create or update the issue only after approval, report Linear failures with the full drafted issue so work is not lost, return the issue URL, and stop without starting implementation.
Read the 15 issue-writing guidelines from references/writing-guidelines.md and apply them throughout the interview and composition phases. They cover leading with "why", explicit non-goals, inferring before asking, product-first writing, duplicate checking, and keeping simple bugs simple.
tools
Requires Linear MCP. Implements one Linear issue end to end, selects applicable code-review, convention, and PR-refactor gates, runs them to bounded convergence, verifies, and optionally opens the PR and iterates on CI and review feedback until green. Use when the user wants a single Linear issue taken from implementation through a clean Pull Request. Not for implementation-only work, SIW-tracked issues, stacked PRs, existing PR updates, or post-merge rollout.
development
Reviews PR and local changes for convention drift and overcaution against documented rules and mined peer-file practice. Use for new patterns, dependencies, abstractions, or defensive complexity that departs from established practice; every finding cites evidence. Supports --inline. Not for general code quality (use kramme:pr:code-review) or spec review (use kramme:siw:spec-audit --team).
testing
Charts huge or foggy initiatives into a local `.context` decision map and resolves one typed frontier ticket per session until the work is ready for SIW or another execution workflow. Use when the route to a destination cannot fit in one agent session or parallel workspaces need coordinated planning state. Not for clear specs, ordinary issue decomposition, implementation, or Linear-native tracking.
development
Investigates a question against primary sources and saves one cited Markdown artifact. Use for reading legwork: official docs/API facts, source-code or spec checks, standards, and first-party service behavior before planning or implementation. Not for making product or architecture decisions, implementing code, broad web search, secondary blog summaries, or uncited answers.