skills/debug-escape/SKILL.md
Break out of debugging loops by stepping back and researching. Use when stuck, going in circles, hitting the same error repeatedly, or after multiple failed fix attempts.
npx skillsauth add RonanCodes/ronan-skills debug-escapeInstall 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.
When you've tried the same thing three times and it still doesn't work, stop guessing and start researching. This skill provides a systematic escape from debugging loops.
/debug-escape "TypeError: Cannot read properties of undefined"
/debug-escape "tests pass locally but fail in CI"
/debug-escape
If no argument is given, ask the user to describe what's failing and what they've already tried.
Work through these in order. Stop as soon as you find the answer.
git log --oneline -20 — what changed recently?git diff HEAD~5 — compare with a known-working stategit stash current changes, run tests — did the problem exist before?git bisect or binary search the commit that broke itgit tag bug/introduced/<slug> <commit-hash>
This makes it trivial to find later: git tag -l "bug/*" lists all tagged bugsmcp__context7__resolve-library-id and mcp__context7__get-library-docs) — if so, use it to pull current docs.reference/ repos for how other projects solve the same problemInstead of tweaking small things, make big changes to find the boundary:
After researching, produce a structured report:
## Debug Escape Report
### Problem
[What's failing — exact error, reproduction steps]
### Attempts So Far
1. Tried X — failed because Y
2. Tried Z — same error
### Research Findings
- Docs say: [relevant finding]
- GitHub Issue: [link or summary]
- Git history: last working at commit [hash]
- Working example found in: [file or repo]
### Root Cause
[What's actually going wrong and why]
### Recommended Fix
[Specific, actionable fix based on research — not another guess]
Once the bug is resolved, run /post-mortem to document what happened. Tricky bugs deserve a write-up — your future self will thank you.
testing
--- name: linear-pipeline description: The Fable orchestrator for a single dispatched Linear ticket. Holds almost no context itself; it receives `--issue <ID> --detached`, decides the stage sequence, and fans out a sub-agent per stage, passing forward only each stage's artifact (never re-derived, never inlined into its own context). Step zero, before any planning or stage routing, is a boundary triage against `canon/security-boundary.md` (#199): a match tags Ronan Connolly and stops the run, no
development
--- name: in-your-face description: Capture a chat-only answer into a durable artifact (markdown + HTML, PDF when cheap) and launch it automatically so the user cannot miss it. Use when user says "in your face", "don't let me lose this", "save that answer", "make that durable", or right after answering a substantive side question (a recipe, comparison, how-to, or generated prompt) that would otherwise die with the context. category: workflow argument-hint: [--no-open] [--vault <short>] [hint of
tools
One-shot headless OpenAI Codex CLI calls for background/admin AI tasks — summaries, classification, extraction, admin glue. The default engine for anything that runs AI constantly in the background (daemon-driven, per-event), because it bills the flat ChatGPT subscription instead of Claude usage or per-token API spend, and it keeps working while Claude is rate-limited. NEVER for coding — coding stays Claude. Use when a skill or daemon needs a cheap always-on AI call, when the user says "use codex", "ask codex", "codex as backup", or when building a background summarizer/classifier into a listener or loop. Reads auth from ~/.codex/auth.json (ChatGPT account, no API key).
research
Turn a warranty rejection, repair quote, or RMA email into a cited decision brief — legal read (NL/EU consumer law), is the part user-serviceable, live part and new-unit prices, repair-vs-DIY-vs-new economics, before-you-send-it checklist, deadlines. Use when the user pastes or screenshots a repair quote, warranty rejection, "not covered" email, onderzoekskosten fee, or asks "should I repair or replace this".