setup-supermatt-skills
Skill20 starsChanged 52 days agoMITView on GitHub
Configure this repo for the engineering skills: set up its issue tracker, triage labels, domain doc layout, and external peer policy. Run once before first use of the other engineering skills.
In this repository41 other files it gives its agents.
- AGENTS.mdAGENTS.md
- ask-supermattSkill
- babysit-prSkill
- codebase-designSkill
- code-reviewSkill
- commitSkill
- dependency-vettingSkill
- diagnosing-bugsSkill
- domain-modelingSkill
- fix-findingsSkill
- grillingSkill
- grill-meSkill
- grill-with-docsSkill
- handoffSkill
- ideateSkill
- implementSkill
- implement-specSkill
- improve-architectureSkill
- improve-file-structureSkill
- improve-testsSkill
- jurySkill
- orchestrateSkill
- prototypeSkill
- prSkill
- qaSkill
- recover-ciSkill
- refactorSkill
- researchSkill
- resolving-merge-conflictsSkill
- retroSkill
- ship-prSkill
- tddSkill
- teachSkill
- to-questionnaireSkill
- to-specSkill
- to-ticketsSkill
- triageSkill
- wait-whatSkill
- wayfinderSkill
- what-would-you-doSkill
- writing-for-agentsSkill
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 4 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 23
Look at the current repo to understand its starting state.
- Very specific: line 43
Default posture: these skills were designed for GitHub.
- Very specific: line 66
Section D: External peer calls: Ask which mode code-review and jury should use:
- Very specific: line 69
host-only: start no supported external peer subprocess. - Distinctive: line 89
If CLAUDE.md exists, edit it.
- Distinctive: line 91
If neither exists, ask the user which one to create.
- Distinctive: line 93
Never create AGENTS.md when CLAUDE.md already exists (or vice versa).
- Very specific: line 95
If an ## Agent skills block already exists in the chosen file, update its contents in-place rather than appending a duplicate.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Setup SuperMatt Skills
Scaffold the per-repo configuration that the engineering skills assume:
- Issue tracker: where issues live (GitHub by default; GitLab and local markdown are also supported out of the box)
- Triage labels: the strings used for the seven canonical triage roles (two category, five state)
- Domain docs: where
GLOSSARY.mdand ADRs live, and the consumer rules for reading them - External peers: whether
code-reviewandjurystay on the current host or call a configured Claude, Codex, Cursor Agent, or OMP CLI
This is a prompt-driven skill, not a deterministic script. Explore, present what you found, confirm with the user, then write.
Process
1. Explore
Look at the current repo to understand its starting state. Read whatever exists; don't assume:
git remote -vand.git/config: is this a GitHub repo? Which one?AGENTS.mdandCLAUDE.mdat the repo root: does either exist? Is there already an## Agent skillssection in either?- Resolve glossary, map, and ADR paths from an existing
docs/agents/domain.mdfirst, using its selected layout rather than unused template examples. Preserve configured paths even before the files exist. Where unset, follow domain paths referenced by the repo's existing instructions and discoverGLOSSARY.md,GLOSSARY-MAP.md, their legacy namesCONTEXT.mdandCONTEXT-MAP.md, and existing ADR directories such asdocs/adr/andsrc/*/docs/adr/. Read any map for its per-context paths. Preserve discovered names; use default names only where neither configuration nor existing files supply a path. If candidates conflict, resolve the choice in Section C. Offer a rename only as a second option, and before any approved rename, find and update its references. docs/agents/: does this skill's prior output already exist, includingcross-model.json?.scratch/: a sign that a local-markdown issue tracker convention is already in use- Monorepo signals: a
pnpm-workspace.yaml, aworkspacesfield inpackage.json, or a populatedpackages/*with its ownsrc/. These are present only in a genuinely large multi-package repo; their absence means single-context, which is almost every repo. - Installed peer commands:
claude,codex,agent, andomp. Check only whether each command exists. Do not make a paid authentication or quota probe.
2. Present findings and ask
Summarise what's present and what's missing. Then take the sections in order. One section, one answer, then the next.
Lead each section with the recommended answer so the user can accept it in a word. Use the host's live multiple-choice capability when available and follow its schema; otherwise ask in chat. Give a one-line explainer only when the choice genuinely branches; skip a question when exploration already settled it.
Section A: Issue tracker.
Explainer: The "issue tracker" is where issues live for this repo. Skills like
to-tickets,triage, andto-specread from and write to it. They need to know whether to callgh issue create, write a markdown file under.scratch/, or follow some other workflow you describe. Pick the place you actually track work for this repo.
Default posture: these skills were designed for GitHub. If a git remote points at GitHub, propose that. If a git remote points at GitLab (gitlab.com or a self-hosted host), propose GitLab. Otherwise (or if the user prefers), offer:
- GitHub: issues live in the repo's GitHub Issues (uses the
ghCLI) - GitLab: issues live in the repo's GitLab Issues (uses the
glabCLI) - Local markdown: issues live as files under
.scratch/<feature>/in this repo (good for solo projects or repos without a remote) - Other (Jira, Linear, etc.): ask the user how their tracker does each operation the GitHub template defines (create, read, list, comment, labels, close, blocking, and the wayfinding operations)
Record the choice in docs/agents/issue-tracker.md. The GitHub and GitLab templates carry a "PRs as a request surface" flag. Default it to off for new files; preserve an existing value on reruns. Don't raise it: a user who wants external PRs in the triage queue can flip the flag in the file later.
Section B: Triage label vocabulary. to-spec, to-tickets, and triage all apply these labels, so this section always runs.
On first setup, ask:
Do you want to keep the default triage labels? (recommended: yes)
The defaults are the seven canonical roles, each label string equal to its name: bug, enhancement, needs-triage, needs-info, ready-for-agent, ready-for-human, wontfix. On yes, use them as-is. On no, collect the overrides so the skills apply existing labels instead of creating duplicates.
On reruns, show the current mappings and ask whether to keep current (recommended), reset to defaults, or supply replacements. The selected mappings are authoritative for both the draft and final file; a reset discards prior overrides.
Section C: Domain docs. Preserve the resolved layout and paths from exploration. An existing map or a map selected by the configured layout establishes multi-context, even without monorepo signals. Otherwise keep the configured layout, or default to single-context. Ask only to resolve conflicting discoveries or to offer multi-context when monorepo signals exist and no layout is established.
For paths still unresolved, single-context defaults to GLOSSARY.md at the repo root and docs/adr/; multi-context defaults to a root GLOSSARY-MAP.md pointing to per-context glossaries. Preserve any resolved legacy or custom names and ADR paths in the layout description, reading instructions, and examples. Domain files are created lazily by the consuming skills; rename an existing file only with explicit user approval.
Section D: External peer calls. Ask which mode code-review and jury should use:
auto: select only the hardened Claude or Codex adapter from authoritative host-family metadata. Ask for optional Claude and Codex models and effort values.host-only: start no supported external peer subprocess. Keep the seed profile values and ask no unused profile questions.claude,codex,cursor, oromp: force exactly that adapter. Ask only for that profile's supported values.
Preserve auto by default. Recommend host-only when the requested executable is missing or the user says its authentication or quota is unavailable. A default model answer writes null; otherwise record a nonempty string. Claude, Codex, and OMP effort defaults to "high" unless the user explicitly chooses the CLI default, which writes null. Cursor has no separate public effort flag. A Cursor model value is the complete installed-CLI model specification, such as claude-opus-4-8[effort=high], and stays unchanged.
Before the user chooses Cursor, explain that Ask mode prevents agent edits but inherits local and repository rules, MCP, plugins, executable hooks, and persistent session storage. Before the user chooses OMP, explain that it receives only the prepared evidence bundle and disables repository tools, but cannot fully isolate inherited configuration or MCP and cannot inspect omitted repository evidence.
3. Confirm and edit
Print the drafts as text in your reply, then ask whether to write them:
- The
## Agent skillsblock to add to whichever ofCLAUDE.md/AGENTS.mdis being edited (see step 4 for selection rules) - The contents of
docs/agents/issue-tracker.md,docs/agents/domain.md,docs/agents/triage-labels.md, anddocs/agents/cross-model.json
A file taken from its template as-is drafts as its name plus the lines you filled in (the repo slug, selected label mappings, resolved domain layout and paths). Done when every file Step 4 will write has its draft printed above the question. Write after the user answers.
4. Write
Pick the file to edit:
- If
CLAUDE.mdexists, edit it. - Else if
AGENTS.mdexists, edit it. - If neither exists, ask the user which one to create; don't pick for them.
Never create AGENTS.md when CLAUDE.md already exists (or vice versa); always edit the one that's already there.
If an ## Agent skills block already exists in the chosen file, update its contents in-place rather than appending a duplicate. Don't overwrite user edits to the surrounding sections.
The block:
## Agent skills
### Issue tracker
[one-line summary of where issues are tracked]. See `docs/agents/issue-tracker.md`.
### Triage labels
[one-line summary of the label vocabulary]. See `docs/agents/triage-labels.md`.
### Domain docs
[one-line summary of layout: "single-context" or "multi-context"]. See `docs/agents/domain.md`.
### External peers
[one-line summary of the selected mode]. See `docs/agents/cross-model.json`.Then write the docs files using the seed templates in this skill folder as a starting point:
- issue-tracker-github.md: GitHub issue tracker
- issue-tracker-gitlab.md: GitLab issue tracker
- issue-tracker-local.md: local-markdown issue tracker
- triage-labels.md: label mapping
- domain.md: domain doc consumer rules + layout
- cross-model.json: external peer mode, model, and effort settings
For every domain.md draft, fill the path placeholders with the resolved glossary/map/ADR paths, substitute those paths in the examples too, and remove the unused layout branch.
When a docs/agents/ file already exists, diff it against its template. Take the template's text, carry over the repo-specific values (the repo slug, resolved glossary/map/ADR paths and layout, and the PR/MR request-surface flag), then apply this run's approved answers. Section B's selected mappings replace any carried-forward label overrides. Show the resulting diff as the Step 3 draft.
For docs/agents/cross-model.json, require the exact seed shape with every profile present. mode accepts only auto, host-only, claude, codex, cursor, or omp. Reject unknown or missing keys. Every model is either null or a nonempty string. Claude, Codex, and OMP effort is either null or a nonempty string. Cursor has no effort key. Preserve a valid existing file on reruns unless the user changes Section D answers. If the existing file is invalid, draft the seed with the user's answers instead.
For "other" issue trackers, write docs/agents/issue-tracker.md from scratch using the user's answers, under the same headings as the GitHub template.
5. Done
Tell the user the setup is complete and which engineering skills will now read from these files. Mention they can edit docs/agents/*.md and docs/agents/cross-model.json directly later; re-running this skill is only necessary if they want to repeat the guided setup or restart from scratch.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

