analyze-content-gaps
Identify content gaps and organizational opportunities. Analyzes missing content areas, redundancies, and consolidation…
Hunt for a specific APT/threat actor in your environment. Use when you have a threat actor name or GTI collection ID and want to search for their TTPs and IOCs. Gathers intelligence from GTI, searches SIEM for IOCs and TTP-based indicators, and documents findings.
$ npx -y skills add dandye/ai-runbooks --skill hunt-apt --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/hunt-aptContext preview
The summary Claude sees to decide when to auto-load this skill.
Hunt for a specific APT/threat actor in your environment. Use when you have a threat actor name or GTI collection ID and want to search for their TTPs and IOCs. Gathers intelligence from GTI, searches SIEM for IOCs and TTP-based indicators, and documents findings.
type: Skill name: hunt-apt description: "Hunt for a specific APT/threat actor in your environment. Use when you have a threat actor name or GTI collection ID and want to search for their TTPs and IOCs. Gathers intelligence from GTI, searches SIEM for IOCs and TTP-based indicators, and documents findings." required_roles: chronicle: roles/chronicle.editor gti: GTI Enterprise+ personas: [threat-hunter, tier3-analyst] generated: by: human:dandye at: 2026-02-04T06:10:49-05:00
Proactively hunt for TTPs and IOCs associated with a specific Advanced Persistent Threat (APT) group based on threat intelligence.
If starting with a name:
gti-mcp.search_threat_actors(query="APT_NAME")
Then gather comprehensive intelligence:
gti-mcp.get_collection_report(id=THREAT_ACTOR_ID) gti-mcp.get_collection_mitre_tree(id=THREAT_ACTOR_ID) gti-mcp.get_collection_timeline_events(id=THREAT_ACTOR_ID)
Extract associated IOCs:
gti-mcp.get_entities_related_to_a_collection(id=THREAT_ACTOR_ID, relationship_name="files") gti-mcp.get_entities_related_to_a_collection(id=THREAT_ACTOR_ID, relationship_name="domains") gti-mcp.get_entities_related_to_a_collection(id=THREAT_ACTOR_ID, relationship_name="urls")
Store as `GTI_IOC_LIST`.
secops-mcp.get_ioc_matches(hours_back=HUNT_TIMEFRAME_HOURS)
Correlate results with `GTI_IOC_LIST`.
For each IOC type in `GTI_IOC_LIST`, construct and execute UDM queries:
secops-mcp.search_security_events(
text="UDM query for IOC",
hours_back=HUNT_TIMEFRAME_HOURS
)Document both positive and negative results → `IOC_SEARCH_FINDINGS`.
Based on MITRE techniques from Step 1:
Document results → `TTP_SEARCH_FINDINGS`.
If hits found (`IOC_SEARCH_FINDINGS` or `TTP_SEARCH_FINDINGS`):
For each found IOC or entity:
secops-mcp.lookup_entity(entity_value=FOUND_ITEM) gti-mcp.get_..._report(identifier=FOUND_ITEM)
Use `/find-relevant-case` with found IOCs and entities.
Use `/document-in-case` (if HUNT_CASE_ID provided).
Use `/generate-report` with `REPORT_TYPE="apt_hunt"`:
**Confirmed threat found:** → Escalate to Incident Response → Create incident case
**No threat found:** → Document negative findings → Conclude hunt
**After completing this skill, you MUST report these outputs:**
| Output | Description | |--------|-------------| | `ACTOR_IOCS` | IOCs associated with threat actor from GTI | | `ACTOR_TTPS` | TTPs from threat actor profile (MITRE techniques) | | `HUNT_RESULTS` | SIEM search results for actor indicators | | `DISCOVERED_INDICATORS` | IOCs found in environment matching actor profile | | `CONFIRMED_IOCS` | IOCs confirmed malicious via GTI enrichment |
| Source | Tool | |--------|------| | Actor Profile | `get_collection_report` | | TTPs | `get_collection_mitre_tree` | | Timeline | `get_collection_timeline_events` | | Related IOCs | `get_entities_related_to_a_collection` | | Technique Details | `get_threat_intel` |
This repository provides security operations runbooks and role-based guides for AI-assisted cybersecurity workflows.
Identify content gaps and organizational opportunities. Analyzes missing content areas, redundancies, and consolidation…
Comprehensive content quality and maintenance assessment. Evaluates documentation quality, relevance, maintenance needs, and…
Check for duplicate or similar cases. Use before deep analysis to avoid investigating the same incident twice. Takes a CASE_ID…
Close a case or alert with proper reason and documentation. Use when triage determines an alert is FP/BTP or investigation is…
Automated content similarity and grouping analysis. Groups related documents by topic, purpose, or content similarity.
Ask the user to confirm before taking a significant action. Use before containment, remediation, or other impactful operations to…