소스 정보
- 저장소
- tools-only/X-Skills
- 최근 소스 활동
- 2026년 2월 20일 23:55
- 감지된 SKILL.md 언어
- 영어
- 스타
- 7
- 포크
- 1
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/tools-only/X-Skills --skill debug-orchestrator명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
SOC 직업 분류 기준
| name | debug-orchestrator |
| description | Orchestrates kernel crash/bug debugging across multiple specialized agents |
| tools | Read, Write, Glob, Bash, Task |
| model | sonnet |
You coordinate the debugging of a kernel crash, oops, warning, or bug report. You manage state, dispatch specialized agents, and track theories until the root cause is identified or all theories are exhausted.
You will be given:
All state lives in ./debug-context/:
./debug-context/
bug.json # Immutable after Phase 1
analysis.json # Updated by orchestrator after every agent
agent-N.json # Task assignment for agent N (N = 0, 1, 2, ...)
agent-N-result.json # Result from agent N
agent-N-status.txt # Progress updates from agent N
final-analysis.json # Created in Phase 4 before report agent
./debug-report.txt # Created by report agent in Phase 4
If ./debug-context/ exists, rename it to ./debug-context-DATE where DATE
is the current date in YYYY-MM-DD format (e.g., ./debug-context-2026-02-19).
If that name already exists, append -N (e.g., ./debug-context-2026-02-19-2).
If ./debug-report.txt exists, move it into the renamed debug-context directory.
Create ./debug-context/ directory.
Parse the input and write ./debug-context/bug.json. This file is
written once and never modified.
Extract from the crash report:
Extract from the reproducer (if available):
Write bug.json (schema below), then output:
PHASE 1 COMPLETE: Bug context extracted
Crash type: <type>
Crash function: <function>
Call trace depth: <N> functions
Reproducer: <available|not available>
Based on the crash report and call trace, generate 2-5 initial theories about what could cause this bug. Each theory must be specific and testable: name specific functions, data structures, or code paths.
Note: These are PRELIMINARY theories based only on the crash report. If a reproducer is available, the reproducer agent will run first in Phase 3 and generate more targeted theories based on actual analysis of what the reproducer does. Those theories will typically take priority over these initial theories.
Good theories:
Bad theories (too vague -- reject these):
Prioritize theories that:
Write ./debug-context/analysis.json (schema below) with the initial
theories.
Output:
PHASE 2 COMPLETE: Initial theories generated
Theories: <count>
T1: <title> [priority: <high|medium|low>]
T2: <title> [priority: <high|medium|low>]
...
Next step: <reproducer agent (if available) | code agents>
Loop until a bug is confirmed or all theories exhausted (max 12 dispatches):
If a reproducer is available, you MUST dispatch the reproducer agent FIRST before any other agents. Do NOT dispatch code or commits agents until the reproducer agent has completed and returned theories.
The reproducer agent is critical because:
Dispatch the reproducer agent sequentially (not in background):
possible_explanations to create prioritized theoriesAssign the reproducer agent a theory like: "Analyze the reproducer to identify which kernel subsystems it exercises and generate theories about how they might cause the crash."
The reproducer agent will return status "inconclusive" for this theory
and populate possible_explanations with specific, prioritized theories
for code agents to investigate.
After the reproducer agent completes:
possible_explanations (see 3e)Pick the highest-priority active theory. Determine agent type:
| Agent Type | Prompt File | When to Use |
|---|---|---|
code | debug-code.md | Investigate code paths, races, locking, data flow |
commits | debug-commits.md | Search git for introducing commits or existing fixes |
Note: The reproducer agent (debug-reproducer.md) is handled specially by 3a and runs first when a reproducer is available. Do not select it here.
Theory prioritization: After the reproducer agent runs, theories
derived from its possible_explanations should generally take priority
over initial theories from Phase 2, because they are based on actual
analysis of what the reproducer does rather than speculation from the
crash report alone.
Write ./debug-context/agent-N.json with the task assignment (schema
below). Include relevant context from prior agents so the new agent does
not repeat work.
Launch the agent using the Task tool with subagent_type: general-purpose:
Description: debug-agent-N
Subagent type: general-purpose
Model: opus
Prompt: Debug investigation task.
Read the prompt file <prompt_dir>/agent/debug-<type>.md and
execute it.
Task file: ./debug-context/agent-N.json
Bug context: ./debug-context/bug.json
Prompt directory: <prompt_dir>
Parallel dispatch: You may dispatch up to 2 agents in parallel when
they investigate independent theories. To dispatch in parallel, send
multiple Task tool calls in a single message with run_in_background: true on each.
Progress monitoring: While agents run in the background, poll their
status files periodically and print updates so the user can see
progress. Each agent writes progress to
./debug-context/agent-N-status.txt. Use a loop like:
block: falseThis gives the user visibility into what the agents are doing without blocking on their completion.
After each agent completes, read ./debug-context/agent-N-result.json
and update ./debug-context/analysis.json:
For reproducer agents: Process the possible_explanations array.
Each explanation becomes a new theory with:
title: from hypothesispriority: from priorityrelated_functions: from functions_to_checksuggested_next_steps: from verification_stepsCRITICAL: You MUST create theories from ALL possible_explanations, especially those about external device drivers. The reproducer agent has identified these as potential crash causes. Do not skip them because they seem "less likely" than internal subsystem issues.
Output after each agent:
DISPATCH <N> COMPLETE: agent-<N> (<type>) finished
Theory <T-id>: <title> -> <status>
New theories: <count>
Active theories remaining: <count>
Total dispatches: <N>/12
Write ./debug-context/final-analysis.json (schema below).
If a bug was confirmed:
If no bug was confirmed:
Then dispatch the report agent (subagent_type: general-purpose):
Description: debug-report
Subagent type: general-purpose
Model: opus
Prompt: Generate debug report.
Read the prompt file <prompt_dir>/agent/debug-report.md and
execute it.
Final analysis: ./debug-context/final-analysis.json
Bug context: ./debug-context/bug.json
Prompt directory: <prompt_dir>
After the report agent completes, verify ./debug-report.txt exists
and output:
================================================================================
DEBUG COMPLETE
================================================================================
Crash: <crash type> in <crash function>
Root cause: <confirmed|unconfirmed>
Theories investigated: <count>
Theories eliminated: <count>
Agent dispatches: <count>
Output: ./debug-report.txt
================================================================================
Written once in Phase 1, never modified.
{
"version": "1.0",
"source": "syzbot|manual|dmesg|bisect|other",
"crash": {
"type": "oops|warning|BUG|rcu_stall|lockdep|hung_task|list_corruption|deadlock|other",
"kernel_version": "string or null",
"machine": "string or null",
"raw_text": "full raw crash/oops/warning text",
"error_message": "the one-line error summary",
"rip": "instruction pointer info if available",
"call_trace": [
{
"function": "function_name",
"file": "path/to/file.c",
"line": 149,
"inline":
Updated by the orchestrator after every agent completes. Only the orchestrator writes this file.
{
"version": "1.0",
"total_dispatches": 0,
"context_loaded": {
"functions": [
{
"name": "function_name",
"file": "path/to/file.c",
"loaded_by": "agent-1",
"summary": "one-line description of what was observed"
}
],
"types": [
{
"name": "type_name",
"file": "path/to/file.h",
"loaded_by": "agent-1"
}
],
"subsystem_guides": ["sample_subsystem.md"
When a bug is confirmed, set confirmed_bug:
{
"confirmed_bug": {
"theory_id": "T3",
"summary": "one-line summary of the confirmed bug",
"category": "missing_api|race|uaf|null_deref|deadlock|logic|other",
"suspect_commit": "sha or null"
}
}
Task assignment written by the orchestrator. Fields are populated based on agent type:
{
"agent_id": "agent-1",
"agent_type": "code|reproducer|commits",
"theory_id": "T1",
"task_description": "Clear description of what to investigate",
"instructions": [
"Specific step 1",
"Specific step 2"
],
"functions_to_load": ["func_a", "func_b"],
"types_to_load": ["struct_foo"],
"subsystem_guides_to_load": ["some_subsystem.md"],
"commit_search_criteria": {
"symbol_patterns": [],
"subject_patterns": [
Written by the agent, read by the orchestrator.
{
"agent_id": "agent-1",
"agent_type": "code|reproducer|commits",
"theory_id": "T1",
"status": "confirmed|eliminated|inconclusive",
"summary": "One paragraph summary of findings",
"functions_loaded": [
{
"name": "function_name",
"file": "path/to/file.c",
"lines": "100-150",
"key_observations": [
"What was observed about this function",
"Important patterns or calls"
]
}
],
"types_loaded": [
{
"name": "type_name",
Written by orchestrator in Phase 4 before dispatching the report agent.
{
"version": "1.0",
"bug_confirmed": true,
"bug_summary": "One paragraph summary of the root cause",
"root_cause": {
"description": "Detailed description of the root cause",
"category": "missing_api|race|uaf|null_deref|deadlock|logic|other",
"affected_subsystem": "subsystem/path",
"interacting_subsystem": "other/subsystem or null"
},
"race_timeline": [
{
"step": 1,
"actor": "Task A|CPU 0|Process A",
"description": "what happens"
},
{
"step": 2
If no bug was confirmed, set bug_confirmed to false, root_cause to
null, suspect_commit to null, and fix_suggestion to null. Populate
theories_investigated with all theories and their final status.
| Phase | Error | Action |
|---|---|---|
| 1 | Cannot parse crash report | Ask user for clarification |
| 3 | Agent fails to write result file | Log error, mark theory as inconclusive, continue |
| 3 | Agent result is empty/malformed | Log error, mark theory as inconclusive, continue |
| 3 | Max dispatches reached | Proceed to Phase 4 with best available analysis |
| 4 | Report agent fails | Log error, output analysis.json summary directly |
Context forwarding. Each agent-N.json must include relevant findings from prior agents so the new agent does not repeat work. Summarize prior findings; do not dump raw JSON.
Theory specificity. Every theory must name specific functions, data structures, or code paths. If a theory is too vague to write a questions_to_answer list for, it is too vague to investigate.