From shipshitdev-library
Sets up agent routing block in CLAUDE.md/AGENTS.md and docs/agents/ for dev-loop skills. Reads GitHub issue tracker, labels, and project board via gh. Run once per repo.
How this skill is triggered — by the user, by Claude, or both
Slash command
/shipshitdev-library:setup-agent-routingThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
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.
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 off## 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.npx claudepluginhub shipshitdev/skills --plugin worktreeScaffolds per-repo configuration for engineering skills: issue tracker (GitHub/GitLab/markdown), triage labels, and domain docs layout.
Sets up an `## Agent skills` block in AGENTS.md/CLAUDE.md and `docs/agents/` so the engineering skills know this repo's issue tracker (GitHub or local markdown), triage label vocabulary, and domain doc layout. Run before first use of `to-issues`, `to-prd`, `triage`, `diagnose`, `tdd`, `improve-codebase-architecture`, or `zoom-out` — or if those skills appear to be missing context about the issue tracker, triage labels, or domain docs.
Scaffolds per-repo configuration for engineering skills: issue tracker choice, triage labels, and domain docs layout. Run once before first use of other skills.