with one click
thrunt-debug
Systematic debugging with persistent state across context resets
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Systematic debugging with persistent state across context resets
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Show available THRUNT threat hunting commands and artifact layout
Map available telemetry, query surfaces, tenants, retention windows, and investigation blind spots
Initialize a threat hunting case from a signal, detection, intel lead, or analyst suspicion
Initialize a threat hunting program with an environment map, tool inventory, huntmap, and empty execution directories
Create phase plans for a threat hunt with exact telemetry tasks, receipts, and query outputs
Publish a hunt as a case report, escalation, detection promotion, or leadership summary
| name | thrunt-debug |
| description | Systematic debugging with persistent state across context resets |
| argument-hint | [issue description] |
| allowed-tools | Read, Bash, Task, AskUserQuestion |
Orchestrator role: Gather symptoms, spawn thrunt-incident-debugger agent, handle checkpoints, spawn continuations.
Why subagent: Investigation burns context fast (reading files, forming hypotheses, testing). Fresh 200k context per investigation. Main context stays lean for user interaction.
<available_agent_types> Valid THRUNT subagent types (use exact names — do not fall back to 'general-purpose'):
Check for active sessions:
ls .planning/debug/*.md 2>/dev/null | grep -v resolved | head -5
INIT=$(node ".github/thrunt-god/bin/thrunt-tools.cjs" state load)
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
Extract commit_docs from init JSON. Resolve debugger model:
debugger_model=$(node ".github/thrunt-god/bin/thrunt-tools.cjs" resolve-model thrunt-incident-debugger --raw)
If active sessions exist AND no $ARGUMENTS:
If $ARGUMENTS provided OR user describes new issue:
Use AskUserQuestion for each:
After all gathered, confirm ready to investigate.
Fill prompt and spawn:
<objective>
Investigate issue: {slug}
**Summary:** {trigger}
</objective>
<symptoms>
expected: {expected}
actual: {actual}
errors: {errors}
reproduction: {reproduction}
timeline: {timeline}
</symptoms>
<mode>
symptoms_prefilled: true
goal: find_and_fix
</mode>
<debug_file>
Create: .planning/debug/{slug}.md
</debug_file>
Task(
prompt=filled_prompt,
subagent_type="thrunt-incident-debugger",
model="{debugger_model}",
description="Debug {slug}"
)
If ## ROOT CAUSE FOUND:
If ## CHECKPOINT REACHED:
human-verify:
If ## INVESTIGATION INCONCLUSIVE:
When user responds to checkpoint, spawn fresh agent:
<objective>
Continue debugging {slug}. Evidence is in the debug file.
</objective>
<prior_state>
<files_to_read>
- .planning/debug/{slug}.md (Debug session state)
</files_to_read>
</prior_state>
<checkpoint_response>
**Type:** {checkpoint_type}
**Response:** {user_response}
</checkpoint_response>
<mode>
goal: find_and_fix
</mode>
Task(
prompt=continuation_prompt,
subagent_type="thrunt-incident-debugger",
model="{debugger_model}",
description="Continue debug {slug}"
)
<success_criteria>