agentleFS
luizomfluizomf/omskills/skills/engineering/triage/SKILL.md

triage

Skill3 starsChanged 2 months agoMITView on GitHub

Before reading relative links, run cd '<loaded-skill-directory>' && pwd -P with this loaded file's directory to obtain the physical base, then resolve links against that printed directory. Resolve the source symlink before applying ... Read linked files even when their skills are absent from the discovery list. Move tracker items through the category and state roles below. When the issue-tracker configuration treats external pull requests as a request surface, apply the same process to them: a PR is an issue…

189 other projects use a version of this.

Adopted by

Most recently taken up by

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.
  • LesaniSkill

    writing-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

  • GoogleSkill

    setup-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

  • liufeng1976Skill

    setup-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

  • SethGammonSkill

    ascii-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

  • simo97Skill

    migrate-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

  • LesaniSkill

    writing-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

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. 0 are common, 8 are distinctive, and 6 are very specific to this project.

  • 0

    Common

    Most of the 176 edited versions we read keep these.

  • 8

    Distinctive

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Before reading relative links, run cd '<loaded-skill-directory>' && pwd -P with this loaded file's directory to obtain the physical base, …

    line 10
  2. Very specific:

    no state role → needs-triage.

    line 62
  3. Very specific:

    When external PRs are configured as a request surface, include only external PRs as defined by the tracker configuration and prefix each …

    line 95
  4. Distinctive:

    Gather context: Read the full body, comments, labels, author, and dates.

    line 105
  5. Very specific:

    Redundancy: search by domain concept, not only the reporter's wording, for an existing implementation of the requested behavior.

    line 109
  6. Very specific:

    Prior rejection: read .out-of-scope/*.md and report entries that reject the same requested outcome or establish a scope boundary applicable …

    line 113
  7. Distinctive:

    Verify: Test the claim before recommending a state:

    line 118
  8. Distinctive:

    Grill when required: Use grill-with-docs whenever the request needs fleshing out, including when an unresolved answer could change scope, …

    line 131
  9. Distinctive:

    Recommend: After verification and any required grilling, present one category, one state, the evidence for each, and the relevant codebase …

    line 140
  10. Distinctive:

    Only that current gate applies readiness, equally for Assisted and Unattended work.

    line 151
  11. Distinctive:

    Rejected enhancement: create the entry required by OUT-OF-SCOPE.md, link it in the comment, and close.

    line 161
  12. Very specific:

    When the maintainer explicitly requests a state, use that state without verification or grilling.

    line 194
  13. Distinctive:

    Before acting, list the exact role changes, comment to be posted, and whether the item will close.

    line 198
  14. Distinctive:

    When triage notes already exist, compare their outstanding questions with reporter activity after those notes.

    line 226

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Triage

Before reading relative links, run cd '<loaded-skill-directory>' && pwd -P with this loaded file's directory to obtain the physical base, then resolve links against that printed directory. Resolve the source symlink before applying ... Read linked files even when their skills are absent from the discovery list.

Move tracker items through the category and state roles below. When the issue-tracker configuration treats external pull requests as a request surface, apply the same process to them: a PR is an issue plus attached code. Resolve a bare reference such as #42 according to that configuration.

Prefix every issue body or comment posted during triage with:

> _This was generated by AI during triage._

Reference docs

  • AGENT-BRIEF.md — required structure for durable agent briefs
  • OUT-OF-SCOPE.md — rules for the .out-of-scope/ knowledge base

Roles and transitions

Assign exactly one category role:

  • bug — existing behavior does not match its contract or expected behavior
  • enhancement — requested behavior is new or changes an existing capability

Assign exactly one state role:

  • needs-triage — maintainer evaluation is pending
  • needs-info — information required from the reporter is pending
  • ready-for-agent — validated implementation contract regardless of availability; execution still requires explicit authorization
  • ready-for-human — implementation requires a human
  • wontfix — the request will not be actioned

For a PR, evaluate the states against its attached code: ready-for-agent means an agent brief identifies the next action on the diff; ready-for-human means a human can merge it without another triage step.

These are canonical role names. Read their tracker-specific label mapping. If the mapping is missing, follow setup-omskills and its scoped authorization gate before continuing, including in headless runs. Respect read-only roles and return unresolved prerequisites to the responsible caller. If an item has multiple category roles or multiple state roles, report the conflict and obtain maintainer direction before any other triage action.

Normal transitions are:

  • no state role → needs-triage;
  • needs-triage → needs-info, ready-for-agent, ready-for-human, or wontfix; and
  • needs-info → needs-triage after reporter activity.

A maintainer may override any transition. Explicit direction authorizes the requested exceptional transition without another confirmation; state the exception and exact changes before applying them. Ask only when the target state or intended consequences remain materially ambiguous. The ready-for-agent audit boundary below still applies.

Invocation routing

Map natural-language requests to one of these branches:

  • attention query, such as “Show me anything that needs my attention” → Show items needing attention;
  • a specific item, such as “Let's look at #42” → Triage a specific item;
  • an explicit state change, such as “Move #42 to ready-for-agent” → Quick state override; or
  • a ready-work query, such as “What's ready for agents to pick up?” → query the configured ready-for-agent role and report eligible items without selecting any into a Mission.

Show items needing attention

Query the tracker and return three buckets, each ordered oldest first:

  1. items with no state role, including items that already have a category role;
  2. items with needs-triage; and
  3. needs-info items with reporter activity newer than the latest triage notes.

When external PRs are configured as a request surface, include only external PRs as defined by the tracker configuration and prefix each result with [PR] or [issue]. This author filter applies only to discovery; always process an explicitly named PR.

Show the count for each bucket and one line per item, then wait for the maintainer to select an item.

Triage a specific item

  1. Gather context. Read the full body, comments, labels, author, and dates; for a PR, also read the complete diff. Extract conclusions and unanswered questions from prior triage notes. Inspect the affected code using the project's domain terms and applicable ADRs. Perform both checks:
    • Redundancy: search by domain concept, not only the reporter's wording, for an existing implementation of the requested behavior. Record the locations searched. If the behavior already exists, use the already-implemented wontfix outcome in step 5.
    • Prior rejection: read .out-of-scope/*.md and report entries that reject the same requested outcome or establish a scope boundary applicable to it. Use actor, domain concept, and constraints to determine whether the rejection applies.
  2. Verify. Test the claim before recommending a state:

    • for a bug, follow the reporter's reproduction steps;
    • for an enhancement, confirm the current behavior or interface state that the request wants changed;
    • for a PR, check out the diff and run the commands or tests that exercise its stated behavior.

    Report one result: confirmed, with the exercised code path and observed result; failed, with the command or step that contradicted the claim; or insufficient detail, listing the exact missing input. Treat insufficient detail as evidence for needs-info, not as automatic authorization to change state.

  3. Grill when required. Use grill-with-docs whenever the request needs fleshing out, including when an unresolved answer could change scope, externally observable behavior, acceptance criteria, or a durable architecture decision. Apply its bounded Question-frontier rounds only within the one issue or PR currently being triaged: a round may group no more than three independent Questions about that request, and must never combine Questions from separate requests or tracker items. Update CONTEXT.md or ADRs as that skill requires.
  4. Recommend. After verification and any required grilling, present one category, one state, the evidence for each, and the relevant codebase findings. Wait for maintainer direction. If later evidence changes the recommendation, obtain new direction before applying it.
  5. Apply the maintainer-approved outcome:
    • ready-for-agent — stabilize the complete execution contract in the Ticket body or an incorporated Agent Brief, without duplicating it. Reuse a current applicable PASS or explicit maintainer BYPASS; otherwise keep or restore needs-triage and run prompt-comprehension-audits. Only that current gate applies readiness, equally for Assisted and Unattended work.
    • ready-for-human — use the same brief structure and identify the specific human requirement, such as judgment, external access, design approval, or manual testing.
    • needs-info — post the needs-info template.
    • wontfix — select exactly one reason:
      • Already implemented: link the implementation and close. Do not add an .out-of-scope/ entry.
      • Rejected bug: post the rejection reason and close.
      • Rejected enhancement: create the entry required by OUT-OF-SCOPE.md, link it in the comment, and close.
    • needs-triage — apply the role; add a comment only when partial findings need to persist.

Outside a maintainer-approved quick state override, the item is triaged when it has exactly one category role, exactly one state role, and the required comment, brief, close action, or out-of-scope entry for that state. A code or behavior-changing item cannot finish at ready-for-agent without a current Prompt Audit PASS or explicit maintainer BYPASS. Remove readiness when its audit fails or becomes materially stale. Readiness does not select the item or authorize implementation.

Triage and readiness are not prerequisites for direct delivery unless the accepted task or repository requires them. The maintainer may select one Ticket for the current conversational owner and stay or authorize continuation while away. Neither absence nor that selection adds a Prompt Audit or dispatcher. The confirmed conversation is the active contract; material changes to existing governing authority update that authority.

For authorized multi-Ticket Mission delivery, dispatch-tickets tracks the selected finite queue, checks live dependencies and delivery evidence, and starts or resumes a technical owner per Ticket. Supply required order, relations, delivery boundaries, and availability; discovery of ready work remains separate from selection. For one Ticket, implement loads orchestrate in the current conversation rather than launching another owner. Pass resolved skill paths to fresh dispatched owners. These routes preserve applicable execution gates, exclusive ownership, orchestrate's review policy, and verified delivery.

Quick state override

When the maintainer explicitly requests a state, use that state without verification or grilling. Preserve the existing category. If no category exists, ask the maintainer to choose bug or enhancement before applying the state.

Before acting, list the exact role changes, comment to be posted, and whether the item will close. A request to apply ready-for-agent does not waive contract completeness or Prompt Audit: use the complete Ticket body or incorporated brief, keep needs-triage unless a current gate already exists, and transition only with PASS or explicit BYPASS. Then apply the listed changes.

Needs-info template

## Triage Notes

**What we've established so far:**

- point 1
- point 2

**What we still need from you (@reporter):**

- <a question that identifies the missing fact or reproduction input>

Record every resolved conclusion under What we've established so far. Each outstanding question must identify a specific fact, artifact, command result, or reproduction input the reporter can provide.

Resume prior triage

When triage notes already exist, compare their outstanding questions with reporter activity after those notes. Present which questions are answered and which remain before continuing. Do not ask an answered question again.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.