SKILL.md
Fetch Linear Issue and Create Branch
Input
Linear issue identifier: $ARGUMENTS Examples: ALG-27, 27, alg-27
Steps
- Parse issue identifier from
$ARGUMENTS:
- Accept formats: ALG-27, 27, alg-27 - Normalize to ALG-{NUM} for Linear API call - Extract number for folder naming
- Fetch issue details using Linear MCP:
`` mcplinear-serverget_issue with: - id: ALG-{NUM} - includeRelations: true ``
- Extract from issue response:
- identifier: e.g., "ALG-27" - title: Issue title - description: Full description - labels: Array of label names - status: Current status - relations.blocks: Issues this blocks - relations.blockedBy: Issues blocking this - relations.relatedTo: Related issues
- Parse description for mentioned issues:
- Search for patterns: ALG-\d+ (case-insensitive) - Extract unique issue identifiers mentioned in description - These are treated as "linked" issues alongside formal relations - Example: ALG-13 -> extract ALG-13
- For each linked issue (from relations AND description mentions):
- Use Glob to find specs/alg-{related-num}-*/spec.md (Glob matches files, not directories) - If spec.md exists, read the summary section - Collect related specs for context
- Derive kebab-slug from title:
- Lowercase the title - Replace spaces and special chars with hyphens - Remove consecutive hyphens - Truncate to reasonable length (40 chars max)
- Create branch and spec directory:
``bash NUM={extracted number} SLUG={kebab-slug} git checkout -b alg-${NUM}-${SLUG} mkdir -p specs/alg-${NUM}-${SLUG} ``
- Output context summary:
- Issue identifier and title - Description preview - Labels and status - Related specs found (with summaries) - Created branch name - Created spec directory path - Prompt: "Run /plan-spec to create the specification"
Notes
- Do NOT create spec.md yet - that's handled by /plan-spec
- Do NOT commit anything - branch creation is uncommitted
- If branch already exists, ask user whether to switch to it or create fresh
- If spec directory already exists, warn user and ask to proceed