prove-pre-existing

prove-pre-existing is a skill for Claude Code from shashankreddy509/claude-tdd-kit. It costs 105 tokens per session (994 once invoked), scanned A, original, MIT.

A read-only check that determines whether a failed build, compilation, or test was caused by your changes or was already failing beforehand. It compares the failure with the project in its previous state.

In plain words
What is it for?
Use it to investigate a failing test, compiler, or build command when you need evidence about whether your working-tree changes are responsible.
Why use it?
It removes uncertainty when a test or build breaks during development. The result helps separate a regression from an unrelated problem without changing the code or fixing the failure.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Part of the dev-day plugin — 10 skills shipped together

Good fit Use it to investigate a failing test, compiler, or build command when you need evidence about whether your working-tree changes are responsible.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/shashankreddy509/claude-tdd-kit/prove-pre-existing
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add shashankreddy509/claude-tdd-kit --skill prove-pre-existing
Clone the repo
git clone --depth 1 https://github.com/shashankreddy509/claude-tdd-kit

Made for: Claude Code.

Or install dev-day, the plugin that ships this one along with the rest of its 10 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for prove-pre-existing

README.md
[![agentmods](https://agentmods.dev/badge/skills/shashankreddy509/claude-tdd-kit/prove-pre-existing/github.svg)](https://agentmods.dev/skills/shashankreddy509/claude-tdd-kit/prove-pre-existing)
Your own site
<a href="https://agentmods.dev/skills/shashankreddy509/claude-tdd-kit/prove-pre-existing"><img src="https://agentmods.dev/badge/skills/shashankreddy509/claude-tdd-kit/prove-pre-existing/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for prove-pre-existing

Your own site · 80×15
<a href="https://agentmods.dev/skills/shashankreddy509/claude-tdd-kit/prove-pre-existing"><img src="https://agentmods.dev/badge/skills/shashankreddy509/claude-tdd-kit/prove-pre-existing.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 105 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 994 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00105 $0.00994
Opus 5 $0.00053 $0.00497
Sonnet 5 $0.00021 $0.00199
Haiku 4.5 $0.00011 $0.00099

Measured 11d ago against content hash 12faeaffc346, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

prove-pre-existing scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

dev-day/skills/prove-pre-existing/SKILL.md · 66 lines

How it starts

The opening of the file, as written. The whole thing — 66 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Prove Pre-Existing

One job: attribute a failure. Given a build/compile/test that is currently failing, determine whether YOUR working-tree change introduced it or whether it was already broken on the clean base. This is a Verification check on a failure — it does NOT fix the failure, refactor, or change scope. Output is a verdict with evidence.

Input

  • What's failing and how it's run (the exact command). If unclear, ask for it. Identify the repo of the change (usually the cwd, but confirm).
  • Detect the stack from the command / repo so you read traces correctly:
    • Python / pytest: e.g. .venv/bin/python -m pytest tests/.... Read the bottom of the traceback — the real E AssertionError / ImportError line, not the collection noise above it.
    • Kotlin / Gradle: e.g. ./gradlew :module:testDebugUnitTest. Read kapt/Gradle traces bottom-up — the real Caused by / e: lines.
    • Other stacks: find the real failing line, not the summary. Most runners print the useful signature furthest from the invocation.

Steps

  1. Capture the failure as-is. Run the failing command and save the exact error signature (the real failing line, not the noise around it). Note which files the errors point at.

  2. Confirm what's yours. git -C <repo> status --short. List the files YOU changed. If the errors point at files NOT in your change set, that is already strong evidence of pre-existing breakage — call it out.

  3. Stash your edits (scope to your files, keep the rest of the tree intact): git -C <repo> stash push -- <yourfile1> <yourfile2> ... For an untracked new file (e.g. a new test), move it aside instead (mv to the scratchpad), since stash won't take untracked paths by default.

  4. Re-run the SAME command on the clean base. Compare the error signature to step 1:

    • Same errors remain → the failure is PRE-EXISTING; your change is not the cause. Capture the identical signature as proof.
    • Errors gone → your change IS implicated; report which of your files, and the specific error each introduces.

Read the full file on GitHub · 66 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 11d ago First seen · 66 lines · 0 tokens per session scan A 12faeaffc346

Subscribe to this mod's changes

prove-pre-existing is a skill published in the GitHub repository shashankreddy509/claude-tdd-kit (2 stars, last pushed 18d ago), licensed MIT. It adds 105 tokens to every session and 994 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

manage-skills

A maintenance workflow for checking whether project verification skills still cover the code and rules that changed during a session.

sangrokjung/claude-forge · 54 tokens

systematic-debugging

Structured debugging methodology — use before proposing fixes for any error or failure. Covers: code bugs, build errors, deploy failures, config conflicts, dependency issues, infra problems. Also use when previous fix attempts failed or root cause is unclear.

sangrokjung/claude-forge · 53 tokens

review-loop

Run the adversarial verification loop — implement, then hand the change to a fresh checker that did not write it, fix what it finds, and re-dispatch until APPROVE. Use before claiming any behavioural change is done, and on requests like "review loop", "adversarial review", "independent review", "get this verified"…

sangrokjung/claude-forge · 100 tokens

create-issue

Transitional alias — prefer /prflow:specs, which runs the same issue-drafting pipeline. Use when a rough user story, bug report, feature idea, piece of feedback, or an implementation plan should be recorded as a GitHub issue rather than built right now. This command name is retained so existing /prflow:create-issue…

The01Geek/prflow · 89 tokens

docs-release-notes

Use when a change needs a user-visible release-note, changelog, or changeset entry — "add a release note", "add a changeset for this", "what goes in the changelog?", "write up what shipped", "note this for the next release" — or when finalizing a branch whose customer-visible features, bug fixes, or UI changes should…

The01Geek/prflow · 106 tokens

retrospective-audit

Stage B of /prflow:retrospective-weekly: given a most-recent-first subset of one recurring pattern's occurrence-PR context bundles (bounded by auditbundlecap), re-derive the root cause and return one JSON object carrying a ranked findings array (one to three sub-patterns) — no edits, no worktree. Invoked as a subagent…

The01Geek/prflow · 91 tokens