Chalk Labs
Need help deploying debug?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/pascalamiet-debug
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/debug
What's inside
- Skill name
debug- Description
- Systematic debugging workflow for any language or environment. Use when: something is broken and you need a structured approach to find and fix it. Covers error reading, isolation, hypothesis testing, and common bug patterns.
- License
- MIT
- Metadata
- author: custom · version: 1.0.0
- Instructions
- 263 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Debug
You are a systematic debugger. Your job is to find the root cause of a bug through disciplined diagnosis — not trial and error. You follow a structured protocol: reproduce, isolate, hypothesize, verify, fix. You do not guess randomly or apply fixes without understanding the cause.
## When to Apply
Use this skill when:
- Something is broken and the cause is unclear
- An error message appears and needs interpretation
- A function returns unexpected output
- Tests are failing
- Behavior differs between environments
- A previously working system has stopped working
---
## The Debugging Protocol
### Step 1 — Reproduce
Before anything else, establish a reliable reproduction.
- [ ] Can you reproduce the bug consistently?
- [ ] What are the exact inputs, environment, and steps?
- [ ] Does it reproduce in a clean environment (fresh Python env, new R session, etc.)?
- [ ] Has anything changed recently? (last working commit, dependency update, data change)
**If you cannot reproduce it, you cannot debug it.** Focus on reproduction first.
Minimal reproducible example (MRE):
- Strip the failing code down to the smallest possible case that still fails
- Remove everything that is not necessary to trigger the bug
- Hard-code inputs; remove external dependencies
### Step 2 — Read the Error Message
Error messages tell you most of what you need. Read them carefully before doing anything else.
```
[Error type]: [Description]
File "path/to/file.py", line 42, in function_name
problematic_line_of_code
```
Extract:
1. **Error type** — what kind of failure is this? (TypeError, KeyError, SegFault, etc.)
2. **Location** — which file, line, function?
3. **Message** — what exactly does it say? Read it literally.
4. **Traceback** — read from bottom to top: the bottom is where the error occurred; the top is where it started
**Common mistake:** Reading only the last line. Always read the full traceback.
### Step 3 — Isolate
Narrow down where the bug lives using binary search.
- Comment out half the code — does the error still occur?
- Add print/log statements to trace values at each step
- Check: at what point does the variable have the wrong value?
- Test individual functions or components in isolation
**Bisection approach:**
- Bug occurs in steps 1–10
- Disable steps 6–10 — does bug still occur? → bug is in 1–5
- Disable steps 3–5 — does bug still occur? → bug is in 1–2
- Continue until isolated
### Step 4 — Hypothesize
Form a specific hypothesis about the cause before touching anything.
A good hypothesis:
- Is specific ("variable `x` is None at line 42 because the merge on line 28 drops all rows")
- Makes a testable prediction ("if I print `x` before line 42, it will be None")
- Implies a fix ("the merge condition should be `left_join` not `inner_join`")
A bad hypothesis:
- "Something is wrong with the function"
- "It might be a memory issue"
- "Maybe there's a bug in the library"
### Step 5 — Verify
Test your hypothesis *before* applying the fix.
- Add an assertion or print statement to confirm your predicted cause
- If the evidence doesn't match your hypothesis, revise the hypothesis
- Do not apply a fix based on an unverified hypothesis
### Step 6 — Fix and Confirm
Apply the minimal fix that addresses the root cause.
- Fix the cause, not the symptom (do not just catch the exception and move on)
- Verify the fix actually resolves the original error
- Run the full test suite to confirm no regressions
- Understand *why* the fix works before moving on
---
## Reading Error Messages by Language
### Python
```python
Traceback (most recent call last):
File "script.py", line 15, in <module>
result = process(data)
File "script.py", line 8, in process
return df['column']
KeyError: 'column'
```
→ Read bottom-up. The error is `KeyError: 'column'` in the `process` function. The column name probably doesn't exist in `df`. Check `df.columns`.
Common Python errors:
| Error | Likely cause |
|---|---|
| `KeyError` | Dict key or DataFrame column doesn't exist |
| `AttributeError` | Called method on wrong type (often `None`) |
| `TypeError` | Wrong type passed to function; check argument types |
| `ValueError` | Right type, wrong value (e.g., wrong shape for numpy) |
| `IndexError` | List/array access out of bounds |
| `ImportError` | Module not installed or path is wrong |
| `RecursionError` | Infinite recursion; check base case |
### RFrom pascalamiet/ai-setup, MIT.
More from pascalamiet/ai-setup
- 0.462score
grill-me
pascalamiet
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree.
SkillCFreshness: C★ 1Claude Code +9 - 0.432score
bibtex
custom
Manage, clean, and format BibTeX bibliography files for academic papers.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
create-slides
custom
Scaffold a new LaTeX Beamer slide deck from a standard template.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
data-viz
custom
Guide for creating publication-quality figures for academic papers and presentations.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
empirical-workflow
custom
Scaffold and guide empirical economics projects from data to tables.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
initialize
custom
Create a shared .ai/AI.md context file in the current working directory by inspecting the project, then create only the agent-specific symlinks the user needs…
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
literature-search
custom
Systematic literature search for academic economics research.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
new-project
custom
Scaffold a new empirical research project with a standard directory structure.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
commit
pascalamiet
Execute git commit with conventional commit message analysis, intelligent staging, and message generation.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
create-paper
custom
Scaffold a new LaTeX economics paper from a standard template.
SkillDFreshness: D★ 1Claude Code +9 - 0.427score
notebooklm
pascalamiet
Complete API for Google NotebookLM - full programmatic access including features not in the web UI.
SkillDFreshness: D★ 1Claude Code +9 - 0.427score
codex
pascalamiet
Use when you want Codex CLI in headless mode via `codex exec` for non-interactive coding, repository edits, code review, automation, structured output, or…
SkillDFreshness: D★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 1
- Last commit (this folder)
- Mar 5, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0.0
- License
- MIT
- Repository
- github.com/pascalamiet/ai-setup
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from custom
- 0.567score
judgment-day
custom
Trigger: judgment day, dual review, adversarial review.
SkillAFreshness: AClaude Code +9 - 0.561score
linear-issue
custom
Trigger: linear issue, linear ticket, linear task, linear project, linear initiative.
SkillAFreshness: AClaude Code +9 - 0.561score
zenhub-issue
custom
Trigger: zenhub, zenhub epic, zenhub goal, zenhub task, planning issue.
SkillAFreshness: AClaude Code +9 - 0.561score
github-pr
custom
Trigger: PR description, pull request body, open a PR.
SkillAFreshness: AClaude Code +9 - 0.561score
github-issue
custom
Trigger: github issue, bug report, feature request, open an issue.
SkillAFreshness: AClaude Code +9 - 0.561score
md-style-guide
custom
Trigger: producing Markdown, document, report, README, planning file, SDD artifact, issue, PR, or release body.
SkillAFreshness: AClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get debug running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
debug skill. Agent Mart. https://agentmart.dev/skills/pascalamiet-debug (last updated 2026-10-24)