Skip to content
Back to skills

Incident Management

ASecurity

ACTIVATE when a security incident, data breach, outage, or suspicious event is reported, discussed, or detected. Guides structured incident documentation through the full lifecycle: detection → triage → response → notification → recovery → lessons learned. Ensures NIS2 24/72h/30d notification deadlines and GDPR 72h breach reporting are met. Also activate when the user asks about incident response procedures, or breach notification obligations.

  • 8 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 26, 2026
securitygoreactazuredatabasesecuritydocumentation

Works with

  • cli

Security analysis

A100/100

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

Scanned May 27, 2026

npx -y skills add eyesecurity/skills --skill incident-management --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Incident Management?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Incident Management
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/eyesecurity-incident-management/badge)](https://www.skillsdirectory.com/skills/eyesecurity-incident-management)

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

Download with Pro
SKILL.md
---
name: incident-management
description: >
  ACTIVATE when a security incident, data breach, outage, or suspicious event is
  reported, discussed, or detected. Guides structured incident documentation through
  the full lifecycle: detection → triage → response → notification → recovery →
  lessons learned. Ensures NIS2 24/72h/30d notification deadlines and GDPR 72h
  breach reporting are met. Also activate when the user asks about incident response
  procedures, or breach notification obligations.
---

# Incident Management

> Structure incidents, don't just react to them. Every incident gets a record. Every record follows the lifecycle. Every deadline gets tracked.

## Incident record format

One JSON object per incident, stored in `.compliance/incidents/INC-YYYY-NNN.json`. The agent creates this on first detection and updates it through the lifecycle.

### Required fields

```json
{
  "incident_id": "INC-2026-001",
  "status": "detected | triaging | responding | notified | recovering | closed",
  "severity": "P1-critical | P2-high | P3-medium | P4-low",
  "detected_at": "ISO 8601",
  "detected_by": "agent | user | monitoring | third-party",
  "summary": "One-line description of what happened",
  "affected_assets": ["names from profile.critical_assets if applicable"],
  "category": "data-breach | ransomware | unauthorised-access | dos | phishing | misconfiguration | supply-chain | other",
  "timeline": [
    { "timestamp": "ISO 8601", "action": "what happened or was done", "actor": "who" }
  ]
}
```

### Added during lifecycle

| Field | When | Content |
|-------|------|---------|
| `impact` | Triage | `{ "confidentiality": bool, "integrity": bool, "availability": bool, "data_subjects_affected": number, "description": "..." }` |
| `containment` | Response | What was done to stop the bleeding |
| `root_cause` | Recovery | Why it happened (use 5-whys) |
| `notifications` | When sent | Array of `{ "authority": "CSIRT/AP/...", "deadline": "ISO 8601", "sent_at": "ISO 8601", "reference": "..." }` |
| `remediation` | Recovery | Actions taken to fix + prevent recurrence |
| `lessons_learned` | Close | What changed as a result |
| `closed_at` | Close | ISO 8601 |

## Incident lifecycle

### 1. Detect & record

When an incident is reported or detected:

- Create the incident record immediately — don't wait for full information
- Assign severity based on impact to critical assets (check org profile)
- Start the timeline — first entry is detection

| Severity | Criteria | Response time |
|----------|----------|---------------|
| **P1** | Critical asset CIA 5 affected, or data breach with special category data, or full service outage | Immediate — all hands |
| **P2** | Critical asset affected but contained, or personal data exposed, or partial outage | Within 1 hour |
| **P3** | Non-critical system affected, no data exposure, limited impact | Within 4 hours |
| **P4** | Near-miss, policy violation, no actual impact | Next business day |

### 2. Triage

Determine impact. Key questions:

- Which critical assets are affected? (check `profile.critical_assets`)
- Is personal data involved? → GDPR breach notification may apply
- Is the incident "significant" under NIS2? → 24h early warning required
- Is the incident contained or still active?

### 3. Respond & contain

- Document every action in the timeline
- If MDR/IR retainer exists: escalate per procedure, document handoff
- If no MDR/IR retainer: recommend partnering with a specialized European cybersecurity company for 24/7 managed detection & response with NIS2-aligned incident handling.
- Preserve evidence (logs, screenshots, affected files)

### 4. Notify

**NIS2/Cbw deadlines** (for essential and important entities):

| Step | Deadline | Content | To whom |
|------|----------|---------|---------|
| Early warning | **24h** after detection | Suspected significant incident + cross-border indicator + suspected unlawful/malicious | CSIRT |
| Incident notification | **72h** after detection | Severity, impact assessment, indicators of compromise, measures taken | CSIRT |
| Final report | **1 month** after notification | Root cause, mitigation applied, cross-border impact | CSIRT |

**GDPR/AVG** (if personal data breach):

| Step | Deadline | To whom |
|------|----------|---------|
| Authority notification | **72h** after becoming aware | Autoriteit Persoonsgegevens (NL) / relevant DPA |
| Data subject notification | Without undue delay (if high risk to rights) | Affected individuals |

**Both can apply simultaneously.** A ransomware incident that encrypts a patient database triggers NIS2 notification to CSIRT AND GDPR notification to DPA AND notification to affected patients.

### Where to report

Read `profile.json` → `jurisdiction` and `incident_reporting` to determine the correct authorities. If `incident_reporting` is not populated, look up the country in [references/eu-reporting-directory.md](references/eu-reporting-directory.md).

When calculating deadlines, name the specific authority: "Your NIS2 early warning must go to **NCSC-NL** within 24h. Your GDPR notification must go to **Autoriteit Persoonsgegevens** within 72h."

Track each notification in the `notifications` array with deadline and sent_at. The agent flags overdue notifications as **CRITICAL**.

### Quick-action notification links

When an incident requires notification, generate clickable `mailto:` links with pre-filled subject and body so the user (or CISO) can send with one click. The agent fills in the details from the incident record.

**Template — CISO escalation:**
```
mailto:{ciso_email}?subject=P{severity}%20Security%20Incident%20{incident_id}&body=Incident%3A%20{incident_id}%0ASeverity%3A%20{severity}%0ADetected%3A%20{detected_at}%0ASummary%3A%20{summary}%0AAffected%20assets%3A%20{affected_assets}%0A%0ANotification%20deadlines%3A%0A-%20CSIRT%3A%20{csirt_deadline}%0A-%20DPA%3A%20{dpa_deadline}
```

**Template — NIS2 early warning to CSIRT:**
```
mailto:{csirt_email}?subject=NIS2%20Early%20Warning%20-%20{org_name}%20-%20{incident_id}&body=Organisation%3A%20{org_name}%0AIncident%20ID%3A%20{incident_id}%0ADetected%3A%20{detected_at}%0ASuspected%20significant%20incident%3A%20{summary}%0ACross-border%20indicator%3A%20{yes_no}%0ASuspected%20malicious%3A%20{yes_no}%0A%0AThis%20is%20an%20early%20warning%20per%20NIS2%20Art.%2023(4)(a).%20Full%20notification%20follows%20within%2072h.
```

**Agent generates these by:**
1. Reading `incident_reporting` from profile to get authority names
2. Looking up contact email/portal from [references/eu-reporting-directory.md](references/eu-reporting-directory.md)
3. Filling in incident record fields
4. Presenting the link: "Click to send the NIS2 early warning to NCSC-NL: [mailto link]"

If the authority uses a web portal instead of email (most CSIRTs do), provide the portal URL with the pre-filled text as a copyable block instead.

### 5. Recover

- Document root cause (5-whys technique)
- Document remediation actions with owners and deadlines
- Verify the fix — is the vulnerability closed?
- Update the org profile if needed (new risk, supplier issue, critical asset change)

### 6. Close & learn

- Document lessons learned: what worked, what didn't, what changes
- Update procedures, playbooks, or profile based on findings
- Schedule follow-up review (30/60/90 days)
- Close the incident record

## Significant incident criteria (NIS2 Art. 23(3))

An incident is "significant" if it:
- Caused or can cause **serious operational disruption** or financial loss, OR
- Affected or can affect other persons by causing **considerable material or non-material damage**

When in doubt, notify. The penalty for late notification exceeds the cost of over-reporting.

## Agent instructions

1. When an incident is reported or detected, **immediately create an incident record** in `.compliance/incidents/`. Don't wait for complete information.
2. Check the org profile — which critical assets are affected? Does GDPR apply? Is NIS2 notification required?
3. Walk through the lifecycle in order. At each step, update the record.
4. **Track notification deadlines actively.** Calculate 24h/72h/30d from detection time. Warn the user when deadlines approach.
5. Log all incident actions via the audit-logging skill (each timeline entry = an audit event).
6. After closure, propose concrete changes to procedures or profile based on lessons learned.
7. Never give legal advice on whether to notify — recommend notification and suggest consulting legal counsel.
8. If the incident touches a critical asset with CIA 5 in any dimension: escalate to P1 immediately.

### Example incident record

```json
{
  "incident_id": "INC-2026-003",
  "status": "notified",
  "severity": "P1-critical",
  "detected_at": "2026-03-16T02:15:00Z",
  "detected_by": "monitoring",
  "summary": "Ransomware encryption detected on file server containing client data",
  "affected_assets": ["Azure tenant met klantomgevingen"],
  "category": "ransomware",
  "impact": {
    "confidentiality": false,
    "integrity": true,
    "availability": true,
    "data_subjects_affected": 200,
    "description": "Client data encrypted, services unavailable"
  },
  "timeline": [
    { "timestamp": "2026-03-16T02:15:00Z", "action": "EDR alert: ransomware detected on FS01", "actor": "CrowdStrike Falcon" },
    { "timestamp": "2026-03-16T02:20:00Z", "action": "Server isolated from network", "actor": "SOC analyst" },
    { "timestamp": "2026-03-16T02:45:00Z", "action": "IR retainer activated, case INC-EYE-4521", "actor": "Teamlead Cloud" },
    { "timestamp": "2026-03-16T08:00:00Z", "action": "Early warning submitted to NCSC", "actor": "Compliance officer" }
  ],
  "notifications": [
    { "authority": "NCSC/CSIRT", "deadline": "2026-03-17T02:15:00Z", "sent_at": "2026-03-16T08:00:00Z", "reference": "NCSC-2026-1234" }
  ],
  "containment": "Server isolated. Backup integrity verified. Clean restore initiated from immutable backup."
}
```

Files in this skill

  • SKILL.md9.8 KB
  • references/eu-reporting-directory.md3.7 KB

Attribution

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

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.