triage
Skill1 starsChanged 30 days agoMITView on GitHub
Manual list-triage loop. ONLY triggers when the user explicitly types /triage followed by a list, or /triage on its own to walk the list the model just produced. Do NOT auto-fire on "which of these," "what do you think," or "narrow this down." /triage walks a numbered list of ideas, candidates, or options one pass at a time, captures the user's verdict on each (SHORTLIST, SCOPE, HOLD, KILL) with their stated reason, and banks all four to .skills-data/triage-backlog.md so nothing evaporates when the session ends. Also resurfaces stale holds and flags items the user already owns. Shortlisted items hand off to the user's own scoping skill if one is installed; otherwise the skill scopes inline. NOT for generating the list (that's /blindspot or a brainstorm), NOT for scoring or estimating effort.
189 other projects use a version of this.
Adopted by
Most recently taken up by
- udecode/platetheir own version, first seen Nov 8, 2026
- vercel-labs/add-skilltheir own version, first seen Nov 8, 2026
- chrysogonus/power-agentstheir own version, first seen Nov 8, 2026
- ishandutta2007/Awesome-Claude-Skillstheir own version, first seen Nov 8, 2026
- Adelie-Squad/solosquadtheir own version, first seen Nov 8, 2026
- cloudflare/vinexttheir own version, first seen Nov 8, 2026
Used with
Projects with it also use writing-beats, setup-matt-pocock-skills and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
LesaniSkillwriting-beats
Shape an article as a journey of beats, choose-your-own-adventure style. The user picks a starting beat from the raw material, you write only that beat, then offer options for where to pivot next, beat by beat, until the article reaches a natural end. Use when the user has raw material and wants to assemble it as a narrative rather than an argument.
Also in 66 projects that use this
GoogleSkillsetup-matt-pocock-skills
Configure this repo for the engineering skills — set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.
Also in 167 projects that use this
liufeng1976Skillsetup-ts-deep-modules
Wire dependency-cruiser into a TypeScript repo so each package is a deep module — implementation hidden in subfolders, reachable only through its entry-point files. User-invoked.
Also in 42 projects that use this
SethGammonSkillascii-diagram
Generate perfectly aligned ASCII diagrams — architecture, flow, sequence, box-and-arrow. Uses a programmatic character-grid approach so alignment is guaranteed by math, not token prediction. Includes post-render verification.
Also in 4 projects that use this
simo97Skillmigrate-to-shoehorn
Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.
Also in 68 projects that use this
LesaniSkillwriting-shape
Take a markdown file of raw material and shape it into an article through a conversational session — drafting candidate openings, growing the piece paragraph by paragraph, arguing about format (lists, tables, callouts, quotes) at each step. Use when the user has a pile of notes, fragments, or a rough draft and wants help turning it into something publishable.
Also in 63 projects that use this
- +1 more from Lesani
Other versions189 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 189
- mattpocock/skills★ 309ksame name
- withastro/astro★ 64ksame name
- vectorize-io/hindsight★ 60ksame name
- ogulcancelik/herdr★ 47ksame name
- herdrdev/herdr★ 47ksame name
- colinhacks/zod★ 44ksame name
- QuivrHQ/quivr★ 40ksame name
- The-Vibe-Company/quivr★ 40ksame name
- vercel-labs/add-skill★ 39ksame name
- vercel-labs/skills★ 39ksame name
179 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
9 rules. 0 are common, 7 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 176 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 39
Does not fire on "which of these," "what do you think," "narrow this down," or any list without the slash command.
- Distinctive: line 47
HOLD: not now. Not dead. Carries a resurface date.
- Very specific: line 58
Pull the standing holds: Read .skills-data/triage-backlog.md.
- Distinctive: line 68
Do not argue with a verdict.
- Very specific: line 72
Write every verdict to .skills-data/triage-backlog.md.
- Distinctive: line 82
When an item is later re-triaged, append the new verdict as a new line referencing the original ID.
- Distinctive: line 117
Never generate the list here: If the user types /triage with no list and there is nothing recent to walk, say so and point them at …
- Distinctive: line 119
Never lose an item: Every item on the input list gets a verdict and a ledger line.
- Distinctive: line 121
Not for scoring or effort estimates beyond the inline fallback above.
“Common” is measured: kept by at least 6 in 10 of the 176 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/triage: list walk and bank
/triage walks a numbered list, captures the user's verdict on every item with the reason behind it, and writes all of it to a backlog file that outlives the session. Most people triage lists well and fast. What they lack is anywhere for "hold this one" to land, so the same ideas get regenerated, re-argued, and re-held three weeks later. The one failure this skill exists to prevent: a verdict that evaporates when the session ends.
Setup
One file, under .skills-data/ at the project root by default.
| File | What it is |
.skills-data/triage-backlog.md | The ledger: one line per verdict, additive-only. Missing on first run: create it with a one-line header and the four-verdict legend. |
Optional reads for the dedupe pass: installed skills, scheduled tasks and automations the user runs, and whatever project files the user keeps. Nothing is required.
Your project's writing and formatting rules apply if you have them (CLAUDE.md or equivalent). Assume them.
Trigger
The user types /triage followed by a list, or /triage alone to walk the last numbered list produced in this session.
/triage
1. Weekly competitor sweep as a scheduled task
2. Auto-draft replies to inbound leads
3. Rebuild the pricing page
/triage on the ideas aboveDoes not fire on "which of these," "what do you think," "narrow this down," or any list without the slash command.
The verdict vocabulary
Four verdicts. Use these exact words in output so the ledger stays parseable.
- SHORTLIST: worth pursuing. Goes to the top of the backlog. Next stop is effort scoping.
- SCOPE: interesting, but the effort and dependencies are unknown and that is the blocker. Gets scoped before any decision.
- HOLD: not now. Not dead. Carries a resurface date.
- KILL: no. Carries the reason, because a killed idea that comes back needs to meet its original objection.
Natural phrasings map cleanly: "let's shortlist it" is SHORTLIST, "let's scope it" is SCOPE, "hold on this" and "nah, hold this" are HOLD, "don't like this one" and "not significant enough" are KILL. Read intent. Never make the user use the keywords.
Before presenting the list
Two passes, both silent, both before the user sees anything.
Dedupe against what the user owns. Check each item against their installed skills, their scheduled tasks and automations, and whatever project files they keep. Anything they already have gets marked [already have: /x] inline rather than presented as new. The user should never have to ask "Don't I already have this?" When it is a partial overlap, say which part is new.
Pull the standing holds. Read .skills-data/triage-backlog.md. Any HOLD whose resurface date has passed, and that is relevant to this list, gets appended to the bottom of the list under "Back from hold." Do not resurface everything, only what is relevant to the list in hand.
The walk
Present the list numbered, compact. One line per item: what it is, and the single strongest reason it might be worth doing. No pitching, no padding, no three-paragraph case per item. The user is scanning, not reading.
Then stop and let them respond. They may answer all items in one message, or one at a time, or in clumps. Accept any of those. Never ask them to reformat their answer.
When the reason is implicit, infer it and write it down. When there is no reason at all and the item is a KILL or HOLD, ask for it in one short line, because a verdict without a reason is worthless six weeks later. Ask once. If none comes, bank it as "no reason given."
Do not argue with a verdict. If a KILL looks like a mistake worth one sentence of pushback, give the sentence, take the answer, and move on.
Banking
Write every verdict to .skills-data/triage-backlog.md. Additive only. Never rewrite or restage existing entries.
Format per item:
- **[T-YYMMDD-NN]** [item, one line] | **VERDICT** | [the user's reason] | *source: [where the list came from]* | *[date]*HOLD entries carry a resurface date: resurface: YYYY-MM-DD. Default 30 days. Use a different date when the item is waiting on something specific, and say what it is waiting on.
When an item is later re-triaged, append the new verdict as a new line referencing the original ID. Never overwrite the history. A KILL that becomes a SHORTLIST four months later is the most useful record in the file.
One backlog. Every item on the list gets its line here, whatever kind of item it is. Two registries holding the same item is the drift this skill exists to prevent.
The scope handoff
Shortlisted items are ready for effort scoping. Route to the user's own scoping skill if one is installed. Otherwise the SCOPE verdict means the skill does the step inline: for each shortlisted or scoped item, estimate user-hours versus model-hours to reach a satisfactory version, list the dependencies (access, approvals, outside inputs), and say in one line whether it is worth building. Run the inline version only when the user says go at the close, never on its own.
Close
Four lines, no more.
Shortlisted: N | [names]
To scope: N | [names]
Held: N | [names, resurface dates]
Killed: N
Banked to .skills-data/triage-backlog.mdThen one line naming the obvious next move. Usually: "Shortlisted items are ready for scoping." Say nothing else.
Output
In order, every run:
- The numbered list, one line per item, owned items marked inline, "Back from hold" items at the bottom if any.
- A stop. The user responds.
- Reason prompts, one short line each, only for KILL or HOLD verdicts with no reason.
- The four-line close plus the next-move line.
Silent, every run: the dedupe pass, the holds pull, and the ledger writes.
Boundaries
- Never generate the list here. If the user types /triage with no list and there is nothing recent to walk, say so and point them at /blindspot or a brainstorm. This skill triages. It does not ideate.
- Never re-rank the user's verdicts. They decide. The skill captures. If the shortlist ends up at nine items and that is too many to act on, say so in one line at the close and let them cut.
- Never lose an item. Every item on the input list gets a verdict and a ledger line. If the user skipped one, ask about that one specifically before closing. Silence is not a verdict.
- Count programmatically. The close reports numbers. Count them, never estimate them. An input list of 14 that produces 13 ledger lines is a bug, and the count is how you catch it.
- Not for scoring or effort estimates beyond the inline fallback above. Not for open-ended strategy conversation.
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.

