AgentSkillsCN

debugging

针对目标日志注入与运行时分析的调试指南

SKILL.md
--- frontmatter
name: debugging
description: Guide for debugging with targeted log injection and runtime analysis
context: fork

Debugging Skill

Guide for debugging with targeted log injection and runtime analysis.

When to Activate

Suggest /debug-tools:debug when users describe:

  • "X is not working"
  • "Getting error Y when doing Z"
  • "Something broke after [change]"
  • Silent failures or unexpected behavior

Log Format

javascript
console.log("[DEBUG] [file:line] description", { values })
  • [DEBUG] - Prefix for grep and cleanup
  • [file:line] - Location for navigation
  • description - What this log checks
  • { values } - Relevant data (no sensitive info)

Log Patterns

React/Next.js

javascript
// Lifecycle
console.log("[DEBUG] [Component.tsx:10] mount", { props })

// Effect
useEffect(() => {
  console.log("[DEBUG] [Component.tsx:15] effect run", { deps })
  return () => console.log("[DEBUG] [Component.tsx:17] cleanup")
}, [deps])

// State
console.log("[DEBUG] [Component.tsx:25] before setState", { current: state })

Node.js/Express

javascript
// Request
console.log("[DEBUG] [route.ts:10] request", { method: req.method, path: req.path })

// Error
console.log("[DEBUG] [service.ts:30] caught error", { name: err.name, message: err.message })

API Calls

javascript
console.log("[DEBUG] [api.ts:10] fetch start", { url, method })
console.log("[DEBUG] [api.ts:15] fetch done", { status: res.status, ok: res.ok })

Common Bug Patterns

PatternSymptomCheck
Null access"Cannot read property X of undefined"Optional chaining, defaults
Race conditionWorks sometimes, fails randomlyAsync ordering, state timing
Stale closureUsing old values in callbacksuseCallback deps, event bindings
API mismatchData not displayingResponse shape, null handling
Silent errorNothing happensEmpty catch blocks, missing error state

Confidence Scoring

ScoreMeaningAction
>= 70High - clear evidenceReport as probable cause
50-69Medium - possibleSuggest logs to confirm
< 50Low - speculationDo not report

Cleanup

After debugging, all [DEBUG] logs are removed automatically.

Manual check:

bash
grep -rn '\[DEBUG\]' . --include='*.ts' --include='*.tsx' --include='*.js' --include='*.jsx'

MCP Integration

MCPProvides
Console NinjaRuntime values, test status, coverage
Chrome DevToolsNetwork inspection, browser console, DOM state