bundles/session/skills/setup-agent-routing/SKILL.md
Sets up an `## Agent skills` routing block in CLAUDE.md/AGENTS.md plus docs/agents/ so the dev-loop skills (executing-plans, feature-intake, prd-writer, qa-reviewer) know this repo's GitHub issue tracker, kanban label vocabulary, and domain doc layout. Run once per repo before first use of the loop, or when those skills appear to lack tracker, label, or domain context.
npx skillsauth add shipshitdev/library setup-agent-routingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Write a machine-readable routing block so the dev-loop skills know where this repo tracks work, which labels drive the loop, and how its domain docs are laid out. Run once per consumer repo; bridges executing-plans, feature-intake, prd-writer, and qa-reviewer into a new repo.
Prompt-driven, not deterministic. Explore first, present findings, confirm each decision, show drafts, then write. Never write speculatively.
Inputs:
CLAUDE.md / AGENTS.md, and docs/agents/ghOutputs:
## Agent skills routing blockdocs/agents/{issue-tracker,triage-labels,domain}.md files seeded from references/Creates/Modifies:
## Agent skills block into CLAUDE.md (preferred) or AGENTS.md, in placedocs/agents/*.md from the reference seeds, updating in place when they already existExternal Side Effects:
gh callsConfirmation Required:
docs/agents/ fileCLAUDE.md vs. AGENTS.md when neither existsDelegates To:
executing-plans, feature-intake, prd-writer, and qa-reviewer consume the
routing block this skill writes — it produces their machine-readable context, then hands offdomain-modeling maintains CONTEXT.md and ADRs after this skill has recorded the layout## Agent skills block in CLAUDE.md (preferred) or AGENTS.md.docs/agents/:
issue-tracker.md — how issues are created, labeled, and placed on the board.triage-labels.md — full label vocabulary, including dispatch:claude/dispatch:codex/dispatch:openrouter execution gates and the dispatch:plan planning gate (status lives on the board, not a label).domain.md — the domain glossary layout (single- or multi-context).The CLAUDE.md/AGENTS.md block is a thin index; detail lives in docs/agents/.
git remote -v
gh repo view --json nameWithOwner,defaultBranchRef 2>/dev/null
gh label list --limit 100 2>/dev/null
gh project list --owner "@me" 2>/dev/null
Also read, if present: CLAUDE.md, AGENTS.md, CONTEXT.md, CONTEXT-MAP.md,
docs/agents/, docs/adr/. Note what already exists vs. what is missing — you will
update in place, not duplicate.
Summarize present/missing state in one short block. Walk the three decisions individually, each prefaced by a plain-English explainer. Do not present all three at once.
A. Issue tracker. Default: GitHub Issues + a GitHub Projects kanban
(Backlog / In Progress / Human Review / Done / Deferred), detected from the origin remote. Confirm the
repo owner/name and the project board number. If the remote is not GitHub, ask
how work is tracked instead of assuming.
B. Label vocabulary. Show the canonical set (below) and let the user override the strings. The roles are fixed; the exact label text is theirs to rename.
Status is the board Status field (Backlog / In Progress / Human Review / Done / Deferred), the sole
source of truth — it is not a label. The labels that ride alongside it:
| Label | Role |
| ----- | ---- |
| claim:active | An agent currently holds the issue (30-min claim lock). |
| loop:planning / loop:executing / loop:testing / loop:shipping | AI-loop sub-phase inside the In Progress column (observability). |
| priority:high / priority:medium / priority:low | Queue ordering. |
| rejection:N | QA rejection count; bumped on each kickback. |
| dispatch:plan | Planning gate → drafts a plan for human review. Human opt-in: runs writing-plans, posts a ## Implementation Plan comment, stops at Human Review. Applies no execution gate. |
| dispatch:claude | Dispatch gate → Claude lane. Human opt-in: the agent only runs on issues that carry it. |
| dispatch:codex | Dispatch gate → Codex/GPT lane. The Codex-lane twin; apply at most one gate per issue. |
| dispatch:openrouter | Dispatch gate → OpenRouter lane. Hosts Codex CLI via OpenRouter; apply at most one gate per issue. |
| type:feature | Created by feature-intake on PRD epics and sub-issues. |
Also explain the AFK / HITL body markers (not labels): AFK = an agent can
finish from written context; HITL = a human decision is required. HITL issues must
never receive any dispatch gate — neither the execution gates (dispatch:claude,
dispatch:codex, dispatch:openrouter) nor the planning gate (dispatch:plan).
C. Domain docs layout. Single-context (CONTEXT.md at root) vs. multi-context
(CONTEXT-MAP.md indexing several CONTEXT.md files). Default to single-context for
a solo or single-product repo.
Render the full ## Agent skills block and all three docs/agents/*.md files. Let
the user edit label strings, the project number, and the domain layout before
anything is written.
File-selection rules (copied from the conventions that make this safe):
CLAUDE.md exists → edit it.AGENTS.md exists → edit it.## Agent skills section already exists → update it in place, do not append a duplicate.docs/agents/*.md from the templates in references/. If a file already exists, show a diff and update in place.## Agent skills block## Agent skills
### Issue tracker
GitHub Issues + GitHub Projects kanban (Backlog / In Progress / Human Review / Done / Deferred) on
`<owner>/<repo>`, project #<N>. See `docs/agents/issue-tracker.md`.
### Triage labels
`claim:active` · `loop:*` (AI-loop phases) · `priority:*` · `rejection:*` ·
`type:feature` · `dispatch:plan` (planning gate) · `dispatch:claude` (Claude gate) ·
`dispatch:codex` (Codex gate) · `dispatch:openrouter` (OpenRouter gate). Status is the
board `Status` field, not a label. See `docs/agents/triage-labels.md`.
### Domain docs
<single-context | multi-context>. See `docs/agents/domain.md`.
references/issue-tracker-github.md — the gh / gh project command vocabulary and the column→label map.references/triage-labels.md — the full label table and AFK/HITL markers.references/domain.md — single- vs multi-context glossary layout.## Agent skills block or docs/agents/*.md.CLAUDE.md/AGENTS.md block as a thin index — detail lives in docs/agents/.dispatch:plan (planning) / dispatch:claude / dispatch:codex / dispatch:openrouter (execution) are the human opt-in gates. HITL issues never carry any of them.gh project list or ask.development
Coordinates a weekly engineering review of board accuracy, recent code changes, operational health, and scoped cleanup. Use for a recurring repository health review or a review of the last several days.
testing
Audits project board configuration and prepares explicitly requested setup, copy, or normalization changes while preserving the existing workflow and provider boundaries. Use when inspecting a board's fields, columns, scope, or configuration.
testing
Reconciles a project board with current work and delivery evidence, reports incomplete coverage and metadata gaps, and applies only approved provider-supported field changes. Use when auditing board drift, reviewing blocked work, or assessing upcoming delivery.
development
Walk through how a subsystem works. Use for "how does X work", code walkthroughs before changing something, and placement or ownership questions. Explains architecture, runtime flow, and onboarding mental models. Can critique architecture. Use why for motivation.