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, GitLab, fp, or local markdown), triage label vocabulary, and domain doc layout. Run before first use of `fp-plan`, `fp-implement`, `fp-review`, `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.
Installation
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
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, GitLab, fp, or local markdown), triage label vocabulary, and domain doc layout. Run before first use of `fp-plan`, `fp-implement`, `fp-review`, `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.
disable-model-invocation
true
Setup Sanurb's Skills
Purpose
Scaffold the per-repo configuration the engineering skills assume — issue tracker, triage label vocabulary, and domain doc layout — by inserting an ## Agent skills block into CLAUDE.md/AGENTS.md and seeding three files under docs/agents/. This is what makes the rest of the skill set composable: fp-plan, fp-implement, fp-review, to-issues, triage, diagnose, tdd, improve-codebase-architecture, and zoom-out all read the same three files, so they speak the same vocabulary about THIS repo.
Instructions
1. Discover the repo's starting state — read, don't ask
Collect facts BEFORE presenting a single decision:
AGENTS.md and CLAUDE.md at the repo root — does either exist? Is there already an ## Agent skills section in either?
CONTEXT.md and CONTEXT-MAP.md at the repo root.
docs/adr/ and any src/*/docs/adr/ directories.
docs/agents/ — has this skill already produced output?
.scratch/ — sign that local-markdown issue tracking is already in use.
fp tree (suppress errors) — sign that fp is initialised in this repo.
Do not propose anything yet. Just collect.
2. Walk three decisions one at a time, with detection-driven defaults
Present Section A → wait for the user's answer → Section B → wait → Section C. Never dump all three at once. Each section opens with a short explainer (assume the user does not know the term, why these skills need it, or what changes if they pick differently).
Section A — Issue tracker. Where issues live for this repo. Default by detection from Step 1:
fp tree returned a tree → propose fp (uses fp issue ...). Seed: references/issue-tracker-fp.md.
.scratch/ exists, or no remote → propose Local markdown under .scratch/<feature-slug>/. Seed: references/issue-tracker-local.md.
Always also offer Other (Jira, Linear, etc.) — ask the user to describe the workflow in one paragraph; record it as freeform prose.
Section B — Triage label vocabulary. Five canonical roles: needs-triage, needs-info, ready-for-agent, ready-for-human, wontfix. Read: references/triage-labels.md for the seed table. Default each role's string to its name; ask the user if their tracker already uses different strings and map them. (For fp, state lives in the tree shape — the table maps idiomatically; see references/issue-tracker-fp.md for the divergence.)
Section C — Domain docs. Read: references/domain.md for the seed and consumer rules. Confirm layout:
Single-context — one CONTEXT.md + docs/adr/ at the repo root. Most repos.
Multi-context — CONTEXT-MAP.md at the root pointing at per-context CONTEXT.md files. Default to single-context unless CONTEXT-MAP.md already exists.
After all three are answered, show the user the draft ## Agent skills block and the three docs/agents/*.md file contents. Let them edit before writing.
3. Write the block and the three files
Pick the file: edit CLAUDE.md if it exists; else edit AGENTS.md if it exists; else ask the user which to create. Never create one when the other already exists.
If an ## Agent skills block already exists in the chosen file, update it in place. Do not append a duplicate. Do not touch the surrounding sections.
The block:
## Agent skills### Issue tracker
[one-line summary]. See `docs/agents/issue-tracker.md`.
### Triage labels
[one-line summary]. See `docs/agents/triage-labels.md`.
### Domain docs
[single-context | multi-context]. See `docs/agents/domain.md`.
Then write the three files under docs/agents/, seeded from the matching reference:
docs/agents/issue-tracker.md ← copy from references/issue-tracker-{github,gitlab,fp,local}.md. For "Other" trackers, write from scratch using the user's description.
docs/agents/triage-labels.md ← copy from references/triage-labels.md and fill in the user's mappings.
docs/agents/domain.md ← copy from references/domain.md.
Then tell the user which engineering skills will now consume these files. Mention they can edit docs/agents/*.md directly later — re-running this skill is only necessary to switch issue trackers or restart from scratch.
Non-Negotiable Acceptance Criteria
The skill delivers nothing if any of these fails:
All Step-1 discovery (git remote, existing AGENTS/CLAUDE.md, existing docs/agents/, .scratch/, fp tree) completed BEFORE any decision was presented to the user.
The three decisions were walked one at a time — Section A, then B, then C — never as a single dump.
Each section opened with a short explainer aimed at a user who does not know the term.
The default proposed for the issue tracker matches what was actually detected (GitHub remote → GitHub default; fp tree → fp default; etc).
Exactly ONE of CLAUDE.md or AGENTS.md was edited. Never both. Never created the other when one already existed.
An existing ## Agent skills block was updated in place. No duplicate block was created. No surrounding sections were overwritten or reordered.
All three files (docs/agents/issue-tracker.md, docs/agents/triage-labels.md, docs/agents/domain.md) exist after Step 3, even if the user accepted defaults verbatim.
The user saw and approved the draft block + all three file contents BEFORE anything was written.
No CONTEXT.md, docs/adr/, or .scratch/ was created speculatively — those are produced by other skills lazily, not by this one.
Output
Three artifact streams:
Stream 1 — block inserted in CLAUDE.md or AGENTS.md (whichever was already present), in this exact shape:
## Agent skills### Issue tracker
{one-line summary, e.g. "GitHub issues via `gh`."}. See `docs/agents/issue-tracker.md`.
### Triage labels
{one-line summary, e.g. "Five canonical roles, defaults verbatim."}. See `docs/agents/triage-labels.md`.
### Domain docs
{single-context | multi-context}. See `docs/agents/domain.md`.
Stream 2 — three files under docs/agents/:
docs/agents/issue-tracker.md — seeded from references/issue-tracker-{github,gitlab,fp,local}.md, or written from scratch for "Other".
docs/agents/triage-labels.md — seeded from references/triage-labels.md, with the user's mappings filled in.
docs/agents/domain.md — seeded from references/domain.md.
Stream 3 — confirmation message listing the engineering skills that now read from these files: fp-plan, fp-implement, fp-review, to-issues, to-prd, triage, diagnose, tdd, improve-codebase-architecture, zoom-out. Note that re-running this skill is only needed to switch tracker / restart.