Provides a supportive triage view and interactive kanban board to visualize open work.

Install

mkdir -p .claude/skills/scan-deck && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/19088" && unzip -o skill.zip -d .claude/skills/scan-deck && rm skill.zip

Installs to .claude/skills/scan-deck

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Browse the deck — supportive triage view, filtered queues, kanban board, JSON dump, decision Q&A. Read-only by default. AUTO-INVOKE on "what's open", "show me the deck", "kanban view", or "decisions to make" — and ALWAYS before Skill(create-card) to dedup against existing titles.
280 charsno explicit “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Intermediate

Key capabilities

  • Display parked cards grouped by gate, oldest-first
  • Show a one-line summary of the open queue
  • Facilitate interactive Q&A for decision-gated cards
  • Pre-author options for decisions with bundled rationale
  • Summarize recorded decisions and remaining parked cards
  • Support filtering cards by title, tag, or expression

How it works

This skill renders a project board, surfacing blocked items and facilitating interactive decision-making on parked cards, either through a triage view or a structured Q&A.

Inputs & outputs

You give it
Optional arguments for filtering or 'decisions to make' mode
You get back
Triage view of parked cards, open queue summary, or interactive decision prompts

When to use scan-deck

  • Checking project status
  • Triage of open issues
  • Making decisions on parked tasks

About this skill

When to invoke

Invoke when the user says "what's up?", "where do you need me?", "what's open", "show me the deck", "list cards", "kanban view", or "decisions to make" — and always before Skill(create-card) to dedup against existing titles. Kanban first practice (make work visible).

Scan the deck

Kanban's first practice (Anderson): make work visible. You cannot manage what you cannot see, and a swarm of /loop iterations cannot prioritize against state it has to reconstruct from chat. This skill renders the board for whoever's looking — human-supportive triage, filtered queues, kanban columns, JSON dumps, and a structured decision Q&A that closes the Andon-cord loop in one round.

Read-only except in the explicit "decisions to make" mode, which calls Skill(decide-card) per parked card to lower gates.

User argument: $ARGUMENTS

Mode A — bare invocation / "what's up?" / "where do you need me?"

The supportive default. Surface what's blocking progress (parked cards) before what's queued (open work), because the human's highest-leverage action is unblocking the line, not browsing it.

goc triage

This emits parked cards (gate ≠ none) grouped by gate, oldest-first, with the ## Decision required body section preview and an aged-days badge. Then show a one-line summary of the open queue:

goc -v | head -10
echo "..."
goc | wc -l

Why -v by default: the -v flag adds a per-card summary line that surfaces the qualitative context the contribution tier alone can't capture (pong-active vs pong-DORMANT, recent regression vs old doc-rot, blocking-other-work vs standalone). The agent picking from the queue makes better importance judgments with summaries visible — without them, "medium contribution" is opaque.

End with the discovery hint: for streamlined decision capture, suggest Skill(scan-deck) decisions to make, which walks every decision-gated card via AskUserQuestion in one round and records each answer via Skill(decide-card).

Mode B — "decisions to make" (interactive Q&A)

Triggered by Skill(scan-deck) decisions to make (or matching phrasings: "let me decide", "walk me through decisions", "AskUserQuestion mode"). The fastest path to draining the human's gate queue.

Step 1 — fetch parked decisions

goc triage --json

Filter to gate == "decision" items. (Session-gated cards stay parked — they need a real-time conversation, not a structured Q&A. Note them at the end as out-of-scope for this round.)

Step 2 — build options that bundle WHAT with WHY

For each decision card, parse the decision_required body section and pre-author 2–3 options where each option's label is a full <decision> — because <reason> clause. The description field expands the trade-off context that lives below the label in the UI.

Why bundled: the reason for a choice IS what makes it the choice. Asking WHY as a follow-up forces the user to re-reason a decision they already made, and creates artificial branching when reasons overlap across options. Bundling makes decide-card's mandatory --because discipline frictionless — one selection captures both.

Example:

label:       "Rewrite §3.4 to defer to §10.4 — because §10.4 is
              empirically anchored and matches shipping config"
description: "Sprint 2.44 coherence²-collapse theorem; pong +
              line_follower ship amp_diff; smallest disruption
              to API structure"

If the card lacks a decision_required body section with enumerable options, infer from the card summary or fall back to a single "Other (free text)" prompt where the user types one sentence in the same form: <my decision> — because <my reason>.

