AgentSkillsCN

debug

通过分析、寻找解决方案并加以验证,进行系统化的错误调试。

SKILL.md
--- frontmatter
name: debug
description: Systematic error debugging with analysis, solution discovery, and verification
argument-hint: "[error description or context] [-a for auto mode]"
<objective> Debug errors systematically through a 5-step workflow: analyze the error, find potential solutions, propose options to the user, implement the fix, and verify it works through multi-layer verification. </objective>

<quick_start> Debug an error (interactive):

bash
/debug login page crashes on submit

Auto mode (fully automatic, use recommended solutions):

bash
/debug -a API returning 500 on POST

What it does:

  1. Analyze: Reproduce error, identify root cause → ask if you have more context
  2. Log Technique (if needed): Add debug logs → user runs & shares output → analyze
  3. Find Solutions: Research 2-3+ potential fixes with pros/cons
  4. Propose: Present options → you choose which solution
  5. Fix: Implement solution with strategic logging
  6. Verify: Multi-layer verification (Static → Build → Runtime)

Key principle: Tests passing ≠ fix working. Always execute the actual code path.

Log Technique: When the error can't be reproduced, strategic debug logs are added. The user runs the app and shares the console output for analysis. </quick_start>

<methodology> <core_principles> **Battle-Tested Principles:**
  1. Reproduce Before Anything Else - If you can't reproduce it, you can't verify the fix
  2. Hypothesis-Driven Analysis - List 3-5 causes ranked by likelihood, test systematically
  3. Multi-Layer Verification - Tests alone give false confidence (20-40% still fail in production) </core_principles>

<verification_pyramid> Verification Pyramid:

code
        ┌─────────────┐
        │   Manual    │  ← User confirms
        └──────┬──────┘
     ┌─────────┴─────────┐
     │ Runtime Execution │  ← CRITICAL: Real execution
     └─────────┬─────────┘
   ┌───────────┴───────────┐
   │   Automated Checks    │  ← Build, Types, Lint, Tests
   └───────────┬───────────┘
 ┌─────────────┴─────────────┐
 │     Static Analysis       │  ← Syntax, Imports
 └───────────────────────────┘

Key Insight: Tests passing ≠ fix working. ALWAYS execute the actual code path. </verification_pyramid> </methodology>

<parameters> **Flags:**
FlagNameDescription
-a, --autoAuto modeFull automatic mode - don't ask the user, use recommended solutions

Arguments:

  • Everything after flags = {error_context} - Description of the error or context about what's failing </parameters>

<state_variables> Persist throughout all steps:

VariableTypeDescription
{error_context}stringUser's description of the error
{auto_mode}booleanSkip confirmations, use recommended options
{error_analysis}objectDetailed analysis from step 1
{debug_logs}listDebug logs added for cleanup (file, line, prefix)
{solutions}listPotential solutions found in step 2
{selected_solution}objectUser's chosen solution from step 3
{files_modified}listFiles changed during the fix
{verification_result}objectResults from verification step
</state_variables>

<entry_point> Load steps/step-00-init.md </entry_point>

<step_files>

StepFileDescription
0step-00-init.mdParse flags, setup state
1step-01-analyze.mdReproduce error, form hypotheses, identify root cause
1bstep-01b-log-instrumentation.mdOptional: Add debug logs, user runs & shares output
2step-02-find-solutions.mdResearch 2-3+ solutions with pros/cons
3step-03-propose.mdPresent solutions for user selection
4step-04-fix.mdImplement with strategic logging
5step-05-verify.mdMulti-layer verification (Static → Build → Runtime → User)
</step_files>
<references> | File | Description | |------|-------------| | `references/log-technique.md` | Log placement patterns, prefixes, security guidelines | </references>

<success_criteria>

  • Error successfully reproduced
  • Root cause identified through hypothesis testing
  • 2-3+ potential solutions researched with pros/cons
  • Solution selected (by user or auto mode)
  • Fix implemented with strategic logging
  • Static analysis passes (syntax, imports)
  • Build completes successfully
  • Tests pass (if tests exist)
  • Runtime execution verified (actual code path executed)
  • User confirms fix resolves the original issue
  • No regressions introduced </success_criteria>