Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Triage

ASecurity

Turn a new request, a Need triage issue, or a Linear project to continue into approved Linear work by finding existing records, choosing the work type and structure, settling open decisions through interview, drafting with strict templates, and publishing in Backlog.

3 stars
0 votes
0 copies
1 views
Added 9/29/2026
ai-agentsdocumentation

Security Analysis

A100/100

Pro scans all 11 files and shows the line behind each finding

Scanned 9/29/2026

$npx -y skills add Firzus/agent-skills --skill triage --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Triage?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Triage
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/firzus-triage/badge)](https://www.skillsdirectory.com/skills/firzus-triage)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: triage
description: Turn a new request, a Need triage issue, or a Linear project to continue into approved Linear work by finding existing records, choosing the work type and structure, settling open decisions through interview, drafting with strict templates, and publishing in Backlog.
disable-model-invocation: true
---

# Triage a request into Linear work

Every request for work starts here, including small changes: `implement` executes
only published Linear issues. Triage reads Linear and the repository, decides which
issues are needed, runs `interview` for open decisions, drafts the issues, and
publishes them after approval. `implement` re-enters this skill at step 3 to
publish the follow-up work of an Interview issue.

| Term | Meaning |
| --- | --- |
| Executable issue | An issue with exactly one Type label: Task, Bug, Prototype, Research, or Interview |
| Grouping parent | An issue without a Type label whose only role is to group sub-issues |
| Consequential decision | A choice whose answer changes an issue's type, scope, acceptance criteria, structure, or blocking relations. Every other choice is routine and belongs to implementation |
| Discoverable fact | Information available in the repository, Linear, linked records, or documentation. Triage looks it up and never asks the user for it |
| Approval | An explicit user message accepting the draft as last presented, including its publication. Silence, or approval of an earlier version, is not approval |

| Situation | Rule |
| --- | --- |
| Implementation or bug fix | Publish the issue; an `implement` run on it delivers the change |
| Question needing substantial research | Prepare a Research issue and an Interview issue blocked by it |
| Behavior that must be observed | Prepare a Prototype issue and an Interview issue blocked by it |
| Repository context change | Describe it in the issue; `implement` delivers it |
| Read-only or planning mode | Keep drafts in the conversation; make no writes |

## 1. Establish the starting point

1. Identify the entry:

   | Invocation | Entry |
   | --- | --- |
   | New request | Continue with step 1.2 |
   | Issue labeled Need triage | The outcome is that issue, rewritten ([Need triage](references/issue-contract.md#need-triage)) |
   | Project link or name | [Continue the project](references/large-work.md#continue-a-project) |

2. Read the request, project instructions, and relevant code and tests. Search Linear
   for issues, projects, and decisions about the same outcome, including their
   comments and linked evidence. Treat each match by its relation to the request:

   | Existing record | Treatment |
   | --- | --- |
   | Open issue with the same outcome | Reuse it; create no duplicate |
   | Issue whose result the requested work requires | Reuse it without changing its parent; add its blocking relation to the requested work and apply the [rewrite rule](references/issue-contract.md#labels-status-and-relations) to the existing issue |
   | Issue that the requested work unblocks | Add a blocking relation from the new work; apply the [rewrite rule](references/issue-contract.md#labels-status-and-relations) to the existing issue |
   | Other related issue, open or closed | Cite it in References; create no native relation |

3. Read [domain context](references/domain-context.md) to reconcile integrated
   definitions with accepted changes still pending.
4. Identify audience, problem, expected outcome, exclusions, and current behavior.
   Resolve repository, Linear team, and product from evidence. Without access to
   the code, mark technical statements as unverified.
5. For a defect, record the report: steps, expected behavior, actual behavior,
   environment, and source. Ask the reporter for missing report facts, together with
   the first interview questions when there are any; write "Unknown" for facts the
   reporter does not know. Reproduction and diagnosis belong to `debug`.
6. When the request needs more than one executable issue, or its delivery exceeds the
   project's agreed limits, apply [large work](references/large-work.md).

**Done:** starting point and existing records identified; discoverable facts looked
up and separated from decisions that need the user. Inaccessible evidence blocks
only the preparation that depends on it.

## 2. Choose the work and settle decisions

1. Choose each issue's type with [routing](references/issue-contract.md#choose-the-next-work)
   and the structure with [large work](references/large-work.md#choose-the-structure).
2. List the consequential decisions still open. When the list is not empty, run
   `interview` with those decisions, the evidence gathered, and the resume point.
   When it is empty, skip `interview`. It returns accepted decisions, remaining
   questions, and needs for research or observation.
3. Turn each returned need into issues with
   [bound missing evidence](references/issue-contract.md#bound-missing-evidence).
4. When the request depends on work that no issue covers, triage that prerequisite
   in the same run as its own issue, blocking the dependent one. If its consequential
   decisions cannot be settled now, it becomes a need handled as in step 2.3.

**Done:** type, structure, and consequential decisions of the selected work are
accepted, or each open decision has its prepared issues.
**Waiting:** a user decision is unanswered in `interview`.

## 3. Draft and obtain approval

1. Record the accepted decisions without reopening them.
2. Draft each executable issue with the [template of its type](references/issue-contract.md#issue-templates)
   and a project with the [project template](templates/project.md). A grouping
   parent contains its outcome in one sentence. Its sub-issues are represented by
   native Linear parent-child relations.
   Write for a reader without this conversation, then run the
   [readiness review](references/issue-contract.md#readiness-review).
3. Draft no issue whose content depends on a decision still open in an Interview
   issue. That work is drafted when the Interview issue completes, through this step.
4. Present every draft in full with its structure, labels, status, blocking
   relations, and destination, then ask for approval.
5. Apply feedback only to the affected decisions and passages. When feedback opens a
   consequential decision, run `interview` again. Present the revised draft; only
   the approved version is published.

**Done:** drafts and structure approved. Otherwise keep the draft. A Research or
Prototype issue can be approved without the blocked work it informs.

## 4. Publish and hand over

1. Check approval, destination, write permissions, and the actual Linear tool schemas.
2. Re-read each existing record before updating it; preserve concurrent and
   unrelated content.
3. Publish in this order: the project (created, or its description updated), the
   issues, the blocking relations, then the project description again to add the
   new issue links to its user stories.
4. Apply [labels, status, and relations](references/issue-contract.md#labels-status-and-relations).
   Triage closes an issue only as Duplicate or Canceled, with approval;
   `implement` closes executed issues.
5. Re-read every written record and verify content, labels, status, relations, and
   project membership.
6. After a failed or uncertain write, re-read before retrying; list the confirmed
   identifiers and the pending operations.
7. Return the links, statuses, blocking relations, and pending context changes, and
   name the issues ready for `implement`. For a project, tell the user to run
   `triage` with the project link in a new conversation once its open issues are
   closed. Stop here: publication does not authorize execution.

**Done:** publication verified and handoff returned.
**Pending publication:** return the approved draft and the exact remaining
operations; keep Linear as the destination rather than creating another backlog.

## Resume

Recover accepted decisions, evidence, open questions, and the resume point from
the existing record or conversation, and continue there.

Attribution

FirzusFirzus
View sourceSee grades on GitHubMore from Firzus →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698621 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →