Anti-thrashing circuit-breaker. An agent skill from ccplugins/awesome-claude-code-plugins.

MITAuto-check passedTesting & QA

Install Stop Digging

skills CLI
$ npx skills add ccplugins/awesome-claude-code-plugins --skill stop-digging -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ccplugins/awesome-claude-code-plugins stop-digging --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ccplugins/awesome-claude-code-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/bullpen/skills/stop-digging .claude/skills/stop-digging && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
stop-digging
GitHub stars
968
Token cost
~1.5k tokens
SKILL.md length
831 words
Files
1
Skills in repo
66
Repo updated
First seen
Licence
MIT

At a glance

Anti-thrashing circuit-breaker. An agent skill from ccplugins/awesome-claude-code-plugins.

  • Works in 5 steps: Name the theory you've been assuming. "I… → Get evidence, not another edit. Add a… → Trace from the source, not the symptom.… → …
  • You catch yourself looping — re-running a failing test with a tweaked value
  • SKILL.md covers When it fires, The move, Rules and Output, plus 3 more sections
  • Calls git

What it does

Stop Digging is an agent skill from ccplugins/awesome-claude-code-plugins. Anti-thrashing circuit-breaker. After two failed attempts at the same problem with the same approach, STOP editing — the theory of the cause is wrong, not the patch. Re-examine assumptions, add instrumentation, and trace from the source before touching code again, instead of re-trying variations of the fix that already failed. Supports intensity levels: lite, full (default), ultra. Use whenever you catch yourself looping — re-running a failing test with a tweaked value, re-adding a guard that didn't help…

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Failing and flaky tests. The repository describes itself as: Awesome Claude Code plugins — a curated list of slash commands, subagents, MCP servers, and hooks for Claude Code. The licence is MIT.

When your agent uses it

  • You catch yourself looping — re-running a failing test with a tweaked value
  • Re-adding a guard that didnt help
  • Guessing at parameters —
  • The user says stop digging

Example prompts

  • “t help, guessing at parameters — or when the user says”
  • “re going in circles”
  • “step back”
  • “/stop-digging”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Name the theory you've been assuming. "I believe null enters at the
  2. Get evidence, not another edit. Add a log/print at the source, run under
  3. Trace from the source, not the symptom. You've been patching where null
  4. Form a new hypothesis before the next edit. If the next change isn't
  5. If still stuck, surface it. Escalate with the ruled-out list, not a

What it can do on your machine

Read from SKILL.md and the folder at commit 5bd4f16. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Stop Digging loads about 1.5k tokens when it runs. Until then it costs about 183 tokens; SKILL.md has 831 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~183
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ccplugins/awesome-claude-code-plugins at commit 5bd4f16, republished under its MIT licence (© ccplugins). 831 words, ~1,501 tokens.

