Sprint Status Mod

Overview

The sprint status mod adds a live sprint progress view to Claude Code. It provides four complementary surfaces that keep sprint status visible without running a command:

All four surfaces read from a shared snapshot cache that is refreshed automatically every 30 seconds and on every /sprint toggle.

The /sprint command

Type /sprint in the Claude Code prompt to toggle the sidebar open or closed. When no sprint is active, the command responds "No active sprint" and takes no further action.

Three other controls also toggle the sidebar:

  • Band hotkey -- type the digit 9 on an empty prompt.
  • Band button -- click the toggle on the band line above the prompt.
  • Esc -- closes the sidebar when it is open.

Pane placement

Claude Code decides where the pane appears at runtime. In a wide fullscreen terminal the sidebar docks on the right; in a narrower or non-fullscreen terminal it appears inline above the prompt.

Auto-open

When a sprint is active, the sidebar opens automatically at session start if the terminal is at least 144 columns wide. After you have manually opened it at least once, the auto-open threshold drops to 110 columns. You can open the sidebar manually at any terminal width.

Band

The band is a single summary line rendered above the Claude Code prompt. It reads:

9: sprint-12 · 12/21 pts · 3/6 done · 0 blocked

When ACTION NEEDED items exist in the same session, the band switches to a warning variant:

⚠ ACTION NEEDED · 2 items since Oct 10 → press 9

The band is absent when no sprint is active.

Status line segment

When a sprint is active, the GAIA status line includes a sprint progress segment:

sprint-12 57%

When an ACTION NEEDED condition is active (manual tests due, user action items, or sprint ready to close), the segment is prefixed with a warning indicator:

! sprint-12 57%

If the snapshot cache is missing or unreadable, the segment falls back to showing the sprint identifier only (no percentage, no warning). When no sprint is active, the segment is absent.

Upgrade note: the sprint progress segment appears automatically via status line self-heal after a plugin update. If it does not appear, run /gaia-statusline-refresh to install the updated runtime.

Enhanced /gaia-sprint-status dashboard

The /gaia-sprint-status text dashboard includes two additional columns:

  • Tasks X/Y -- completed vs total tasks for each story.
  • Gates X/6 -- passed review gates out of the six standard gates.

Stories are grouped by dependency phase with a phase header line. Unphased stories appear in a separate group at the end.

When any ACTION NEEDED condition is active, a warning header prints above the table with the count and first item summary.

When no sprint is active, the command prints "No active sprint" and exits. The stranded-ready advisory (stories left in ready-for-dev across sprints) continues to run its own independent scan.

Agent activity

The NOW block in the sidebar shows agent activity sub-lines under each story. Agents are linked to a story when their dispatch description starts with the story key followed by a colon (e.g., E5-S12: implementing task 4). This is the convention used by GAIA's /gaia-dev-story and /gaia-run-sprint dispatches. Agents whose descriptions do not follow this pattern appear as unlinked activity.

Agent activity is visible only in the session that dispatched the agents (same-session only). Up to five activity lines are shown per story.

ACTION NEEDED indicators

Four detection rules produce ACTION NEEDED entries:

ConditionSuggested command
Manual tests are due (all six review gates passed, manual verification required, no verdict recorded) /gaia-test-manual
An action item is assigned to the user (matched by alias) /gaia-action-items
All stories are done (the sprint can be closed) /gaia-sprint-close

The sidebar, band, status line, and /gaia-sprint-status all show ACTION NEEDED when applicable.

Suggested commands come from a fixed allowlist (/gaia-test-manual, /gaia-sprint-close, /gaia-action-items). ACTION NEEDED items in the sidebar are display-only indicators -- they are never auto-executed.

Each entry includes a since date derived from the review-gate ledger timestamp or the story file modification time.

Configuration

The sprint_status_mod section in .gaia/config/project-config.yaml accepts one optional property:

user_aliases

An array of strings used to match action items assigned to the current user.

  • Absent: defaults to ["user"] plus the git user.name.
  • Set: the provided list fully replaces the default (it does not merge).
  • Empty list ([]): disables user-alias matching entirely.

Matching is case-insensitive.

# Example
sprint_status_mod:
  user_aliases:
    - "alice"
    - "Alice Smith"

View the current values with /gaia-config-show sprint_status_mod.

Graceful degradation

The sidebar and band require Claude Code mod support (the ui.render, ui.press, and session.start hooks). On builds that do not expose these hooks, the mod silently skips registration -- no error or warning is emitted.

When the cache has not been read yet or the cache file is absent, the sidebar pane shows "Sprint data unavailable" instead of rendering nothing. The band remains absent in this state. Once the cache loads successfully, the full dashboard replaces the fallback message.

The two non-mod surfaces continue to work on all builds: