code-quality

Production-grade code standards and review for TypeScript, Python, Go, and Rust.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "code-quality" with this command: npx skills add georgekhananaev/claude-skills-vault/georgekhananaev-claude-skills-vault-code-quality

Code Quality

Production-grade code standards and review for TypeScript, Python, Go, and Rust.

When to Use

  • Writing or reviewing code in TS/Python/Go/Rust

  • Code review or pull request analysis

  • Security or performance audit

  • Setting up linting/CI for a project

  • Python-specific style check (PEP 8)

Quick-Start Modes

Intent Sections to Use

Write code Core Rules + Language Standards + AI-Friendly Patterns

Review PR Review Process + references/checklist.md

  • Severity Levels

Setup CI Config Files + Scripts + Enforcement Strategy

Python style references/python.md (full PEP 8 deep-dive)

Context loading: For deep reviews, read the relevant references/ file for the language under review.

Quick Reference

Language Type Safety Linter Complexity

TypeScript strict , no any

ESLint + typescript-eslint max 10

Python mypy strict , PEP 484 Ruff + mypy max 10

Go staticcheck golangci-lint max 10

Rust clippy pedantic clippy + cargo-audit

Severity Levels

Level Description Action

Critical Security vulnerabilities, data loss Block merge

Error Bugs, type violations, any

Block merge

Warning Code smells, complexity Must address

Style Formatting, naming Auto-fix

Core Rules (All Languages)

Type Safety

  • No implicit any / untyped functions

  • No type assertions without guards

  • Explicit return types on public APIs

Security

  • No hardcoded secrets (use gitleaks)

  • No eval/pickle/unsafe deserialization

  • Parameterized queries only

  • SCA scanning (npm audit / pip-audit / govulncheck / cargo-audit)

Complexity

  • Max cyclomatic complexity: 10

  • Max function lines: 50

  • Max nesting depth: 3

  • Max parameters: 5

Error Handling

  • No ignored errors (Go: no _ for err)

  • No bare except (Python)

  • No unwrap in prod (Rust)

  • Wrap errors with context

Language-Specific Standards

TypeScript

See: references/typescript.md

// CRITICAL: Never use any const bad: any = data; // Error const good: unknown = data; // OK

// ERROR: No type assertions const bad = data as User; // Error const good = isUser(data) ? data : null; // OK

// ERROR: Non-null assertions const bad = user!.name; // Error const good = user?.name ?? ''; // OK

Python (PEP 8 / 3.11+)

See: references/python.md

CRITICAL: All functions must be typed

def bad(data): # Error return data

def good(data: dict[str, Any]) -> list[str]: # OK return list(data.keys())

Use modern syntax

value: str | None = None # OK (not Optional) items: list[str] = [] # OK (not List)

Go

See: references/go.md

// CRITICAL: Never ignore errors result, _ := doSomething() // Error result, err := doSomething() // OK if err != nil { return fmt.Errorf("doing something: %w", err) }

Rust

See: references/rust.md

// CRITICAL: No unwrap in production let value = data.unwrap(); // Error let value = data?; // OK let value = data.unwrap_or_default(); // OK

Cross-Language Standards

Structured Logging

See: references/logging.md

logger.info({ userId, action: 'login' }, 'User logged in'); // TS (pino)

logger.info("user_login", user_id=user_id) # Python (structlog)

log.Info().Str("user_id", userID).Msg("user logged in") // Go (zerolog)

Test Coverage

See: references/testing.md

Metric Threshold

Line coverage 80% min

Branch coverage 70% min

New code 90% min

Security Scanning

See: references/security.md

  • Secrets: gitleaks (pre-commit + CI)

  • Dependencies: npm audit / pip-audit / govulncheck / cargo-audit

  • Accessibility: jsx-a11y (TypeScript)

  • Race detection: go test -race (Go)

API Design

See: references/api-design.md

  • Proper HTTP status codes (200, 201, 204, 400, 401, 403, 404, 422, 429, 500)

  • RFC 7807 error format

  • Plural nouns for resources: /users/{id}/orders

  • Validate at API boundary

Database Patterns

See: references/database.md

  • Transactions for multi-write operations

  • N+1 prevention: eager load or batch

  • Safe migrations (expand-contract pattern)

  • Always paginate list queries

Async & Concurrency

See: references/async-concurrency.md

  • Always clean up resources (try/finally, defer, Drop)

  • Set timeouts on all async operations

  • Use semaphores for rate limiting

  • Avoid blocking in async contexts

Review Process

Step 1: Understand Context

  • Identify the language/framework

  • Understand the purpose of the code

  • Check for existing patterns in the codebase

  • Review any related tests

Step 2: Systematic Review

Use the checklist at references/checklist.md for thorough reviews covering:

  • Code quality (structure, naming, type safety, dead code)

  • Security (injection, auth, secrets, input validation)

  • Performance (N+1, memory leaks, caching, re-renders)

  • Error handling (edge cases, recovery, cleanup)

  • Testing (coverage, quality, assertions)

  • Best practices (SOLID, patterns, maintainability)

Step 3: Categorize & Report

[SEVERITY] Issue Title

  • File: path/to/file.ts:line
  • Problem: Clear description
  • Impact: What could go wrong
  • Fix: Specific code suggestion

Git Integration

Review staged changes

git --no-pager diff --cached

Review specific commit

git --no-pager show <commit>

Review PR diff

gh pr diff <number>

Review Output Format

Use severity levels from the table above (Critical / Error / Warning / Style).

Code Review Summary

Overview

  • Files reviewed: X
  • Issues found: Y (X Critical, Y Error, Z Warning)
  • Recommendation: [Approve / Request Changes / Needs Discussion]

Critical Issues

[Security vulnerabilities, data loss - must fix]

Error Issues

[Bugs, type violations - must fix]

Warnings

[Code smells, complexity - should address]

Style

[Formatting, naming - auto-fixable]

Positive Observations

[Good practices found]

Naming Conventions

Element TypeScript Python Go Rust

Variables camelCase snake_case camelCase snake_case

Functions camelCase snake_case camelCase snake_case

Constants SCREAMING_SNAKE SCREAMING_SNAKE MixedCaps SCREAMING_SNAKE

Types PascalCase PascalCase PascalCase PascalCase

Files kebab-case snake_case lowercase snake_case

AI-Friendly Patterns

  • Explicit types always

  • Single responsibility per function

  • Small functions (< 30 lines ideal)

  • Max nesting depth 3

  • Guard clauses for early returns

  • Named constants, no magic values

  • Linear, predictable execution flow

Enforcement Strategy

Progressive (Ratchet-Based)

Phase 1: Errors block, Warnings tracked Phase 2: Strict on NEW files only Phase 3: Strict on TOUCHED files Phase 4: Full enforcement

WIP vs Merge Mode

Mode Trigger Behavior

WIP Local commit Warnings only

Push git push Errors block

PR PR to main Full strict

Config Files

Available in configs/ :

  • typescript/

  • ESLint, tsconfig, Prettier

  • python/

  • pyproject.toml, pre-commit

  • go/

  • golangci.yaml

  • rust/

  • clippy.toml

  • .pre-commit-config.yaml

  • .gitleaks.toml

Scripts

Available in scripts/ :

  • check_changed.sh

  • Monorepo-aware incremental linting

  • check_all.sh

  • Full repository check

  • check_style.py

  • Python full check (ruff + pycodestyle + mypy)

  • check_pep8.sh

  • Quick PEP 8 only

  • check_types.sh

  • Python type hints only

  • fix_style.sh

  • Python auto-fix issues

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

beautiful-code

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

nextjs-senior-dev

No summary provided by upstream source.

Repository SourceNeeds Review
General

system-architect

No summary provided by upstream source.

Repository SourceNeeds Review
General

skill-creator

No summary provided by upstream source.

Repository SourceNeeds Review