Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Prove Pre Existing

ASecurity

Prove whether a build, compile, or test failure is caused by YOUR change or was already broken — by stashing your edits, re-running, and comparing. Read-only verdict; fixes nothing. Use when a build/test fails and the question is "is this my fault or pre-existing", or before blaming your diff. Triggers: is this my change, did I break it, pre-existing failure, was it already broken, prove pre-existing, my fault or not, stash and recompile.

2 stars
0 votes
0 copies
0 views
Added 9/28/2026
ai-agentspythongokotlinbashgit

Security Analysis

A100/100

Scanned 9/28/2026

Install to Claude Code

$npx -y skills add shashankreddy509/claude-tdd-kit --skill prove-pre-existing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Prove Pre Existing?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Prove Pre Existing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/shashankreddy509-prove-pre-existing/badge)](https://www.skillsdirectory.com/skills/shashankreddy509-prove-pre-existing)

More formats (shields.io, HTML) on the badges page.

Files
SKILL.md
---
name: prove-pre-existing
description: Prove whether a build, compile, or test failure is caused by YOUR change or was already broken — by stashing your edits, re-running, and comparing. Read-only verdict; fixes nothing. Use when a build/test fails and the question is "is this my fault or pre-existing", or before blaming your diff. Triggers: is this my change, did I break it, pre-existing failure, was it already broken, prove pre-existing, my fault or not, stash and recompile.
allowed-tools: Read, Grep, Glob, Bash
---

# 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.

5. **Restore your edits exactly.** `git -C <repo> stash pop` (and move any scratchpad'd new file
   back). Verify `git status` matches the pre-stash state — your change must be fully restored.
   **This step is not optional and must run even if step 4 errored out.** A stashed tree that is
   never popped looks like the user's work vanished. If the pop conflicts, STOP and surface it with
   the stash ref (`git stash list`) rather than discarding anything.

6. **Verdict.** State plainly: pre-existing or yours, with the matching/differing error signature
   as evidence. If pre-existing, name the owning file/commit (`git log -1 -- <brokenfile>`) so the
   user knows it's not theirs to fix here.

## Notes

- **Kotlin** compiles a whole source set as one unit — a single rotten file fails the set even for
  an unrelated change. This skill only ATTRIBUTES; it doesn't run-past a rotten set.
- **Python** import-time errors (a bad `import` in a sibling module) can fail collection for an
  unrelated test — same attribution logic applies: stash yours, see if the collection error persists.
- Do not "be safe" and run a broader build than the one that failed; reproduce the exact failing
  command on clean base, nothing more.
- Read-only verdict skill. It must leave the tree exactly as it found it. It does not apply fixes —
  if the failure IS yours, report it and stop; the user decides the fix.

Attribution

shashankreddy509shashankreddy509
View sourceMore from shashankreddy509 →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1074701 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

695601 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

691 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →