clean-codePragmatic coding standards - concise, direct, no over-engineering, no unnecessary comments
Install via ClawdBot CLI:
clawdbot install gabrielsubtil/clean-codeCRITICAL SKILL - Be concise, direct, and solution-focused.
| Principle | Rule |
|-----------|------|
| SRP | Single Responsibility - each function/class does ONE thing |
| DRY | Don't Repeat Yourself - extract duplicates, reuse |
| KISS | Keep It Simple - simplest solution that works |
| YAGNI | You Aren't Gonna Need It - don't build unused features |
| Boy Scout | Leave code cleaner than you found it |
| Element | Convention |
|---------|------------|
| Variables | Reveal intent: userCount not n |
| Functions | Verb + noun: getUserById() not user() |
| Booleans | Question form: isActive, hasPermission, canEdit |
| Constants | SCREAMING_SNAKE: MAX_RETRY_COUNT |
Rule: If you need a comment to explain a name, rename it.
| Rule | Description |
|------|-------------|
| Small | Max 20 lines, ideally 5-10 |
| One Thing | Does one thing, does it well |
| One Level | One level of abstraction per function |
| Few Args | Max 3 arguments, prefer 0-2 |
| No Side Effects | Don't mutate inputs unexpectedly |
| Pattern | Apply |
|---------|-------|
| Guard Clauses | Early returns for edge cases |
| Flat > Nested | Avoid deep nesting (max 2 levels) |
| Composition | Small functions composed together |
| Colocation | Keep related code close |
| Situation | Action |
|-----------|--------|
| User asks for feature | Write it directly |
| User reports bug | Fix it, don't explain |
| No clear requirement | Ask, don't assume |
| ā Pattern | ā Fix |
|-----------|-------|
| Comment every line | Delete obvious comments |
| Helper for one-liner | Inline the code |
| Factory for 2 objects | Direct instantiation |
| utils.ts with 1 function | Put code where used |
| "First we import..." | Just write code |
| Deep nesting | Guard clauses |
| Magic numbers | Named constants |
| God functions | Split by responsibility |
Before changing a file, ask yourself:
| Question | Why |
|----------|-----|
| What imports this file? | They might break |
| What does this file import? | Interface changes |
| What tests cover this? | Tests might fail |
| Is this a shared component? | Multiple places affected |
Quick Check:
```
File to edit: UserService.ts
āāā Who imports this? ā UserController.ts, AuthController.ts
āāā Do they need changes too? ā Check function signatures
```
š“ Rule: Edit the file + all dependent files in the SAME task.
š“ Never leave broken imports or missing updates.
| Do | Don't |
|----|-------|
| Write code directly | Write tutorials |
| Let code self-document | Add obvious comments |
| Fix bugs immediately | Explain the fix first |
| Inline small things | Create unnecessary files |
| Name things clearly | Use abbreviations |
| Keep functions small | Write 100+ line functions |
Remember: The user wants working code, not a programming lesson.
Before saying "task complete", verify:
| Check | Question |
|-------|----------|
| ā Goal met? | Did I do exactly what user asked? |
| ā Files edited? | Did I modify all necessary files? |
| ā Code works? | Did I test/verify the change? |
| ā No errors? | Lint and TypeScript pass? |
| ā Nothing forgotten? | Any edge cases missed? |
š“ Rule: If ANY check fails, fix it before completing.
š“ CRITICAL: Each agent runs ONLY their own skill's scripts after completing work.
| Agent | Script | Command |
|-------|--------|---------|
| frontend-specialist | UX Audit | python .agent/skills/frontend-design/scripts/ux_audit.py . |
| frontend-specialist | A11y Check | python .agent/skills/frontend-design/scripts/accessibility_checker.py . |
| backend-specialist | API Validator | python .agent/skills/api-patterns/scripts/api_validator.py . |
| mobile-developer | Mobile Audit | python .agent/skills/mobile-design/scripts/mobile_audit.py . |
| database-architect | Schema Validate | python .agent/skills/database-design/scripts/schema_validator.py . |
| security-auditor | Security Scan | python .agent/skills/vulnerability-scanner/scripts/security_scan.py . |
| seo-specialist | SEO Check | python .agent/skills/seo-fundamentals/scripts/seo_checker.py . |
| seo-specialist | GEO Check | python .agent/skills/geo-fundamentals/scripts/geo_checker.py . |
| performance-optimizer | Lighthouse | python .agent/skills/performance-profiling/scripts/lighthouse_audit.py |
| test-engineer | Test Runner | python .agent/skills/testing-patterns/scripts/test_runner.py . |
| test-engineer | Playwright | python .agent/skills/webapp-testing/scripts/playwright_runner.py |
| Any agent | Lint Check | python .agent/skills/lint-and-validate/scripts/lint_runner.py . |
| Any agent | Type Coverage | python .agent/skills/lint-and-validate/scripts/type_coverage.py . |
| Any agent | i18n Check | python .agent/skills/i18n-localization/scripts/i18n_checker.py . |
ā WRONG:test-engineerrunningux_audit.py
ā CORRECT:frontend-specialistrunningux_audit.py
When running a validation script, you MUST:
```markdown
Should I fix the X errors?
```
š“ VIOLATION: Running script and ignoring output = FAILED task.
š“ VIOLATION: Auto-fixing without asking = Not allowed.
š“ Rule: Always READ output ā SUMMARIZE ā ASK ā then fix.
Generated Mar 1, 2026
A tech startup building a minimum viable product (MVP) for a new web app needs to quickly produce clean, maintainable code without over-engineering. This skill ensures developers follow pragmatic standards like KISS and YAGNI, focusing on essential features and avoiding unnecessary complexity to speed up iteration.
An enterprise with outdated software systems requires refactoring to improve maintainability and reduce technical debt. The skill's principles like SRP, DRY, and Boy Scout rule guide developers in incrementally cleaning up code, splitting god functions, and removing magic numbers without breaking existing functionality.
An online learning platform needs to add new features like user progress tracking while keeping codebase simple and direct. The skill enforces concise naming, small functions, and guard clauses to ensure changes are easy to understand and integrate, minimizing bugs and support overhead.
An e-commerce company scaling its backend services requires performance improvements and bug fixes. The skill's anti-pattern avoidance, such as eliminating deep nesting and unnecessary comments, helps developers write efficient, self-documenting code that handles high traffic reliably.
A mobile development team launching a new app feature needs to ensure code is modular and testable. The skill promotes composition, colocation, and flat structures, enabling quick updates and reducing merge conflicts in collaborative environments.
A software-as-a-service company uses this skill to maintain a clean codebase across frequent updates, reducing technical debt and improving customer satisfaction. Clean code principles help onboard new developers quickly and minimize downtime from bugs, supporting recurring revenue from subscriptions.
A tech consultancy firm applies this skill to deliver high-quality code audits and refactoring projects for clients. By adhering to standards like naming rules and function size limits, they provide tangible improvements in code quality, leading to project-based fees and long-term contracts.
An open-source project relies on this skill to attract contributors and ensure code maintainability. Following principles like DRY and no side effects makes the codebase accessible, encouraging community contributions and potential revenue from donations or enterprise support.
š¬ Integration Tip
Integrate this skill by embedding its principles into code reviews and linter configurations to enforce standards automatically, reducing manual oversight.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Provides a 7-step debugging protocol plus language-specific commands to systematically identify, verify, and fix software bugs across multiple environments.
A comprehensive skill for using the Cursor CLI agent for various software engineering tasks (updated for 2026 features, includes tmux automation guide).
Write, run, and manage unit, integration, and E2E tests across TypeScript, Python, and Swift using recommended frameworks.
Control and operate Opencode via slash commands. Use this skill to manage sessions, select models, switch agents (plan/build), and coordinate coding through Opencode.
Coding style memory that adapts to your preferences, conventions, and patterns for consistent coding.