Triage a reported vulnerability for severity, owner, and a patch path. Do not develop the vulnerability. Use when the user mentions vulnerability triage, CVE triage, bug report security, patch priority, or asks for a vulnerability triage. Security defense skill by Yasir Jilani.
Installs into .claude/skills of the current project.
Are you the author of Vulnerability Triage?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/syasj-vulnerability-triage)
---
name: vulnerability-triage
description: "Triage a reported vulnerability for severity, owner, and a patch path. Do not develop the vulnerability. Use when the user mentions vulnerability triage, CVE triage, bug report security, patch priority, or asks for a vulnerability triage. Security defense skill by Yasir Jilani."
license: MIT
compatibility: Agent Skills standard. No network access, extra packages, or credentials required.
metadata:
author: Yasir Jilani
version: "1.0.0"
domain: security
---
<!-- GENERATED FILE - edits here are overwritten by scripts/generate.py.
Edit the 'vulnerability-triage' entry in source/, then run:
python3 scripts/generate.py && python3 scripts/validate.py
See CONTRIBUTING.md. -->
# Vulnerability Triage
Triage a reported vulnerability for severity, owner, and a patch path. Do not develop the vulnerability.
## When to use this skill
Use this skill when the user:
- vulnerability triage
- CVE triage
- bug report security
- patch priority
## When not to use this skill
- The user wants a different domain's specialist skill.
- The task requires a licensed professional to decide, and the user only needs a referral note rather than a draft.
- The request asks you to deceive, evade a control, or hide material facts.
## Professional boundary
Defensive use only. Do not write exploits, payloads, bypasses, malware, or intrusion steps. Describe controls, ownership, detection, and safe verification.
## Operating boundaries
- Use only information the user provides or files they explicitly ask you to read. Do not invent metrics, laws, citations, prices, credentials, or clinical facts.
- Do not ask for passwords, API keys, tokens, seed phrases, one-time codes, or payment card data.
- Do not send data to an external service, install packages, or add network calls as part of this skill.
- Separate facts, assumptions, and recommendations. If a required input is missing, state the assumption or ask one focused question.
- If the user asks you to deceive a person, evade a control, forge a record, or cause harm, stop. Offer a legitimate alternative.
- Work product that affects money, employment, health, safety, or legal rights is a draft for a qualified human to review before it is used.
## Inputs to collect
- The report or advisory text they shared
- Affected component if known
- Compensating controls they have
- Patch availability
## Workflow
### 1. Step 1
Summarize the impact in plain language from the advisory they supplied. Do not add exploit steps.
### 2. Step 2
Ask whether the component is present and reachable in their environment. Unknown means the triage is incomplete.
### 3. Step 3
Rank the patch against other work using their exposure, not a guessed CVSS you computed from memory.
### 4. Step 4
Recommend upgrade, mitigation, or risk acceptance with an owner and a date.
### 5. Step 5
If no patch exists, recommend a compensating control such as access restriction, not a bypass.
### 6. Step 6
Do not request a proof of concept, and do not write one.
## Output
Deliver a **vulnerability triage**.
- Purpose of this vulnerability triage, in two sentences.
- Facts the user supplied, listed separately from assumptions.
- The work itself, in the structure the workflow names.
- Open questions, risks, and the single next action with an owner.
- What a qualified reviewer still needs to confirm, if the domain is regulated.
## Quality bar
- Every number, date, name, and citation came from the user or is marked as an assumption.
- The artifact can be used without reading this skill again.
- Recommendations are specific enough that someone could accept or reject them.
- Boundaries were respected: no credentials requested, no unsupported professional claim, no deception.
## Example
### Scenario
Aisha Rahman, engineering lead at Fieldnote in Edmonton, needs a vulnerability triage by 30 September 2026. A bot reports a critical issue in a library the team is not sure they use.
### Example data
```text
From: Aisha Rahman, engineering lead
Organization: Fieldnote, Edmonton
Date: 14 September 2026
Needed by: 30 September 2026
A bot reports a critical issue in a library the team is not sure they use.
The report or advisory text they shared: one file, dated 14 September 2026. No earlier version attached for comparison
Affected component if known: Endpoint patch ring 2. Stated in the ask, not documented anywhere else
Compensating controls they have: their one-page rule dated 2 Mar 2026. No exception log since
Patch availability: Phishing report 4412 and one other, both unconfirmed as of 14 September 2026
```
### Example outcome
**Vulnerability triage**
To: Aisha Rahman, engineering lead, Fieldnote
Date: 14 September 2026 · Needed by: 30 September 2026
**Decision**
First confirms presence, refuses an exploit, and sets an owner for the confirmation.
**What the file supports**
| Input | Value | Status |
| --- | --- | --- |
| The report or advisory text they shared | one file, dated 14 September 2026. No earlier version attached for comparison | Needs confirmation |
| Affected component if known | Endpoint patch ring 2. Stated in the ask, not documented anywhere else | Carried into the draft |
| Compensating controls they have | their one-page rule dated 2 Mar 2026. No exception log since | Carried into the draft |
| Patch availability | Phishing report 4412 and one other, both unconfirmed as of 14 September 2026 | Needs confirmation |
**How this draft was built**
**1. Summarize the impact in plain language from the advisory they supplied. Do not add exploit steps**
**2. Ask whether the component is present and reachable in their environment. Unknown means the triage is incomplete**
**3. Rank the patch against other work using their exposure, not a guessed CVSS you computed from memory**
**4. Recommend upgrade, mitigation, or risk acceptance with an owner and a date**
**5. If no patch exists, recommend a compensating control such as access restriction, not a bypass**
**Deliberately not done**
- Writing an exploit.
- Inventing a CVSS from memory.
- Ignoring whether the component is even installed.
**Open items for a human**
- Confirm every row marked *Needs confirmation* above before this leaves draft.
- Anything absent from the file stayed absent. No figure, date, or name was supplied from outside it.
Next: Aisha Rahman by 30 September 2026. This is a draft, not a sign-off.
## Anti-patterns
- Writing an exploit
- Inventing a CVSS from memory
- Ignoring whether the component is even installed
## Related skills
- `dependency-upgrade`
- `security-exception`