Source profileQuality 98/100

martinffx/atelier/skills/oracle-debug/SKILL.md

oracle-debug

Disciplined debugging methodology. Triggers on bug reports, test failures, "debug this", "diagnose this", unexpected behavior, build failures, integration issues, or performance regressions. Find root cause before a permanent corrective fix; contain urgent harm safely first.

Source repository stars
41
Declared platforms
0
Static risk flags
0
Last source update
2026-08-09
Source checked
2026-08-25

Decision brief

What it does: where it fits

Random fixes waste time and create new bugs. Quick patches mask underlying issues.

Best for

  • Test failures
  • Bugs in production
  • Unexpected behavior

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/martinffx/atelier --skill "skills/oracle-debug"
Safe inspection promptEditorial

Inspect the Agent Skill "oracle-debug" from https://github.com/martinffx/atelier/blob/ab5331c44326f24cde29f30c269d079c84864134/skills/oracle-debug/SKILL.md at commit ab5331c44326f24cde29f30c269d079c84864134. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Phase 1 — Root Cause Investigation

    Before attempting any fix:

    Read error messages carefully. Read the full stack trace, line numbers, file paths, and error codes. Don't skip warnings.Build a fast feedback loop. If you don't have a fast, deterministic, pass/fail signal for the bug, no amount of code-reading will save you. Spend disproportionate effort here.Failing test at the seam that reaches the bug
  2. 02

    Phase 2 — Pattern Analysis

    Find the pattern before fixing.

    Find working examples. Locate similar working code in the same codebase.Compare against references. If implementing a known pattern, read the reference implementation completely.Identify differences. List every difference between working and broken, however small.
  3. 03

    Phase 3 — Hypothesis and Testing

    Use the scientific method.

    Generate 3–5 ranked hypotheses. Single-hypothesis generation anchors on the first plausible idea. Each hypothesis must be falsifiable: state the prediction it makes. Show the ranked list to the user before testing — the…Test one variable at a time. Make the smallest possible change to test the hypothesis.Instrument mapped to predictions. Each probe must map to a specific prediction. Prefer a debugger/REPL over logs; prefer targeted logs at boundaries over "log everything and grep".
  4. 04

    Phase 4 — Implementation

    Fix the root cause, not the symptom.

    Create a failing test case. The simplest possible reproduction. MUST exist before the fix.Implement a single fix. Address the root cause. One change at a time. No "while I'm here" improvements. No bundled refactoring.Verify the fix. Does the test pass? Do other tests still pass? Does the original repro no longer reproduce?
  5. 05

    Red Flags — Stop and Return to Phase 1

    If you catch yourself thinking:

    "Quick fix for now, investigate later""Just try changing X and see if it works""Add multiple changes, run tests"

Permission review

Static risk signals and limitations

No configured static risk pattern was detected

This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score98/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars41SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
martinffx/atelier
Skill path
skills/oracle-debug/SKILL.md
Commit
ab5331c44326f24cde29f30c269d079c84864134
License
MIT
Collected
2026-08-25
Default branch
main
View the original SKILL.md

Oracle Debug

Random fixes waste time and create new bugs. Quick patches mask underlying issues.

Core principle: find root cause before a permanent corrective fix. Temporary containment is appropriate when needed to limit security, production, or data-loss impact.

Violating the letter of this process is violating the spirit of debugging.

The Iron Law

NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST

If you haven't completed Phase 1, you cannot propose fixes.

When to Use

Use for any technical issue:

  • Test failures
  • Bugs in production
  • Unexpected behavior
  • Performance regressions
  • Build or integration failures
  • Intermittent failures

Use this especially when:

  • Under time pressure
  • "Just one quick fix" seems obvious
  • You've already tried multiple fixes
  • The previous fix didn't work
  • You don't fully understand the issue

The Four Phases

You must complete each phase before proceeding to the next.


Phase 1 — Root Cause Investigation

Before attempting any fix:

