AgentSkillsCN

whats-next

根据完整的开发者上下文——包括 Git、Linear、PR 以及当前对话——提出最具影响力的三大下一步行动。优先考虑阻碍因素、已解除阻塞的事项,以及当前的工作势头。适用于在决定接下来要开展哪项工作,或在完成一项任务后做出下一步规划时使用。

SKILL.md
--- frontmatter
name: whats-next
description: >-
  Suggests the 3 most impactful next actions based on full developer context — git,
  Linear, PRs, and current conversation. Prioritizes blockers, unblocked items, and momentum.
  Use when deciding what to work on next or after finishing a task.
argument-hint: [optional focus area]
disable-model-invocation: true
allowed-tools:
  - AskUserQuestion
  - Bash
  - Read
  - Glob
  - Grep
  - WebFetch
  - mcp__claude_ai_Linear__get_issue
  - mcp__claude_ai_Linear__list_issues
  - mcp__claude_ai_Linear__create_issue
  - mcp__claude_ai_Linear__update_issue
  - mcp__claude_ai_Linear__list_teams
  - mcp__claude_ai_Linear__list_projects
  - mcp__claude_ai_Linear__list_issue_labels
  - mcp__claude_ai_Linear__list_issue_statuses
  - mcp__claude_ai_Linear__create_comment
  - mcp__claude_ai_Linear__list_comments

What's Next

Surface the 3 most impactful things to do right now based on all available context.

Preferences

Read ~/.claude/skills/whats-next/preferences.md using the Read tool. If not found, no preferences are set.

Context

  • Branch: !git branch --show-current 2>/dev/null || echo "not a git repo"
  • Uncommitted: !git status --short 2>/dev/null || echo "clean"
  • Recent commits: !git log --oneline -5 2>/dev/null || echo "no history"
  • Ahead/behind: !git rev-list --left-right --count HEAD...@{upstream} 2>/dev/null || echo "no upstream"
  • My PRs: !gh pr list --author @me --state open --limit 10 2>/dev/null || echo "gh not available"
  • Review requests: !gh pr list --search "review-requested:@me" --state open --limit 5 2>/dev/null || echo "none"

Command routing

Check $ARGUMENTS:

  • help → display help then stop
  • config → interactive setup then stop
  • reset → delete ~/.claude/skills/whats-next/preferences.md, confirm, stop
  • anything else (including empty) → analyze and suggest

Help

code
What's Next — Top 3 actions based on your full context

Usage:
  /whats-next                    Analyze everything, suggest top 3
  /whats-next <focus>            Focus on area (e.g., "frontend", "AIS-922", "cleanup")
  /whats-next config             Set priority weighting and sources
  /whats-next reset              Clear preferences
  /whats-next help               This help

Context sources:
  Git       Branch, uncommitted changes, ahead/behind remote
  PRs       Your open PRs, review requests, stale PRs
  Linear    In-progress, blocked, assigned to you
  Session   Current conversation, decisions, files discussed

Priority signals (highest to lowest):
  1. Blockers    — things others wait on you for
  2. Unblocked   — items just became ready
  3. Momentum    — continue active work
  4. Stale       — PRs/tickets aging
  5. Deadlines   — approaching due dates

Current preferences:
  (shown above under Preferences)

Config

Use AskUserQuestion:

Q1 — "Which context sources to use?" (multiSelect: true)

  • Git (branch, status, commits)
  • GitHub PRs (open, reviews, stale)
  • Linear (in-progress, blocked, assigned)
  • Session (conversation context)

Q2 — "Priority weighting?" (multiSelect: false)

  • Balanced (default) — all signals equal
  • Ship mode — favor finishing in-progress work
  • Unblock mode — favor items blocking others

Save to ~/.claude/skills/whats-next/preferences.md.

First-time detection

If no preferences file exists, show: "First time using /whats-next? Run /whats-next config to customize sources and priority mode, or continue with defaults (all sources, balanced)."

Then proceed.

Steps

1. Gather context (parallel where possible)

Git and PR context is pre-injected above.

Linear context (fetch via MCP tools):

  • In-progress issues: list_issues with assignee "me", state "In Progress"
  • In-review issues: list_issues with assignee "me", state "In Review"
  • Recently updated assigned issues: list_issues with assignee "me", limit 10, orderBy "updatedAt"

Session context:

  • What was discussed in current conversation
  • Decisions made, actions completed, pending items
  • Files modified or investigated

2. Score and rank

For each potential action, score using weighted signals:

SignalWeightExamples
Blocking others5Approved PR not merged, ticket blocking another
Just unblocked4Blocker resolved, failing checks now pass
Active momentum3On related branch, uncommitted changes, current task
Staleness2PR open >2 days, ticket in-progress >3 days
Approaching deadline2Due date within 3 days, sprint ending
Recency1Recently updated, from current session

If focus area provided in $ARGUMENTS, boost matching items but still show high-scoring non-matches (blockers).

Apply priority weighting mode from preferences if set.

3. Present top 3

code
What's next for you:

1. [Action title]
   [Why — one sentence connecting to context]
   → [Concrete next step]

2. [Action title]
   [Why]
   → [Next step]

3. [Action title]
   [Why]
   → [Next step]

Each card: imperative action title, real signal explanation, literal command/action.

4. Offer interaction

Use AskUserQuestion (multiSelect: false):

  • "Execute #1" / "Execute #2" / "Execute #3"
  • "Expand details" — full context for all 3
  • "Refresh" — re-gather and re-rank
  • "Skip all"

If executing: Announce → execute → report → offer updated suggestions. If expanding: Show links, related tickets, files, full reasoning.

Principles

  • 3 items max: Avoid decision fatigue.
  • Actionable, not informational: Every suggestion has a clear next step.
  • Context-first: Connect dots the developer might miss.
  • No repeats: Don't re-suggest dismissed/completed items in same session.
  • Show reasoning: Briefly explain WHY each item is suggested.
  • Be fast: Gather context in parallel, don't over-read.