agentleFS
MicrosoftKnown publishermicrosoft/devsquad-copilot/.github/plugins/devsquad/skills/triage-workflow/SKILL.md

triage-workflow

Skill50 starsChanged 16 days agoMITView on GitHub

Label-based state machine for triaging issues and work items. Manages state transitions, generates durable triage artifacts, and supports resumable sessions. Use when triaging GitHub issues or Azure DevOps work items. Do not use for creating new work items from scratch (use work-item-creation) or for managing implementation workflow of already-triaged items (use work-item-workflow).

We split this skill into the rules it gives an agent

11 rules. About 0 are common, 9 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈9

    Distinctive · estimate

    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
  1. Distinctive:

    Every issue should have exactly one state label.

    line 21
  2. Distinctive:

    Only these transitions are valid.

    line 37
  3. Distinctive:

    When this skill writes any content to GitHub or Azure DevOps (state-change comments, agent briefs, info requests), apply those rules before …

    line 43
  4. Very specific:

    When transitioning: remove old state label, add new state label.

    line 59
  5. Very specific:

    All triage artifacts follow the durability rules from the work-item-creation skill:

    line 123
  6. Distinctive:

    Do not reference file paths, line numbers, or internal module names

    line 126
  7. Distinctive:

    Do not triage issues without reading the full body and all comments

    line 131
  8. Distinctive:

    Do not skip bug reproduction for bug-categorized issues

    line 132
  9. Distinctive:

    Do not post triage notes that lose progress from previous sessions

    line 133
  10. Distinctive:

    Do not ask vague questions in needs-info comments ("can you provide more details?")

    line 134
  11. Distinctive:

    Do not apply state labels without also posting the corresponding artifact (brief, notes, or closure comment)

    line 135

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 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.

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

Triage Workflow

State Machine

States

StateDescription
unlabeledNew issue, never triaged
needs-triageMaintainer needs to evaluate
needs-infoWaiting on reporter for more information
ready-for-agentFully specified, ready for autonomous agent implementation
ready-for-humanRequires human implementation
wontfixWill not be actioned

Every issue should have exactly one state label. If conflicting state labels exist, flag the conflict and ask the maintainer which is correct.

Transitions

FromToWho triggersWhat happens
unlabeledneeds-triageSkill (first look)Issue needs evaluation; apply label
unlabeledready-for-agentMaintainerWell-specified, agent-suitable; write agent brief, apply label
unlabeledready-for-humanMaintainerRequires human; write summary, apply label
unlabeledwontfixMaintainerOut of scope or duplicate; close with comment
needs-triageneeds-infoMaintainerUnderspecified; post triage notes with questions
needs-triageready-for-agentMaintainerClarification complete, agent-suitable; write agent brief
needs-triageready-for-humanMaintainerClarification complete, needs human; write summary
needs-triagewontfixMaintainerDecided not to action; close with comment
needs-infoneeds-triageSkill (detects reply)Reporter replied; resurface for re-evaluation

Only these transitions are valid. Flag unusual transitions.

Content Style

Triage notes, agent briefs, summaries, comments, and any label-driven artifacts written to the board follow the Content Style rules in the work-item-creation skill: no emojis or decorative Unicode, no em-dash or hyphen as separator between concepts, never #<number> in free text (Azure DevOps auto-links it), no contrastive framing, direct active voice, no promotional language, short concrete prose.

When this skill writes any content to GitHub or Azure DevOps (state-change comments, agent briefs, info requests), apply those rules before sending.

Platform Adaptation

GitHub Issues

State is managed via labels:

LabelColor (hex)
needs-triagefbca04
needs-infod93f0b
ready-for-agent0e8a16
ready-for-human1d76db
wontfixe4e669

When transitioning: remove old state label, add new state label. Ensure the category label (bug or enhancement) is also present.

Azure DevOps

Map states to the process template's workflow states (per board-config). Use tags for supplementary classification (ready-for-agent, needs-info).

Output Artifacts

Agent Brief (for ready-for-agent)

Post as a comment on the issue:

> This was generated by AI during triage.

## Agent Brief

**Objective**: [What needs to be built or fixed, in domain language]

**Acceptance criteria**:
- [ ] [Criterion 1]
- [ ] [Criterion 2]

**Context**: [What the agent needs to know about the codebase area]

**Constraints**: [Any limits on the approach]

Durability rules apply: no file paths, no line numbers. Describe behavior and domain concepts.

Triage Notes (for needs-info)

Post as a comment:

> This was generated by AI during triage.

## Triage Notes

**What we have established so far:**
- [Point 1]
- [Point 2]

**What we still need from you (@reporter):**
- [Specific, actionable question 1]
- [Specific, actionable question 2]

Include everything resolved during the clarification session. Questions must be specific, not vague ("please provide more info").

Human Brief (for ready-for-human)

Post as a comment with the same structure as agent brief, plus:

**Why this needs human implementation**: [Reason: judgment calls, external system access, design decisions, manual testing]

Closure Comment (for wontfix)

Post a polite comment explaining why, then close the issue.

Durability Rules

All triage artifacts follow the durability rules from the work-item-creation skill:

  • Describe behavior using domain language
  • Do not reference file paths, line numbers, or internal module names
  • Implementation context belongs in linked PRs and commits

Anti-patterns

  • Do not triage issues without reading the full body and all comments
  • Do not skip bug reproduction for bug-categorized issues
  • Do not post triage notes that lose progress from previous sessions
  • Do not ask vague questions in needs-info comments ("can you provide more details?")
  • Do not apply state labels without also posting the corresponding artifact (brief, notes, or closure comment)

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.