Overview
The clean-code skill provides pragmatic coding standards focused on being concise, direct, and solution-focused. It emphasizes writing code that is easy to understand, maintain, and extend without over-engineering.What This Skill Provides
- Core Principles: SRP, DRY, KISS, YAGNI, Boy Scout Rule
- Naming Rules: Clear, intentional naming conventions
- Function Rules: Small, focused functions
- Code Structure: Guard clauses, flat over nested, composition
- AI Coding Style: Direct action over explanation
- Anti-Patterns: What to avoid in code
- Verification Scripts: Automated quality checks
- Pre-Completion Checklist: Self-verification before finishing
Core Principles
| 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 |
Naming Rules
| 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 |
Function Rules
| 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 |
Code Structure
| 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 |
AI Coding Style
| Situation | Action |
|---|---|
| User asks for feature | Write it directly |
| User reports bug | Fix it, don’t explain |
| No clear requirement | Ask, don’t assume |
Use Cases
When to Use This Skill
- Writing new code
- Refactoring existing code
- Code review and quality checks
- Teaching coding standards
- Establishing team conventions
Example Scenarios
- New Feature: Apply clean code principles from the start
- Refactoring: Improve naming, reduce complexity, extract functions
- Code Review: Identify violations of clean code principles
- Debugging: Clean code makes bugs easier to find
Anti-Patterns to Avoid
| ❌ 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 Editing Files
THINK FIRST! Before changing a file, ask:| 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 |
Self-Check Before Completing
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? |
Verification Scripts
Agent → Script Mapping
| 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 . |
| 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 . |
| 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 <url> |
| 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 . |
Script Output Handling
When running a validation script, you MUST:- Run the script and capture ALL output
- Parse the output - identify errors, warnings, and passes
- Summarize to user with clear categories
- Wait for user confirmation before fixing
- After fixing → Re-run script to confirm
Related Skills
- code-review-checklist: Quality standards for reviews
- testing-patterns: Clean test code
- refactoring-patterns: Improving existing code
- lint-and-validate: Automated quality checks
Which Agents Use This Skill
This is a CRITICAL SKILL used by ALL agents in the Antigravity Kit:- frontend-specialist
- backend-specialist
- database-architect
- test-engineer
- security-auditor
- devops-engineer
- mobile-developer
- game-developer
- And more…
Summary
| 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 |
Tools Available
- Read, Write, Edit: Core file operations
Remember: The user wants working code, not a programming lesson. Be concise, direct, and solution-focused.
