
Coding Standards
Establish and enforce baseline naming, immutability, readability, and code-smell review before leaning on framework-specific ECC skills.
Install
npx skills add https://github.com/affaan-m/everything-claude-code --skill coding-standardsWhat is this skill?
- Shared baseline for descriptive naming, immutability defaults, KISS, DRY, and YAGNI
- Explicit scope boundaries: defers React/UI depth to frontend-patterns and server/API depth to backend-patterns or api-de
- Activates for new projects, refactors, lint/format/type-check setup, and maintainability reviews
- Points to rules/common/coding-style.md for the shortest reusable rule layer
- Error-handling expectations and code-smell review without replacing domain frameworks
Adoption & trust: 7.8k installs on skills.sh; 210k GitHub stars; 3/3 security scanners passed (skills.sh audits).
Recommended Skills
Improve Codebase Architecturemattpocock/skills
Zoom Outmattpocock/skills
Caveman Reviewjuliusbrussee/caveman
Requesting Code Reviewobra/superpowers
Receiving Code Reviewobra/superpowers
Request Refactor Planmattpocock/skills
Journey fit
Primary fit
New modules and convention setup usually start in Build; this skill is shelved there as the shared floor for how code is written. PM-oriented consistency—onboarding contributors, lint/type setup, and structural norms—fits the planning-and-standards lane within build.
Common Questions / FAQ
Is Coding Standards safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Coding Standards
# Coding Standards & Best Practices Baseline coding conventions applicable across projects. This skill is the shared floor, not the detailed framework playbook. - Use `frontend-patterns` for React, state, forms, rendering, and UI architecture. - Use `backend-patterns` or `api-design` for repository/service layers, endpoint design, validation, and server-specific concerns. - Use `rules/common/coding-style.md` when you need the shortest reusable rule layer instead of a full skill walkthrough. ## When to Activate - Starting a new project or module - Reviewing code for quality and maintainability - Refactoring existing code to follow conventions - Enforcing naming, formatting, or structural consistency - Setting up linting, formatting, or type-checking rules - Onboarding new contributors to coding conventions ## Scope Boundaries Activate this skill for: - descriptive naming - immutability defaults - readability, KISS, DRY, and YAGNI enforcement - error-handling expectations and code-smell review Do not use this skill as the primary source for: - React composition, hooks, or rendering patterns - backend architecture, API design, or database layering - domain-specific framework guidance when a narrower ECC skill already exists ## Code Quality Principles ### 1. Readability First - Code is read more than written - Clear variable and function names - Self-documenting code preferred over comments - Consistent formatting ### 2. KISS (Keep It Simple, Stupid) - Simplest solution that works - Avoid over-engineering - No premature optimization - Easy to understand > clever code ### 3. DRY (Don't Repeat Yourself) - Extract common logic into functions - Create reusable components - Share utilities across modules - Avoid copy-paste programming ### 4. YAGNI (You Aren't Gonna Need It) - Don't build features before they're needed - Avoid speculative generality - Add complexity only when required - Start simple, refactor when needed ## TypeScript/JavaScript Standards ### Variable Naming ```typescript // PASS: GOOD: Descriptive names const marketSearchQuery = 'election' const isUserAuthenticated = true const totalRevenue = 1000 // FAIL: BAD: Unclear names const q = 'election' const flag = true const x = 1000 ``` ### Function Naming ```typescript // PASS: GOOD: Verb-noun pattern async function fetchMarketData(marketId: string) { } function calculateSimilarity(a: number[], b: number[]) { } function isValidEmail(email: string): boolean { } // FAIL: BAD: Unclear or noun-only async function market(id: string) { } function similarity(a, b) { } function email(e) { } ``` ### Immutability Pattern (CRITICAL) ```typescript // PASS: ALWAYS use spread operator const updatedUser = { ...user, name: 'New Name' } const updatedArray = [...items, newItem] // FAIL: NEVER mutate directly user.name = 'New Name' // BAD items.push(newItem) // BAD ``` ### Error Handling ```typescript // PASS: GOOD: Comprehensive error handling async function fetchData(url: string) { try { const response = await fetch(url) if (!response.ok) { throw new Error(`HTTP ${response.status}: ${response.statusText}`) } return await response.json() } catch (error) { console.error('Fetch failed:', error) throw new Error('Failed to fetch data') } } // FAIL: BAD: No error handling async function fetchData(url) { const response = await fetch(url) return response.json() } ``` ### Async/Await Best Practices ```typescript // PASS: GOOD: Parallel execution when possible const [users, markets, stats] = await Promise.all([ fetchUsers(), fetchMarkets(), fetchStats() ]) // FAIL: BAD: Sequential when unnecessary const users = await fetchUsers() const markets = await fetchMarkets() const stats = aw