agentic/code/frameworks/security-engineering/skills/dfir-readiness/SKILL.md
Use when a project needs DFIR readiness from the security-engineering side: prepare incident evidence handling, chain-of-custody expectations, IOC readiness, and handoff to forensics-complete without collecting evidence.
npx skillsauth add jmagly/aiwg dfir-readinessInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when a security-engineering conversation turns into incident readiness: evidence handling, chain of custody, IOC workflow, forensic report readiness, or "what should this project have in place before an incident?"
This is a bridge. It prepares and routes. It does not replace forensics-complete, and it does not collect evidence.
Make a security project ready to hand off to evidence-preserving DFIR work.
The skill answers three questions:
forensics-complete installed for evidence-bearing work?| Need | Route |
|---|---|
| Preventive controls, disclosure intake, secure design decisions | security-engineering |
| Severity, incident bridge, stakeholder comms, service restoration, PIR | sdlc-complete incident-response flows |
| Evidence preservation, triage, acquisition, timelines, IOCs, reports | forensics-complete |
If a request includes live evidence, suspected compromise, a target host, IOC extraction, chain of custody, forensic timeline, or report generation, route to forensics-complete.
Ask only enough to route safely:
Do not ask for secrets, exploit payloads, private vulnerability details, or raw evidence in chat.
Look for .aiwg/forensics/ or an installed forensics-complete entry in .aiwg/aiwg.config.
If it is missing, instruct the operator:
aiwg use forensics
# or
aiwg use dfir
Then route through discovery:
aiwg discover "forensic triage"
aiwg discover "evidence preservation"
aiwg discover "start forensics case"
For readiness planning, write or update:
.aiwg/security-engineering/incident-readiness/<system-or-project>.md
Use this structure:
# DFIR Readiness: <system-or-project>
- Prepared: <date>
- Owner: <person/team>
- Security-engineering record: readiness / review / update
- Forensics workspace installed: yes/no
- Production incident-management route: <SDLC flow or runbook>
- DFIR route: forensics-complete
## Evidence Sources
| Source | Volatility | Owner | Access Method | Notes |
|---|---|---|---|---|
| <host/log/cloud/container> | high/medium/low | <team> | <read-only path> | <notes> |
## Chain-of-Custody Expectations
- Master custody log: `.aiwg/forensics/chain-of-custody.md`
- Case evidence root: `.aiwg/forensics/evidence/<case-id>/`
- Hash algorithm: SHA-256 unless a stricter local standard applies
- Transfer logging: required for every evidence handoff
## Safe Start Checklist
- [ ] Confirm authority to investigate.
- [ ] Preserve volatile evidence before low-volatility sources.
- [ ] Avoid cleanup, reboot, patching, or containment unless authorized.
- [ ] Start custody logging before collection.
- [ ] Record production incident handoff if SDLC incident management is active.
- [ ] Route evidence-bearing work to `forensics-complete`.
## Open Gaps
- [ ] <missing access, log source, retention, owner, tooling, legal gate>
Use aiwg discover rather than naming non-kernel skills as commands:
aiwg discover "evidence preservation"
aiwg discover "forensic triage"
aiwg discover "extract iocs"
aiwg discover "build forensic timeline"
aiwg discover "forensic report"
For production incident coordination, use:
aiwg discover "handle incident"
aiwg discover "incident triage"
forensics-complete/skills/forensics-quickref for DFIR discovery phrases.forensics-complete/skills/evidence-preservation for custody procedures.sdlc-complete/skills/flow-incident-response for production incident coordination.docs/integrations/dfir-handoff.md for cross-framework routing guidance.data-ai
Report which research-corpus radar sidecars are overdue for refresh. Computes staleness (days since last refresh vs the cadence window) for every radar, sorted most-overdue-first. Runs via `aiwg corpus radar-status`.
data-ai
Aggregate research-corpus radar sidecars into a corpus or per-cluster freshness report — totals, overdue count, per-cluster / per-GRADE / per-trajectory breakdowns, an overdue table, and per-radar rationale snippets. Runs via `aiwg corpus radar-report`.
testing
Scaffold radar/freshness sidecars for research-corpus REFs. Pulls title/authors from the citation sidecar and GRADE from the analysis doc, defaults the refresh cadence from GRADE and the cluster from a corpus-local map, and stamps documentation/radar/REF-XXX-radar.md. Runs via `aiwg corpus radar-init`.
data-ai
Compute an entity's publication trajectory — per-year paper counts, topic drift, hot-streak detection (≥3 consecutive A-grade years), and career phase. Runs via `aiwg corpus profile-temporal`.