一键导入
linear-sprint
Manage Linear cycles and sprint planning. Use when the user says "sprint planning", "manage cycle", "linear sprint", or "plan cycle".
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Manage Linear cycles and sprint planning. Use when the user says "sprint planning", "manage cycle", "linear sprint", or "plan cycle".
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Pick a bug from Linear, fix it test-first, verify, and update. Use when the user says "fix issue", "fix bug", "work on known issue", or "pick a bug".
Create a new ticket for task tracking. Use when the user says "create ticket", "new ticket", or "track this".
Diagnose an integration/E2E test log, classify failures by severity, and batch-create issues. Use when the user says "smoke test", "diagnose log", "triage test log", or provides a test log.
Pull Linear issues and generate a local snapshot for quick reference. Use when the user says "sync linear", "pull linear issues", "update from linear", or "show my issues".
Triage, prioritize, and groom Linear issues. Use when the user says "triage linear", "review inbox", "prioritize issues", "groom backlog", or "clean up issues".
Investigate a bug using structured differential diagnosis. Use when the user says "diagnose", "investigate this", "what's causing this", or "figure out why".
| name | linear-sprint |
| description | Manage Linear cycles and sprint planning. Use when the user says "sprint planning", "manage cycle", "linear sprint", or "plan cycle". |
| argument-hint | [current|next] |
| user-invocable | true |
| allowed-tools | Bash, Read, Write, Grep |
| model | sonnet |
View, plan, and report on Linear cycles (sprints) using schpet/linear-cli.
Note: The Linear CLI does not have a dedicated cycle command. This skill uses the CLI for issue data and falls back to the Linear GraphQL API (via curl + linear auth token) for cycle-specific queries, as documented by the CLI itself.
Verify the Linear CLI is available:
linear --version 2>/dev/null || echo "LINEAR_CLI_MISSING"
Get the GraphQL schema to discover cycle fields if needed:
linear schema -o "${TMPDIR:-/tmp}/linear-schema.graphql"
grep -A 30 "^type Cycle " "${TMPDIR:-/tmp}/linear-schema.graphql"
Determine which cycle to operate on:
$ARGUMENTS = current or empty → current active cycle$ARGUMENTS = next → upcoming cycleFetch cycle data via the GraphQL API:
curl -s -X POST https://api.linear.app/graphql \
-H "Content-Type: application/json" \
-H "Authorization: $(linear auth token)" \
-d '{"query": "{ team(id: \"TEAM_ID\") { activeCycle { id name startsAt endsAt issues { nodes { identifier title state { name } priority assignee { name } } } } } }"}'
Get the team ID first: linear team id
Fetch issue details for the cycle using the CLI for richer data:
linear issue view ENG-123 --json
Generate the appropriate report:
For current cycle — progress report:
## Cycle Report: [cycle name] ([start] → [end])
### Progress:
- Total issues: [count]
- Completed: [count] ([percent]%)
- In Progress: [count]
- Todo: [count]
### By Priority:
- Urgent: [done/total]
- High: [done/total]
- Medium: [done/total]
- Low: [done/total]
### At Risk:
- ENG-123: <title> — [reason: stale, no assignee, etc.]
### Days remaining: [count]
For next cycle — planning view:
## Planning: [next cycle name] ([start] → [end])
### Candidates (unscheduled high-priority):
| Issue | Title | Priority | Labels |
|-------|-------|----------|--------|
| ENG-789 | <title> | High | feature |
### Carryover (incomplete from current):
| Issue | Title | Status |
|-------|-------|--------|
| ENG-123 | <title> | In Progress |
Optionally update docs/CURRENT_SPRINT.md with the cycle report for local reference.
current: report on active cyclenext: plan the upcoming cyclelinear-cli doesn't have a cycle command — prefer CLI commands for everything elselinear auth token