From smurf
Language-agnostic code quality heuristics — single responsibility, dependency direction, simple complexity ceilings, naming. Apply when writing or reviewing source code. Loaded by architect, developer, qa-engineer, orchestrator.
How this skill is triggered — by the user, by Claude, or both
Slash command
/smurf:code-qualityThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
These rules apply regardless of stack. Project-specific overrides go in
These rules apply regardless of stack. Project-specific overrides go in
the host project's .claude/policy.yaml forbidden_patterns (which
overrides the plugin default at ${CLAUDE_PLUGIN_ROOT}/policy.yaml).
Smurf's own house rules live in ${CLAUDE_PLUGIN_ROOT}/smurf.md
PROJECT_INVARIANTS.
if/elif chain.If you must exceed these, leave a one-line comment explaining why.
userRepository not userMongoDao.isReady, hasAccess, canCommit.*Impl, *Manager), and abbreviations
unless the project already uses them.instanceof-chain or switch (type) in domain code → use polymorphism.Guides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.
npx claudepluginhub abaddon/smurf --plugin smurf