Download SKILL.mdSave it as .claude/skills/stop-digging/SKILL.md (or your agent's skills folder).
name
stop-digging
description
Anti-thrashing circuit-breaker. After two failed attempts at the same problem with the same approach, STOP editing — the theory of the cause is wrong, not the patch. Re-examine assumptions, add instrumentation, and trace from the source before touching code again, instead of re-trying variations of the fix that already failed. Supports intensity levels: lite, full (default), ultra. Use whenever you catch yourself looping — re-running a failing test with a tweaked value, re-adding a guard that didn't help, guessing at parameters — or when the user says "stop digging", "you're going in circles", "step back", "stop guessing". Do NOT use on first attempts, on genuinely new sub-problems, or for non-coding requests.
argument-hint
[lite|full|ultra]
license
MIT

The Greybeard

You are the engineer who has dug enough holes to know the feeling of the ground giving way. On the second failed attempt you put the shovel down — not because you're out of ideas, but because a second failure is data: your model of the cause is wrong, and no amount of patching a wrong cause will fix it.

Thrashing feels like progress because your hands are moving. It isn't. When you're in a hole, the first move is to stop digging.

When it fires

Not every retry is thrashing. A first failure teaches you something — try again, armed with it. A genuinely new sub-problem is a fresh hole, not the same one.

It fires when the SAME problem survives its SECOND attempt on the SAME approach:

  • re-running a failing test with a tweaked constant, then another
  • re-adding or nudging a guard/null-check that didn't move the failure
  • flipping config flags, bumping timeouts, reordering lines by feel
  • "one more small change" that is the third variation of the same idea

One failure → try again. No repeat → not this skill, move on. YAGNI applies to suspicion too: don't halt a plan that's actually converging.

The move

Count attempts on ONE problem. On the second failure of one approach, stop editing code and change what you're doing, not what you're typing:

  1. Name the theory you've been assuming. "I believe null enters at the mapper." Write it down. Two failures mean this sentence is probably false.
  2. Get evidence, not another edit. Add a log/print at the source, run under a debugger, git bisect, diff a working case against the broken one. Find where reality diverges from the theory.
  3. Trace from the source, not the symptom. You've been patching where null lands. Go find where it's born. The fix belongs there.
  4. Form a new hypothesis before the next edit. If the next change isn't testing a specific, stated belief, you're still guessing — keep gathering.
  5. If still stuck, surface it. Escalate with the ruled-out list, not a silent fourth try.

The third identical attempt is the tell. If you're reaching for it, that's the signal to stop, not proceed.

Rules

  • Two failures = change the approach, not the parameters. A tweaked constant is the same attempt wearing a hat.
  • No edit without a hypothesis it tests. "Let me try…" with no stated belief is guessing — gather evidence instead.
  • Instrument before you patch: a print at the source outbeats ten guesses at the sink.
  • Failure mode to avoid: silent thrashing — five near-identical diffs and a growing changelog of "still broken." Guardrail: after two, you must state the theory and go get evidence.
  • When truly stuck, escalate with what you've RULED OUT, not just "it fails."

Output

The evidence first — the trace, the log line, the diverging case — then the real fix at the source, then a short Dug: note: the wrong theory, what the evidence showed, the actual cause.

Pattern: [evidence] → [root fix] → Dug: [assumed X] · [trace showed Y] · [real cause Z]

Show full SKILL.md (330 more words)Show less

Intensity

LevelWhat change
liteTake the next attempt, but flag it: "this is try #2 on the same theory — if it fails, I stop and trace." User decides.
fullOn the second failure, stop editing. State the theory, instrument, trace from source, fix the root cause. Default.
ultraStop at the second failure, write down every assumption, prove the cause with a repro/log before ANY edit, and leave the instrumentation (or a test) that would catch a regression.

Example — a Cannot read 'name' of null you've now "fixed" twice by adding a null-check that just moves the crash downstream:

  • lite: "Added the guard — but this is the second null-check for the same error. If it resurfaces, I'll stop patching and trace where null enters."
  • full: "Stopped. I assumed the API returned the row; logged the response — it's [], the user id is undefined upstream. Real fix: the caller passed params.id before the route param was parsed. Fixed there; the two guards come out. Dug: assumed null at the mapper · trace showed empty result · cause was an unparsed route param."
  • ultra: full, plus — documented every assumption, added a log at the source proving the id was undefined, and left test_missing_id_400 so the unparsed- param path fails loudly instead of null-crashing three layers down.

When NOT to

First attempts, or a genuinely different next problem — that's iteration, not thrashing; don't cry circles on healthy progress. If the user says "keep trying this one," push once with what you'd trace instead, then comply — their call wins. Never abandon a required fix just to escape the loop; stopping means changing approach, not dropping the goal.

Boundaries

Stop-digging governs when to stop and think, not what to build — pair it with Fact-Checker (verify the API you assumed exists) and Skeptic (question the premise, not just the patch). "stop stop-digging" / "normal mode": revert. Level persists until changed or session end.

The second failure isn't telling you to try harder. It's telling you you're wrong about why.

© ccplugins, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/bullpen/skills/stop-digging of ccplugins/awesome-claude-code-plugins.

Open the folder on GitHubat commit 5bd4f16

Compare with similar skills

Stop Digging next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Stop Digging compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Stop Digging this skillccplugins/awesome-claude-code-plugins968—~1.5kAutomated safety check: PassMIT
Swig Testswig/swig6.3k—~2.3kAutomated safety check: PassCustom licence
Triage CI FailureDataDog/datadog-agent3.8k—~2.3kAutomated safety check: PassApache-2.0
Dynamo Jira TicketDynamoDS/Dynamo2k—~1.1kAutomated safety check: PassApache-2.0
Fix Ready PRsfastrepl/anarlog9.5k—~1.4kAutomated safety check: PassMIT
Trx Analysismicrosoft/vstest969—~1.8kAutomated safety check: PassMIT

Similar skills

  • Swig Test

    swig/swig

    Run SWIG test suite for specific languages. An agent skill from swig/swig.

    6.3k GitHub stars~2.3k tokensUpdated 2 days ago
    Testing & QAAuto-check passed
  • Triage CI Failure

    DataDog/datadog-agent

    Official

    Classify a failed CI as either caused by an active incident, flakiness, or a true code regression.

    3.8k GitHub stars~2.3k tokensUpdated today
    Testing & QAAuto-check passed
  • Dynamo Jira Ticket

    DynamoDS/Dynamo

    Create structured Jira tickets for Dynamo from bug reports, failing tests, or feature requests.

    2k GitHub stars~1.1k tokensUpdated today
    Testing & QAAuto-check passed
  • Fix Ready PRs

    fastrepl/anarlog

    Inspect every open non-draft PR for CI failures and unresolved Cursor Bugbot findings, then fix them on the existing PR branches.

    9.5k GitHub stars~1.4k tokensUpdated today
    Testing & QAAuto-check passed
  • Trx Analysis

    microsoft/vstest

    Official

    Parse and analyze Visual Studio TRX test result files. An agent skill from microsoft/vstest.

    969 GitHub stars~1.8k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Wio

    workersio/skills

    Testing workflow skill for finding high-value test candidates, writing focused tests, generating realistic workloads, reviewing test value, and diagnosing test-suite health.

    190 GitHub stars~5.8k tokensUpdated 2 mo ago
    Testing & QAAuto-check passed

More from ccplugins/awesome-claude-code-plugins

All 66 skills in this repo
  • AI Meeting

    ccplugins/awesome-claude-code-plugins

    Run structured AI meetings for plans, product ideas, technical designs, business decisions, feature proposals, and strategy choices.

    968 GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check: notes
  • Fastapi App

    ccplugins/awesome-claude-code-plugins

    Bootstrap a new FastAPI backend with async SQLAlchemy 2.0, asyncpg, Alembic, Pydantic v2, and no deprecated APIs.

    968 GitHub stars~1.1k tokensUpdated 1 mo ago
    Auto-check: notes
  • Flutter App

    ccplugins/awesome-claude-code-plugins

    Bootstrap a new Flutter mobile app with clean architecture, Riverpod, FVM-pinned SDK, current packages, and no deprecated APIs.

    968 GitHub stars~1.1k tokensUpdated 1 mo ago
    Auto-check: notes
  • Nextjs App

    ccplugins/awesome-claude-code-plugins

    Bootstrap a new Next.js (App Router, TypeScript) web app with current packages and no deprecated APIs.

    968 GitHub stars~1.1k tokensUpdated 1 mo ago
    Auto-check: notes
  • Dev Report

    ccplugins/awesome-claude-code-plugins

    Write up a coding session for a non-technical stakeholder — the context, what was built, and the engineering reasoning behind it — the way a senior engineer briefs a product manager who does not…

    968 GitHub stars~3.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Difesa Attacchi

    ccplugins/awesome-claude-code-plugins

    Aggiunge a un sito/app un agente di difesa che rileva e blocca richieste malevole (SQL injection, XSS, path traversal, brute force, bot) con rate limiting, blocklist IP e modalità lockdown che…

    968 GitHub stars~781 tokensUpdated 1 mo ago
    Auto-check passed

Categories

Questions about Stop Digging

What does Stop Digging do?

Anti-thrashing circuit-breaker. An agent skill from ccplugins/awesome-claude-code-plugins. Stop Digging is an agent skill from ccplugins/awesome-claude-code-plugins. Anti-thrashing circuit-breaker.

When should I use Stop Digging?

Stop Digging fits situations like: you catch yourself looping — re-running a failing test with a tweaked value; re-adding a guard that didnt help; guessing at parameters —; the user says stop digging.

How do I install Stop Digging in Claude Code?

Run `npx skills add ccplugins/awesome-claude-code-plugins --skill stop-digging -a claude-code`. Or copy the skill folder (plugins/bullpen/skills/stop-digging in ccplugins/awesome-claude-code-plugins) into .claude/skills/stop-digging in your project. Claude Code loads it when a task matches its description.

How do I install Stop Digging in Codex?

Run `npx skills add ccplugins/awesome-claude-code-plugins --skill stop-digging -a codex`. Or copy the skill folder (plugins/bullpen/skills/stop-digging in ccplugins/awesome-claude-code-plugins) into .agents/skills/stop-digging in your project. Codex loads it when a task matches its description.

Can I use Stop Digging in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ccplugins/awesome-claude-code-plugins --skill stop-digging -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/stop-digging, .gemini/skills/stop-digging, .github/skills/stop-digging and .opencode/skills/stop-digging in your project.

What does Stop Digging need to run?

Going by SKILL.md and its folder, Stop Digging needs the command-line tools its instructions call (git).

Does Stop Digging access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Stop Digging safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Stop Digging use?

Stop Digging is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Stop Digging use?

About 1.5k tokens (SKILL.md is roughly 6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Stop Digging?

Skills that share tags, products or a category with Stop Digging: Swig Test (swig/swig, 6.3k stars), Triage CI Failure (DataDog/datadog-agent, 3.8k stars), Dynamo Jira Ticket (DynamoDS/Dynamo, 2k stars) and Fix Ready PRs (fastrepl/anarlog, 9.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Stop Digging?

ccplugins (a GitHub organization) maintains it in ccplugins/awesome-claude-code-plugins, which has 968 GitHub stars. The repository holds 66 skills in this directory. The repository was last updated on August 12, 2026.

Source: ccplugins/awesome-claude-code-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.