Files
msd-core/commands/gsd/inbox.md
Tom Boucher 81f9534b5a feat(adr-0002): command contract validation module + prose @-ref cleanup + workflow extraction
ADR-0002: commands/gsd/*.md contract now enforced at two layers:

LINT (scripts/lint-command-contract.cjs — new CI step):
- name: present, starts with gsd: or gsd-
- description: non-empty
- allowed-tools: non-empty, all entries canonical
- execution_context @-refs: resolve on disk, no trailing prose on same line
- handles both @~/ and $HOME/ path prefixes

TEST (tests/command-contract.test.cjs — 361 assertions):
- Behavioral contract for all 65 command files
- Replaces scattered coverage in enh-2790 + bug-3135
- Per-command per-rule test — one failure names the exact file + rule

CI (.github/workflows/test.yml):
- 'Lint — command contract (ADR-0002)' step added to lint-tests job

PROSE @-REF CLEANUP (39 command files, ~900 tokens/invocation recovered):
- Removed redundant @~/.claude/get-shit-done/... paths from <process> prose
- execution_context block is now the single authoritative load declaration
- Routing commands (sketch, spike, update, pause-work, etc.) keep routing
  instructions; only the inert path token is stripped

WORKFLOW EXTRACTION (debug.md + thread.md, ~15,000 chars / ~3,750 tokens):
- get-shit-done/workflows/debug.md: full process extracted from commands/gsd/debug.md
- get-shit-done/workflows/thread.md: full process extracted from commands/gsd/thread.md
- Command files reduced to frontmatter + objective + execution_context + context
- debug.md: 9,603 → 1,703 chars; thread.md: 7,868 → 585 chars

RENAME:
- get-shit-done/workflows/extract_learnings.md → extract-learnings.md
  (aligns with hyphen convention of all other workflow files)

DOCS:
- docs/INVENTORY.md: count 85→87, new rows, rename row, fix add-todo --backlog attribution
- docs/INVENTORY-MANIFEST.json: +debug.md +thread.md +extract-learnings.md -extract_learnings.md

Closes ADR-0002 implementation.
2026-05-05 15:18:13 -04:00

1.3 KiB

name, description, argument-hint, allowed-tools
name description argument-hint allowed-tools
gsd:inbox Triage and review open GitHub issues and PRs against project templates and contribution guidelines. [--issues] [--prs] [--label] [--close-incomplete] [--repo owner/repo]
Read
Bash
Write
Grep
Glob
AskUserQuestion
One-command triage of the project's GitHub inbox. Fetches all open issues and PRs, reviews each against the corresponding template requirements (feature, enhancement, bug, chore, fix PR, enhancement PR, feature PR), reports completeness and compliance, and optionally applies labels or closes non-compliant submissions.

Flow: Detect repo → Fetch open issues + PRs → Classify each by type → Review against template → Report findings → Optionally act (label, comment, close)

<execution_context> @~/.claude/get-shit-done/workflows/inbox.md </execution_context>

**Flags:** - `--issues` — Review only issues (skip PRs) - `--prs` — Review only PRs (skip issues) - `--label` — Auto-apply recommended labels after review - `--close-incomplete` — Close issues/PRs that fail template compliance (with comment explaining why) - `--repo owner/repo` — Override auto-detected repository (defaults to current git remote) Execute end-to-end. Parse flags from arguments and pass to workflow.