Use the project's domain glossary and ADRs to build a clear mental model of the relevant modules before tracing.

  1. Read error messages carefully. Read the full stack trace, line numbers, file paths, and error codes. Don't skip warnings.

  2. Build a fast feedback loop. If you don't have a fast, deterministic, pass/fail signal for the bug, no amount of code-reading will save you. Spend disproportionate effort here.

    Try these in order:

    • Failing test at the seam that reaches the bug
    • Curl / HTTP script against a running dev server
    • CLI invocation with fixture input
    • Headless browser script (Playwright/Puppeteer)
    • Replay a captured trace (network payload, event log)
    • Throwaway harness (minimal subset of the system)
    • Property/fuzz loop for "sometimes wrong" bugs
    • Bisection harness (e.g., git bisect run)
    • Differential loop (old vs new version)
    • HITL bash script (last resort — structure the human clicks)

    Iterate on the loop: make it faster, sharper, and more deterministic. A 30-second flaky loop is barely better than no loop.

  3. Reproduce the bug. Run the loop when safe. Confirm the failure matches what the user described and capture the exact symptom. When reproduction is unsafe or impossible, use historical artifacts, static evidence, or targeted telemetry instead.

  4. Check recent changes. git diff, recent commits, new dependencies, config changes, environment differences.

  5. Trace data flow. In multi-component systems, add diagnostic instrumentation at each boundary:

    • Record only the minimum fields needed at each component boundary
    • Redact credentials, authorization data, session identifiers, personal data, and payloads
    • Verify environment/config propagation
    • Check state at each layer

    Run once to gather evidence, then narrow to the failing component.

  6. Trace backward through the call stack. Where does the bad value originate? What called this with the bad value? Trace up until you find the source. Fix at the source, not at the symptom.

Non-deterministic bugs

The goal is not a clean repro but a higher reproduction rate. Narrow timing windows and vary one condition at a time. Treat added delay or load as a perturbation, not proof. Do not replay state-changing traffic, stress production, or collect sensitive artifacts without explicit authorization and a safe operational plan.

When you genuinely cannot build a loop

Stop and say so explicitly. Ask the user for:

  • Access to the environment that reproduces it
  • A captured artifact (HAR, log dump, core dump, screen recording)
  • Permission to add temporary production instrumentation

Do not claim root cause without evidence you can explain. A safe loop is preferred, but artifact-based investigation is valid when a loop is unavailable.


Phase 2 — Pattern Analysis

Find the pattern before fixing.

  1. Find working examples. Locate similar working code in the same codebase.
  2. Compare against references. If implementing a known pattern, read the reference implementation completely.
  3. Identify differences. List every difference between working and broken, however small.
  4. Understand dependencies. What components, config, settings, and assumptions does this code rely on?

Phase 3 — Hypothesis and Testing

Use the scientific method.

  1. Generate 3–5 ranked hypotheses. Single-hypothesis generation anchors on the first plausible idea. Each hypothesis must be falsifiable: state the prediction it makes. Show the ranked list to the user before testing — they often have domain knowledge that re-ranks instantly.

    Format: "If <X> is the cause, then <changing Y> will make the bug disappear / <changing Z> will make it worse."

  2. Test one variable at a time. Make the smallest possible change to test the hypothesis.

  3. Instrument mapped to predictions. Each probe must map to a specific prediction. Prefer a debugger/REPL over logs; prefer targeted logs at boundaries over "log everything and grep".

    Tag every debug log with a unique prefix, e.g. [DEBUG-a4f2]. Cleanup becomes a single grep.

  4. Performance regressions. Establish a baseline measurement using the least intrusive evidence available, then bisect. Measure first, fix second.

  5. When you don't know, say so. Don't pretend. Ask for help or research more.


Phase 4 — Implementation

Fix the root cause, not the symptom.

  1. Create a failing test case. The simplest possible reproduction. MUST exist before the fix.

    A correct seam is one where the test exercises the real bug pattern as it occurs at the call site. If the only available seam is too shallow, note that the codebase architecture is preventing the bug from being locked down.

  2. Implement a single fix. Address the root cause. One change at a time. No "while I'm here" improvements. No bundled refactoring.

  3. Verify the fix. Does the test pass? Do other tests still pass? Does the original repro no longer reproduce?

  4. If the fix doesn't work:

    • STOP
    • Count the failed fix attempts
    • If < 3: return to Phase 1 with the new information
    • If ≥ 3: question the architecture. Pattern problems, hidden coupling, and shared state that each fix reveals are signs of a wrong pattern. Discuss with the user before attempting Fix #4.

Cleanup + post-mortem

Before declaring done:

  • Original repro no longer reproduces (re-run Phase 1 loop)
  • Regression test passes (or absence of seam is documented)
  • All [DEBUG-...] instrumentation removed
  • Throwaway prototypes deleted or moved to a clearly-marked debug location
  • The correct hypothesis is stated in the commit / PR message
  • You asked: "What would have prevented this bug?"

Red Flags — Stop and Return to Phase 1

If you catch yourself thinking:

  • "Quick fix for now, investigate later"
  • "Just try changing X and see if it works"
  • "Add multiple changes, run tests"
  • "Skip the test, I'll manually verify"
  • "It's probably X, let me fix that"
  • "I don't fully understand but this might work"
  • "Pattern says X but I'll adapt it differently"
  • "One more fix attempt" (after 2+ failures)
  • Each fix reveals a new problem in a different place

All of these mean: stop. Return to Phase 1.

Common Rationalizations

ExcuseReality
"Issue is simple, don't need process"Simple issues have root causes too.
"Emergency, no time for process"Systematic debugging is faster than thrashing.
"Just try this first, then investigate"First fix sets the pattern. Do it right from the start.
"I'll write the test after confirming the fix"Untested fixes don't stick. Test first proves the bug.
"Multiple fixes at once saves time"Can't isolate what worked. Causes new bugs.
"Reference too long, I'll adapt the pattern"Partial understanding guarantees bugs.
"I see the problem, let me fix it"Seeing symptoms ≠ understanding root cause.

Quick Reference

PhaseKey ActivitiesSuccess Criteria
1. Root causeRead errors, build loop, reproduce, trace data flowUnderstand what and why
2. Pattern analysisFind working examples, compareIdentify differences
3. HypothesisForm theory, test minimallyConfirmed or new hypothesis
4. ImplementationFailing test, single fix, verifyBug resolved, tests pass

Debug Summary

After each session, summarize:

## Debug Summary

**Problem:** [One sentence]
**Root Cause:** [What actually was wrong]
**Fix:** [How you fixed it]
**Verification:** [Test results]
**Prevention:** [Regression test added? Architectural finding?]

References

  • Common bug patternsreferences/bug-patterns.md
  • Techniques and safety practicesreferences/techniques.md

Structure inspired by obra/superpowers systematic-debugging.

Frequently asked questions

What to verify before installation and use

What does the oracle-debug source document cover?

Random fixes waste time and create new bugs. Quick patches mask underlying issues.

How do I install oracle-debug?

The source record exposes this install command: npx skills add https://github.com/martinffx/atelier --skill "skills/oracle-debug". Inspect the command and pinned source before running it.

Alternatives

Compare before choosing

Computed 10045,511

coreyhaines31/marketingskills

ab-testing

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program

Computed 10024,921

alirezarezvani/claude-skills

app-store-optimization

App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

Computed 100152

JasonColapietro/suede-creator-skills

suede-ab-testing

Suede-owned experimentation discipline for hypotheses, sample sizing, test duration, significance, and repeatable experiment programs. Use when comparing variants, deciding whether a result is reliable, or building an experiment backlog and cadence. NOT FOR: analytics instrumentation (use suede-analytics), post-click conversion diagnosis (use suede-site-alchemy), or writing the variant copy itself (use suede-copy).

Computed 10035

tenequm/skills

founder-playbook

Decision validation and thinking frameworks for startup founders. Use when you need to pressure-test a decision, validate your next steps, think through strategic options, or sanity-check your approach. Triggers on phrases like "should I", "help me think through", "is this the right move", "validate my thinking", "what am I missing". Covers fundraising, customer development, runway management, prioritization, and crypto/web3 founder challenges.