battle-test

battle-test is a skill for Claude Code from Jewgah/claude-code-skills. It costs 124 tokens per session (2,000 once invoked), scanned A, original, MIT.

A change-checking helper that finds the tests and other checks available for the current frontend or backend changes, runs the ones it can, and reports what still needs a person. Testing means checking that software still behaves as expected after a change.

In plain words
What is it for?
Use it after a feature or bug fix to check relevant code, including new untracked files, and identify manual checks that remain.
Why use it?
It avoids running irrelevant checks and makes gaps in automated coverage visible before a change is committed.

Skill for Claude Code

Written for Claude Code: argument-hint in frontmatter.

Good fit Use it after a feature or bug fix to check relevant code, including new untracked files, and identify manual checks that remain.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/jewgah/claude-code-skills/battle-test
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 Jewgah/claude-code-skills --skill battle-test
Clone the repo
git clone --depth 1 https://github.com/Jewgah/claude-code-skills

Made for: Claude Code.

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 battle-test

README.md
[![agentmods](https://agentmods.dev/badge/skills/jewgah/claude-code-skills/battle-test/github.svg)](https://agentmods.dev/skills/jewgah/claude-code-skills/battle-test)
Your own site
<a href="https://agentmods.dev/skills/jewgah/claude-code-skills/battle-test"><img src="https://agentmods.dev/badge/skills/jewgah/claude-code-skills/battle-test/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 battle-test

Your own site · 80×15
<a href="https://agentmods.dev/skills/jewgah/claude-code-skills/battle-test"><img src="https://agentmods.dev/badge/skills/jewgah/claude-code-skills/battle-test.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 124 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,000 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. 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.00124 $0.02000
Opus 5.5 $0.00050 $0.00800
Sonnet 5.5 $0.00025 $0.00400
Haiku 4.5 $0.00012 $0.00200

Measured 1mo ago against content hash 73eea2225177, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

battle-test scanned grade A with 1 finding 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 1mo 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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

`timeout 30 bash -c 'until curl -sf http://localhost:3000 >/dev/null; do sleep 1; done'`.
skills/battle-test/SKILL.md · 134 lines

How it starts

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

Battle-test the current change

Decide what can be run, run it, score how well the change is actually covered, and hand back the checks a human still has to do. $ARGUMENTS narrows the side (frontend/backend) and the git scope; blank means both sides, all pending changes.

Phase 1 - Triage (before running anything)

  1. Resolve the scope: staged -> git diff --cached, unstaged -> git diff, last-commit -> git diff HEAD~1 (empty tree if there is no parent), blank -> both diffs. Add untracked files (git ls-files --others --exclude-standard): a brand-new module is invisible to git diff and is exactly the code least likely to be covered. Not a git repo (git rev-parse --git-dir fails) -> fall back to the files the user names, and say the scope came from them, not from git.
  2. Empty-diff guard: no changes in scope -> say so and stop. Do not run a suite for nothing.
  3. Detect what the repo actually has (package.json scripts, composer.json, Makefile, pytest/cargo/go, a dev script, a compose file, an emulator), then sort every check that matters for this diff into three buckets and print them before executing anything:
    • AUTO - runnable now, non-destructive, no credentials: test/typecheck/lint/build scripts, and single-file language checks (php -l through the Docker wrapper, tsc --noEmit, node --check).
    • BOOTABLE - runnable after starting something the repo owns: dev server, Docker stack, emulator. Start it, use it, stop only what this run started.
    • MANUAL - impossible here: prod or client credentials, a real payment, a real device, a third-party dashboard, an email or message actually arriving, a visual judgment call, or a production DB change.

Bucket by what the diff touches, not by what the repo owns. A backend-only diff earns no browser pass.

  1. Blast-radius preflight, before the first command runs. A check that can reach real data or a real person is NOT auto, whatever the script is named. The default is refuse, not try:
    • Read the env the command will actually use (.env*, firebase.json / .firebaserc, the compose file, the test config) before running it. Pointed at a production project, a live API key, a shared staging DB, a real SMTP host or a third-party webhook -> MANUAL. Prefer the repo's emulator or test env; if the only env available is the real one, do not run it.
    • Anything that reaches a human (email, SMS, WhatsApp, push, a call to a partner API that bills or writes) is MANUAL even in "test mode", unless the repo pins a sandbox you verified.
    • Anything that mutates a store: seed, reset, migrate, truncate, --force, fixtures that drop collections. MANUAL unless it provably targets a local throwaway you started.
    • Rate-limited or paid third parties (Apollo, LinkedIn, HubSpot, OpenAI, a payment provider): MANUAL. Burning a client's quota to raise a score is not a trade worth making. When you cannot tell which env a command uses, it is MANUAL. State the reason in one line and move on; an unrun check costs points, and that is the correct outcome.

Read the full file on GitHub · 134 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. 1mo ago First seen · 134 lines · 124 tokens per session scan A 73eea2225177

Subscribe to this mod's changes

battle-test is a skill published in the GitHub repository Jewgah/claude-code-skills (2 stars, last pushed 2d ago), licensed MIT. It adds 124 tokens to every session and 2,000 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-14.

Related

Other skills, from other repositories

code-review

Review .NET changes for bugs, regressions, architectural drift, missing tests, incorrect async or disposal behavior, and platform-specific pitfalls before you approve or merge them. USE FOR: reviewing a pull request or patch in a .NET repository; checking for behavioral regressions, API misuse, or missing tests…

managedcode/dotnet-skills · 118 tokens

pre-pr-audit

Pre-PR confidence audit with 5-dimension scoring. Use when: final check before commit/push/PR, evaluating PR readiness, assessing test quality + risk + coverage holistically. Triggers: pre-pr, readiness check, confidence audit, final verification, ready to PR, how confident. Not for: code review (use…

sd0xdev/sd0x-harness · 95 tokens

vibe-spec-sync

Keeps specification documents and code in agreement. Audit mode finds every divergence when an implementation is claimed complete; sync mode detects spec drift in staged changes and updates the spec after user approval, so each commit is a reconciled snapshot of spec, tests, and code. Use when an implementation is…

ash1794/vibe-engineering · 90 tokens

vibe-gap-analysis

Assesses production readiness or audits a codebase against its specs. Supports quick static mode, deep 17-dimension audit, or single-dimension focus. Use before a production launch, after a major refactor, when inheriting a codebase, or when someone asks how done the project is.

ash1794/vibe-engineering · 65 tokens

walkthrough

Generate a Phase-2 Walkthrough artifact (walkthrough.md) once implementation and verification are complete. Captures a Change Summary, Verification Steps (commands + unit tests + automated browser testing outcomes), Visual Proof (screenshots/recordings embedded directly in the file), and a Review Gate (final diff + PR…

smallnest/goal-workflow · 131 tokens

vibe-quality-loop

Runs the Implement→Review→Test→Fix cycle until the work is actually clean, with evidence. Use after any non-trivial implementation and before claiming it is done.

ash1794/vibe-engineering · 39 tokens