Enforce deterministic quality gates on every Claude Code tool call, blocking writes/edits until test coverage exists and measuring CRAP index, technical debt, and AST complexity. Run project-wide maintainability grades (A–E) and enforce formatting/type-checking before commits.
Interactive onboarding walkthrough for teams introducing claude-crap on an existing codebase. Use this skill whenever the user asks "how do I install claude-crap on my project", "we're adopting claude-crap for our team", "how should I roll claude-crap out", "what strictness mode should I pick", "we have a lot of legacy code, can we ease into this gradually", "our project has a bunch of existing errors, how do I avoid getting blocked", or is otherwise looking for guidance on gradual rollout strategy instead of just dropping a strict quality gate on a messy codebase. The skill asks a short three-question assessment about test coverage, existing findings, and appetite for hard enforcement, recommends one of three strictness modes (advisory / warn / strict), and emits a copy-pasteable .claude-crap.json snippet for the workspace root so the team can commit the policy in a single step.
Run tree-sitter AST analysis on a source file using claude-crap's deterministic engine and report per-function cyclomatic complexity plus physical and logical lines of code. Use this skill whenever the user asks "what's the complexity of this file", "how complex is foo.ts", "show me cyclomatic complexity per function", "analyze this file's structure", "which functions in this file are too complex", "where should I refactor first in this module", or needs to pick candidates for refactoring based on complexity. Also use this skill proactively when a file feels "big" and you want a ranked list of hot-spot functions before proposing a refactor plan — the tree-sitter engine gives exact numbers instead of eyeball estimates. Supports TypeScript, JavaScript, Python, Java, and C#; the language is detected automatically from the file extension. Takes a single file path as the argument after the skill name.
Check whether a production source file has an accompanying characterization test using claude-crap's deterministic test-harness resolver. Use this skill whenever the user asks "is this file tested", "does foo.ts have a test", "where's the test for bar.py", "check test coverage for this file", "do I have a test harness for src/baz.java", or is about to modify a source file and wants to know if the CLAUDE.md Golden Rule test prerequisite is already satisfied. Use it proactively at the start of any work on a .ts / .tsx / .js / .jsx / .mjs / .cjs / .py / .java / .cs file to verify a characterization test exists — this is required by CLAUDE.md and claude-crap's PostToolUse hook will flag the violation later if you skip the check. The skill takes a single file-path argument after the skill name.
Run claude-crap's deterministic project quality gate and display the A..E letter grade across Maintainability, Reliability, Security, and Overall. Use this skill whenever the user asks "how's the code quality", "what's my CRAP index", "is this project shippable", "show me the technical debt ratio", "run the quality gate", "score the project", or wants a one-glance read on whether the current workspace passes its policy ceiling. Also use this skill proactively at the start of a refactoring session or before a release to establish a quality baseline, and after a substantial refactor to verify the grade has not regressed. Do NOT use it for incident debugging or per-file analysis — for a single file, reach for /claude-crap:analyze instead.
Admin access level
Server config contains admin-level keywords
Executes bash commands
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Hook triggers when Bash tool is used
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Modifies files
Hook triggers on file write and edit operations
Deterministic Quality Assurance plugin for Claude Code. Forces the agent through mathematical hooks, CRAP / TDR thresholds, and SARIF 2.1.0 reports before a single line of code is allowed to ship.
claude-crap turns Claude Code into a disciplined QA engineer. It
wraps every Write, Edit, and Bash call with a synchronous
PreToolUse gatekeeper, a retrospective PostToolUse verifier,
and a final Stop quality gate that refuses to close a task until
maintainability, reliability, and security ratings pass policy.
Every decision that touches source code must be backed by a result
from the deterministic MCP engines — compute_crap, compute_tdr,
analyze_file_ast, ingest_sarif, score_project, and others.
This is the Fat Platform / Thin Agent thesis: the LLM is an
efficient worker, but the rails are mathematical and outside the
model's reach.
CRAP stands for Change Risk Anti-Patterns — a metric originally developed by Alberto Savoia and Bob Evans at Google (2007). Read the original post.
Quick Start · Configuration · How It Works · MCP Tools · Documentation · Contributing
npx claude-crap install
This downloads the package, compiles dist/ from source, creates
.claude-crap/reports/ in your project, and prints the Claude Code
command to register the plugin:
Next steps — pick ONE of the following:
1. Native install:
/plugin install /.../claude-crap
2. Marketplace install:
/plugin marketplace add https://github.com/ahernandez-developer/claude-crap
/plugin install claude-crap@herz
Once registered, open any new session. The SessionStart hook prints a briefing with thresholds and the dashboard URL. From that point the PreToolUse gatekeeper and Stop quality gate run automatically — no further setup required.
Default:
warn. No config file needed. The Stop gate shows all violations but lets tasks close. Teams that want hard enforcement can set"strict"in.claude-crap.json.
The strictness value controls how the Stop gate reacts to failures:
| Mode | Stop exit | Effect |
|---|---|---|
strict | 2 | Task cannot close until rules pass. |
warn | 0 | Full verdict visible to agent, but task closes. Default. |
advisory | 0 | Single-line nudge only. |
Override per workspace:
// .claude-crap.json — commit to git for team-wide policy
{
"strictness": "strict"
}
Or per session: CLAUDE_CRAP_STRICTNESS=strict claude
Precedence: env var > .claude-crap.json > hardcoded warn.
See docs/quality-gate.md for the full CRAP formula, TDR formula, letter ratings, and adoption strategy.
npx claudepluginhub ahernandez-developer/claude-crap --plugin claude-crap20 SEO/GEO skills and 5 commands on one shared contract for keyword research, content creation, technical audits, schema markup, monitoring, quality gates, entity truth, and campaign memory.
Complete collection of battle-tested Claude Code configs from an Anthropic hackathon winner - agents, skills, hooks, and rules evolved over 10+ months of intensive daily use
Comprehensive SEO analysis plugin for Claude Code. 25 sub-skills (21 core + 1 orchestrator + 1 framework + 2 extension mirrors) and 18 sub-agents cover technical SEO, content quality, schema, sitemaps, Core Web Vitals, local SEO, backlinks, AI/GEO, ecommerce, hreflang, SXO, clustering, drift monitoring, and Google APIs. Includes optional MCP extensions, SPA-aware rendering, portability, and hardened SSRF/DNS-rebinding safe fetchers.
Modern R development skills for Claude Code - tidyverse patterns, rlang metaprogramming, Bayesian inference, performance optimization, and more
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.