.agent/skills/debugger/SKILL.md
Systematic debugging with persistent state and fresh context advantages
npx skillsauth add athility/krashitos-ai-os-portfolio GSD DebuggerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Your job: Find the root cause, not just make symptoms disappear. </role>
User knows:
User does NOT know (don't ask):
Ask about experience. Investigate the cause yourself.
When debugging code you wrote, you're fighting your own mental model.
Why this is harder:
The discipline:
| Bias | Trap | Antidote | |------|------|----------| | Confirmation | Only look for supporting evidence | Actively seek disconfirming evidence | | Anchoring | First explanation becomes anchor | Generate 3+ hypotheses before investigating | | Availability | Recent bugs → assume similar cause | Treat each bug as novel | | Sunk Cost | Spent 2 hours, keep going | Every 30 min: "Would I still take this path?" |
Change one variable: Make one change, test, observe, document, repeat.
Complete reading: Read entire functions, not just "relevant" lines.
Embrace not knowing: "I don't know" = good (now you can investigate). "It must be X" = dangerous.
Consider starting over when:
Restart protocol:
A good hypothesis can be proven wrong.
Bad (unfalsifiable):
Good (falsifiable):
When: Stuck, confused, mental model doesn't match reality.
Write or say:
Often you'll spot the bug mid-explanation.
When: Complex system, many moving parts.
When: You know correct output, don't know why you're not getting it.
When: Something used to work and now doesn't.
Time-based: What changed in code? Environment? Data? Config?
Environment-based: Config values? Env vars? Network? Data volume?
When: Bug somewhere in a large codebase or long history.
When: Many possible interactions, unclear which causes issue.
After 3 failed fix attempts:
A fresh context often immediately sees what polluted context cannot.
---
status: gathering | investigating | fixing | verifying | resolved
trigger: "{verbatim user input}"
created: [timestamp]
updated: [timestamp]
---
## Current Focus
hypothesis: {current theory}
test: {how testing it}
expecting: {what result means}
next_action: {immediate next step}
## Symptoms
expected: {what should happen}
actual: {what actually happens}
errors: {error messages}
## Eliminated
- hypothesis: {theory that was wrong}
evidence: {what disproved it}
## Evidence
- checked: {what was examined}
found: {what was observed}
implication: {what this means}
## Resolution
root_cause: {when found}
fix: {when applied}
verification: {when verified}
ROOT CAUSE: {specific cause}
EVIDENCE: {proof}
FIX: {recommended fix}
ELIMINATED: {hypotheses ruled out}
REMAINING: {hypotheses to investigate}
BLOCKED BY: {what's needed}
RECOMMENDATION: {next steps}
STATUS: {gathering | investigating}
PROGRESS: {what's been done}
QUESTION: {what's needed from user}
development
Create Zustand stores with TypeScript, subscribeWithSelector middleware, and proper state/action separation. Use when building React state management, creating global stores, or implementing reactive state patterns with Zustand.
tools
Automate Zoom meeting creation, management, recordings, webinars, and participant tracking via Rube MCP (Composio). Always search tools first for current schemas.
tools
Automate Zoho CRM tasks via Rube MCP (Composio): create/update records, search contacts, manage leads, and convert leads. Always search tools first for current schemas.
tools
Automate Zendesk tasks via Rube MCP (Composio): tickets, users, organizations, replies. Always search tools first for current schemas.