compat-check

compat-check is a skill for Claude Code from fjpulidop/specrails-core. It costs 31 tokens per session (2,761 once invoked), scanned A, original, MIT.

A compatibility checker that records the parts of a project's public interface, such as command names, options, placeholders, agent names, and configuration keys. It compares the current interface with an earlier saved version.

In plain words
What is it for?
Use it to save an interface snapshot, compare versions, review proposed changes, and create migration instructions for breaking changes.
Why use it?
It shows which proposed or completed changes may break existing users or scripts and labels the seriousness of each change.

Skill for Claude Code

Written for Claude Code: $ARGUMENTS substitution. Also seen: mentions CLAUDE.md.

Part of the specrails plugin — 28 skills, 14 agents shipped together

Good fit Use it to save an interface snapshot, compare versions, review proposed changes, and create migration instructions for breaking changes.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/fjpulidop/specrails-core/compat-check
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 fjpulidop/specrails-core --skill compat-check
Clone the repo
git clone --depth 1 https://github.com/fjpulidop/specrails-core

Made for: Claude Code.

Or install specrails, the plugin that ships this one along with the rest of its 28 skills, 14 agents.

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 compat-check

README.md
[![agentmods](https://agentmods.dev/badge/skills/fjpulidop/specrails-core/compat-check/github.svg)](https://agentmods.dev/skills/fjpulidop/specrails-core/compat-check)
Your own site
<a href="https://agentmods.dev/skills/fjpulidop/specrails-core/compat-check"><img src="https://agentmods.dev/badge/skills/fjpulidop/specrails-core/compat-check/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 compat-check

Your own site · 80×15
<a href="https://agentmods.dev/skills/fjpulidop/specrails-core/compat-check"><img src="https://agentmods.dev/badge/skills/fjpulidop/specrails-core/compat-check.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 31 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,761 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.00031 $0.02761
Opus 5 $0.00015 $0.01380
Sonnet 5 $0.00006 $0.00552
Haiku 4.5 $0.00003 $0.00276

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

Security

Grade A, and why

compat-check 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 8d 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.

specrails-plugin/skills/compat-check/SKILL.md · 276 lines

How it starts

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

Analyze the API surface of this project (read name from CLAUDE.md or package.json) for backwards compatibility. Extracts the current contract surface (CLI flags, template placeholders, command names, argument flags, agent names, config keys), compares against a stored baseline, classifies each change by severity, and generates a migration guide when breaking changes are found.

Input: $ARGUMENTS — optional flags:

  • --diff — compare current surface to most recent snapshot (default when snapshots exist)
  • --snapshot — capture current surface and save without diffing (default on first run)
  • --since <date> — diff against snapshot from this date (ISO format: YYYY-MM-DD)
  • --propose <change-dir> — diff proposed changes in openspec/changes/<change-dir>/ against current surface
  • --dry-run — run all phases but skip saving the snapshot

Phase 0: Argument Parsing

Parse $ARGUMENTS to set runtime variables.

Variables to set:

  • MODE — string, one of "snapshot", "diff", "propose". Default: "diff" if .claude/compat-snapshots/ contains any .json files; "snapshot" otherwise.
  • COMPARE_DATE — string (ISO date) or empty string. Default: "" (use most recent snapshot).
  • PROPOSE_DIR — string or empty string. Default: "".
  • DRY_RUN — boolean. Default: false.

Parsing rules:

  1. Scan $ARGUMENTS for --snapshot. If found, set MODE=snapshot.
  2. Scan for --diff. If found, set MODE=diff.
  3. Scan for --since <date>. If found, set COMPARE_DATE=<date> and (if MODE not already set to snapshot) set MODE=diff.
  4. Scan for --propose <change-dir>. If found, set PROPOSE_DIR=<change-dir> and MODE=propose.
    • Verify openspec/changes/<change-dir>/ exists. If not: print Error: no change found at openspec/changes/<change-dir>/ and stop.
  5. Scan for --dry-run. If found, set DRY_RUN=true.
  6. Apply default-mode logic if MODE is not yet set: check whether .claude/compat-snapshots/ exists and contains .json files. If yes: MODE=diff. If no: MODE=snapshot.

Verify prerequisites:

  • Check whether templates/ directory exists. If not: print Error: templates/ not found — is this a specrails repo? and stop.
  • Check whether install.sh exists. If not: set INSTALLER_AVAILABLE=false (installer flags category will be skipped). Otherwise set INSTALLER_AVAILABLE=true.

Print active configuration:

Mode: <MODE> | Compare date: <COMPARE_DATE or "latest"> | Dry-run: <true/false>

Read the full file on GitHub · 276 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. 8d ago First seen · 276 lines · 31 tokens per session scan A fb039ee7522d

Subscribe to this mod's changes

compat-check is a skill published in the GitHub repository fjpulidop/specrails-core (9 stars, last pushed yesterday), licensed MIT. It adds 31 tokens to every session and 2,761 once invoked, about $0.0002 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

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

security-review

Perform a focused security review of pending git changes to identify high-confidence security vulnerabilities with real exploitation potential. Use this skill when the user asks for a security review, security audit, vulnerability scan, or wants to check pending changes on a branch for security issues before merging.…

waybarrios/opencode-power-pack · 64 tokens

huggingface-llm-trainer

Train or fine-tune language models with TRL or Unsloth on Hugging Face Jobs, including SFT, DPO, GRPO, reward models, and GGUF conversion. Use for cloud LLM training; use huggingface-vision-trainer for vision tasks.

waybarrios/opencode-power-pack · 65 tokens

feature-dev

Guide a feature implementation through a structured seven-phase workflow with deep codebase understanding, clarifying questions, parallel architecture design, and quality review. Use this skill when the user asks to build a new feature, add functionality, or wants a methodical approach to implementation rather than…

waybarrios/opencode-power-pack · 62 tokens

huggingface-vision-trainer

Train object-detection, image-classification, or SAM segmentation models on Hugging Face Jobs. Use for vision fine-tuning and evaluation; use huggingface-llm-trainer for language models.

waybarrios/opencode-power-pack · 48 tokens

differential-review

Performs security-focused differential review of code changes (PRs, commits, diffs). Adapts analysis depth to codebase size, uses git history for context, calculates blast radius, checks test coverage, and generates comprehensive markdown reports. Automatically detects and prevents security regressions.

waybarrios/opencode-power-pack · 61 tokens