Debug Like Expert logo

Debug Like Expert

CommunityPopular
glittercowboy
debug-like-expert

Deep analysis debugging mode for complex issues. Activates methodical investigation protocol with evidence gathering, hypothesis testing, and rigorous verification. Use when standard troubleshooting fails or when issues require systematic root cause analysis.

Overview

Publisherglittercowboy
Repositorytaches-cc-resources
Skill namedebug-like-expert
Stars
2K
Forks
411
Bundled files
5
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 5 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by glittercowboy on GitHub. Read the source before you install it.

Installation

Install the Debug Like Expert AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/glittercowboy/taches-cc-resources.git /tmp/taches-cc-resources
mkdir -p .claude/skills
cp -r /tmp/taches-cc-resources/skills/debug-like-expert .claude/skills/debug-like-expert
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Debug Like Expert in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Debug Like Expert on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Debug Like Expert is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

The skill emphasizes treating code you wrote with MORE skepticism than unfamiliar code, as cognitive biases about "how it should work" can blind you to actual implementation errors. Use scientific method to systematically identify root causes rather than applying quick fixes.

<context_scan> Run on every invocation to detect domain-specific debugging expertise:

bash
# What files are we debugging?
echo "FILE_TYPES:"
find . -maxdepth 2 -type f 2>/dev/null | grep -E '\.(py|js|jsx|ts|tsx|rs|swift|c|cpp|go|java)$' | head -10

# Check for domain indicators
[ -f "package.json" ] && echo "DETECTED: JavaScript/Node project"
[ -f "Cargo.toml" ] && echo "DETECTED: Rust project"
[ -f "setup.py" ] || [ -f "pyproject.toml" ] && echo "DETECTED: Python project"
[ -f "*.xcodeproj" ] || [ -f "Package.swift" ] && echo "DETECTED: Swift/macOS project"
[ -f "go.mod" ] && echo "DETECTED: Go project"

# Scan for available domain expertise
echo "EXPERTISE_SKILLS:"
ls ~/.claude/skills/expertise/ 2>/dev/null | head -5

Present findings before starting investigation. </context_scan>

<domain_expertise> Domain-specific expertise lives in ~/.claude/skills/expertise/

Domain skills contain comprehensive knowledge including debugging, testing, performance, and common pitfalls. Before investigation, determine if domain expertise should be loaded.

<scan_domains>

bash
ls ~/.claude/skills/expertise/ 2>/dev/null

This reveals available domain expertise (e.g., macos-apps, iphone-apps, python-games, unity-games).

If no expertise skills found: Proceed without domain expertise (graceful degradation). The skill works fine with general debugging methodology. </scan_domains>

<inference_rules> If user's description or codebase contains domain keywords, INFER the domain:

Keywords/FilesDomain Skill
"Python", "game", "pygame", ".py" + game loopexpertise/python-games
"React", "Next.js", ".jsx/.tsx"expertise/nextjs-ecommerce
"Rust", "cargo", ".rs" filesexpertise/rust-systems
"Swift", "macOS", ".swift" + AppKit/SwiftUIexpertise/macos-apps
"iOS", "iPhone", ".swift" + UIKitexpertise/iphone-apps
"Unity", ".cs" + Unity importsexpertise/unity-games
"SuperCollider", ".sc", ".scd"expertise/supercollider
"Agent SDK", "claude-agent"expertise/with-agent-sdk

If domain inferred, confirm:

Detected: [domain] issue → expertise/[skill-name]
Load this debugging expertise? (Y / see other options / none)

</inference_rules>

<no_inference> If no domain obvious, present options:

What type of project are you debugging?

Available domain expertise:
1. macos-apps - macOS Swift (SwiftUI, AppKit, debugging, testing)
2. iphone-apps - iOS Swift (UIKit, debugging, performance)
3. python-games - Python games (Pygame, physics, performance)
4. unity-games - Unity (C#, debugging, optimization)
[... any others found in build/]

N. None - proceed with general debugging methodology
C. Create domain expertise for this domain

Select:

</no_inference>

<load_domain> When domain selected, READ all references from that skill:

bash
cat ~/.claude/skills/expertise/[domain]/references/*.md 2>/dev/null

This loads comprehensive domain knowledge BEFORE investigation:

  • Common issues and error patterns
  • Domain-specific debugging tools and techniques
  • Testing and verification approaches
  • Performance profiling and optimization
  • Known pitfalls and anti-patterns
  • Platform-specific considerations

Announce: "Loaded [domain] expertise. Investigating with domain-specific context."

If domain skill not found: Inform user and offer to proceed with general methodology or create the expertise. </load_domain>

<when_to_load> Domain expertise should be loaded BEFORE investigation when domain is known.

Domain expertise is NOT needed for:

  • Pure logic bugs (domain-agnostic)
  • Generic algorithm issues
  • When user explicitly says "skip domain context" </when_to_load> </domain_expertise>

Important: If you wrote or modified any of the code being debugged, you have cognitive biases about how it works. Your mental model of "how it should work" may be wrong. Treat code you wrote with MORE skepticism than unfamiliar code - you're blind to your own assumptions.

<core_principle> VERIFY, DON'T ASSUME. Every hypothesis must be tested. Every "fix" must be validated. No solutions without evidence.

ESPECIALLY: Code you designed or implemented is guilty until proven innocent. Your intent doesn't matter - only the code's actual behavior matters. Question your own design decisions as rigorously as you'd question anyone else's. </core_principle>

<quick_start>

<evidence_gathering>

Before proposing any solution:

A. Document Current State

  • What is the EXACT error message or unexpected behavior?
  • What are the EXACT steps to reproduce?
  • What is the ACTUAL output vs EXPECTED output?
  • When did this start working incorrectly (if known)?

B. Map the System

  • Trace the execution path from entry point to failure point
  • Identify all components involved
  • Read relevant source files completely, not just scanning
  • Note dependencies, imports, configurations affecting this area

C. Gather External Knowledge (when needed)

  • Use MCP servers for API documentation, library details, or domain knowledge
  • Use web search for error messages, framework-specific behaviors, or recent changes
  • Check official docs for intended behavior vs what you observe
  • Look for known issues, breaking changes, or version-specific quirks

See references/when-to-research.md for detailed guidance on research strategy.

</evidence_gathering>

<root_cause_analysis>

A. Form Hypotheses

Based on evidence, list possible causes:

  1. [Hypothesis 1] - because [specific evidence]
  2. [Hypothesis 2] - because [specific evidence]
  3. [Hypothesis 3] - because [specific evidence]

B. Test Each Hypothesis

For each hypothesis:

  • What would prove this true?
  • What would prove this false?
  • Design a minimal test
  • Execute and document results

See references/hypothesis-testing.md for scientific method application.

C. Eliminate or Confirm

Don't move forward until you can answer:

  • Which hypothesis is supported by evidence?
  • What evidence contradicts other hypotheses?
  • What additional information is needed?

</root_cause_analysis>

<solution_development>

Only after confirming root cause:

A. Design Solution

  • What is the MINIMAL change that addresses the root cause?
  • What are potential side effects?
  • What could this break?

B. Implement with Verification

  • Make the change
  • Add logging/debugging output if needed to verify behavior
  • Document why this change addresses the root cause

C. Test Thoroughly

  • Does the original issue still occur?
  • Do the reproduction steps now work?
  • Run relevant tests if they exist
  • Check for regressions in related functionality

See references/verification-patterns.md for comprehensive verification approaches.

</solution_development>

</quick_start>

<critical_rules>

  1. NO DRIVE-BY FIXES: If you can't explain WHY a change works, don't make it
  2. VERIFY EVERYTHING: Test your assumptions. Read the actual code. Check the actual behavior
  3. USE ALL TOOLS:
    • MCP servers for external knowledge
    • Web search for error messages, docs, known issues
    • Extended thinking ("think deeply") for complex reasoning
    • File reading for complete context
  4. THINK OUT LOUD: Document your reasoning at each step
  5. ONE VARIABLE: Change one thing at a time, verify, then proceed
  6. COMPLETE READS: Don't skim code. Read entire relevant files
  7. CHASE DEPENDENCIES: If the issue involves libraries, configs, or external systems, investigate those too
  8. QUESTION PREVIOUS WORK: Maybe the earlier "fix" was wrong. Re-examine with fresh eyes

</critical_rules>

<success_criteria>

Before starting:

  • Context scan executed to detect domain
  • Domain expertise loaded if available and relevant

During investigation:

  • Do you understand WHY the issue occurred?
  • Have you verified the fix actually works?
  • Have you tested the original reproduction steps?
  • Have you checked for side effects?
  • Can you explain the solution to someone else?
  • Would this fix survive code review?

If you can't answer "yes" to all of these, keep investigating.

CRITICAL: Do NOT mark debugging tasks as complete until this checklist passes.

</success_criteria>

<output_format>

markdown
## Issue: [Problem Description]

### Evidence
[What you observed - exact errors, behaviors, outputs]

### Investigation
[What you checked, what you found, what you ruled out]

### Root Cause
[The actual underlying problem with evidence]

### Solution
[What you changed and WHY it addresses the root cause]

### Verification
[How you confirmed this works and doesn't break anything else]

</output_format>

<advanced_topics>

For deeper topics, see reference files:

Debugging mindset: references/debugging-mindset.md

  • First principles thinking applied to debugging
  • Cognitive biases that lead to bad fixes
  • The discipline of systematic investigation
  • When to stop and restart with fresh assumptions

Investigation techniques: references/investigation-techniques.md

  • Binary search / divide and conquer
  • Rubber duck debugging
  • Minimal reproduction
  • Working backwards from desired state
  • Adding observability before changing code

Hypothesis testing: references/hypothesis-testing.md

  • Forming falsifiable hypotheses
  • Designing experiments that prove/disprove
  • What makes evidence strong vs weak
  • Recovering from wrong hypotheses gracefully

Verification patterns: references/verification-patterns.md

  • Definition of "verified" (not just "it ran")
  • Testing reproduction steps
  • Regression testing adjacent functionality
  • When to write tests before fixing

Research strategy: references/when-to-research.md

  • Signals that you need external knowledge
  • What to search for vs what to reason about
  • Balancing research time vs experimentation

</advanced_topics>

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Debug Like Expert AI skill do?

Deep analysis debugging mode for complex issues. Activates methodical investigation protocol with evidence gathering, hypothesis testing, and rigorous verification. Use when standard troubleshooting fails or when issues require systematic root cause analysis.

Why use Debug Like Expert on TypingMind?

Because you install it once and use it with any model. Debug Like Expert is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Debug Like Expert in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/glittercowboy/taches-cc-resources/tree/main/skills/debug-like-expert. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Debug Like Expert?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Debug Like Expert?

As many as you like. As long as a model supports skills, you can use Debug Like Expert with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Debug Like Expert AI skill free?

Yes. It is published on GitHub by glittercowboy under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