用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/fabioc-aloha/Alex_Plug_In --skill debugging-patterns命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Create and maintain ASCII visual dashboards for project tracking with parallel lane progress bars
Store and manage voice samples for TTS cloning — portable, version-controlled audio references
Clear documentation through visual excellence
正在显示 SKILL.md
基于 SOC 职业分类
| name | debugging-patterns |
| description | Systematic problem-solving and error analysis. |
| tier | core |
| applyTo | **/*debug*,**/*error*,**/*fix*,**/*issue* |
Systematic problem-solving and error analysis.
When you don't know where the problem is:
1. Find a known-good state (commit, version, config)
2. Find the known-bad state (current)
3. Test the midpoint
4. Repeat until you find the breaking change
Git bisect automates this:
git bisect start
git bisect bad # Current is broken
git bisect good <known-good-sha> # This worked
# Git checks out midpoint, you test, then:
git bisect good # or git bisect bad
# Repeat until found
git bisect reset # Return to normal
Error: Cannot read property 'x' of undefined
at processData (src/utils.ts:45:12) ← LOOK HERE FIRST
at handleRequest (src/api.ts:123:8)
at Router.handle (node_modules/...)
Pattern: Read bottom-up for context, top-down for cause.
| Symptom | Likely Cause | Check |
|---|---|---|
| "undefined is not a function" | Wrong import/export | Module paths, named vs default |
| "Cannot find module" | Path or package issue | Relative paths, node_modules |
| "ENOENT" | File not found | Path typo, file doesn't exist |
| "EACCES" | Permission denied | File permissions, admin rights |
| Silently fails | Swallowed error | Add try/catch, check promises |
| Works locally, fails in CI | Environment diff | Env vars, paths, versions |
// Bad: console.log("here")
// Good: console.log("[processData] input:", data, "state:", state)
// Even better: structured logging
log.debug({ fn: 'processData', input: data, state }, 'Processing started');
When stuck:
Don't just change things randomly:
❌ "Let me try this... and this... and this..."
✅ "I think X is null because Y. Let me add a log to confirm."
# Check environment variables
$env:PATH
$env:NODE_ENV
# Check versions
node --version
npm --version
code --version
# Check what's installed
npm list --depth=0