Always include an "Other (free text)" option for cases where none of the parsed options fit. Same split rule applies to free text — if the user forgets the — because separator, prompt once for clarification.

Step 3 — paginate by four

AskUserQuestion caps at 4 questions per call, so present batches of 4 cards by default. The cap is a tool constraint; treat it as the UX policy too — 4 decisions is enough for one round of attention, and walking 56 in a single sitting is implausible.

Between batches, ask via AskUserQuestion: "Continue with the next 4 decisions, or pause here?" The human can pause anytime; the skill reports whatever was recorded plus a count of what's still parked.

Step 4 — call Skill(decide-card) per selection

For each chosen option, split the label on the first — because token to recover the WHAT and WHY clauses, then:

goc decide <title> \
    --decision "<text before ' — because '>" \
    --because "<text after ' — because '>"

(Or invoke Skill(decide-card) if the human prefers the skill indirection.)

Step 5 — summarize

Report one line: recorded N decisions; M session-gated cards still parked (out of scope, schedule a session); K decision-gated cards remain (paused mid-walk — re-invoke to continue).

Mode C — filters (everything else)

Existing flags compose with AND semantics on tags, intersect on other fields. Use these when the human knows what they're looking for.

goc -v                          # open queue + summaries (RECOMMENDED DEFAULT)
goc -v --tag bug --contribution high  # filter + summaries
goc -v --ready                  # autonomous-safe queue + summaries (open, gate none, no active waiting_on)
goc -v --human-gate none        # autonomous-safe gate filter (advances-awaiting cards remain visible)
goc -v --status all             # everything + summaries
goc --done --since 2026-04-01   # throughput query (terse OK)
goc                              # terse table (titles + contribution only — use sparingly)
goc -vv                          # adds STAGE/CREATED + DoD checklist + cross-refs
goc --json                       # machine-readable
goc --board                      # multi-column kanban
goc show <title>                  # full card body

Default to -v: summaries surface the qualitative context that the contribution tier alone can't capture (pong-active vs pong-DORMANT, recent regression vs old doc-rot, blocking-other-work vs standalone). Use bare goc only when scanning for titles/counts (the terse table is faster to read at a glance but loses importance signal).

If the user passed a title, also run goc show <title> so the full body lands in the conversation.

Why the triage view is the default

Without it, the human's first answer to "what's up?" is "126 open cards, sorted by contribution" — a wall of work that hides the fact that most of those 126 cards are NOT waiting on the human at all. They're waiting on pull-card, on a scheduled run, on someone claiming them. Buried among them: ~80 cards that ARE waiting on the human and have been for days. Pull-card cannot drain them. Without a triage default, those cards rot, and the autonomous half of the deck stalls behind cords nobody lowered.

This is exactly the failure mode Lean's Andon was invented to prevent: a stopped line with no visible signal. The triage view is the signal — the parked cards are the lit cords, and they go on top.

Cross-references

  • Skill(decide-card) — the human's one-action handoff for parked cards; the natural follow-up to mode A and the engine of mode B.
  • Skill(pull-card) — the autonomous worker that raises the gate when stuck. The other end of the Andon loop.
  • Skill(next-card) — auto-pick the highest-leverage card to work on (gate=none only). Use after triage when you want to take something off the queue yourself, not just look.
  • Skill(audit-deck) — discovery hunt. Use when the queue feels thin or you suspect undocumented defects.
  • Skill(create-card) — file a new card. Use when you spotted something during scan that isn't in the queue yet.
  • Skill(card-schema) — schema reference. Use when filter results show fields you don't recognize.

When not to use it

  • When the user wants to modify cards directly without explicit decision mode
  • When the user wants to bypass the decision-making process for parked cards
  • When the user wants to perform actions beyond read-only browsing or decision capture

Limitations

  • The skill is read-only by default, except in 'decisions to make' mode
  • AskUserQuestion caps at 4 questions per call for decision batches
  • Session-gated cards are out-of-scope for the structured Q&A

How it compares

This workflow prioritizes visibility of blocked work and provides a structured way to capture decisions, improving project flow compared to simply listing all open tasks.

Compared to similar skills

scan-deck side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
scan-deck (this skill)020dReviewIntermediate
task-execution-engine36moReviewBeginner
workflow-linear-tracking04moReviewBeginner
today05moNo flagsBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry