Get the FREE Ultimate OpenClaw Setup Guide →

code-quality

npx machina-cli add skill Fujigo-Software/f5-framework-claude/code-quality --openclaw
Files (1)
SKILL.md
3.4 KB

Code Quality Skills

Overview

Code quality practices for writing clean, maintainable, and reliable code. These skills cover linting, static analysis, refactoring, naming conventions, documentation, and best practices.

Quality Metrics

MetricGoodWarningBad
Cyclomatic Complexity< 1010-20> 20
Function Length< 20 lines20-50> 50
File Length< 300 lines300-500> 500
Nesting Depth< 33-4> 4
Code Coverage> 80%60-80%< 60%
Duplicate Code< 3%3-5%> 5%
Technical Debt Ratio< 5%5-10%> 10%

Categories

Linting

Automated code style enforcement and error detection:

  • ESLint - JavaScript/TypeScript linting
  • Prettier - Code formatting
  • Stylelint - CSS/SCSS linting
  • lint-staged - Pre-commit linting

Static Analysis

Deep code analysis beyond linting:

  • TypeScript Strict Mode - Maximum type safety
  • SonarQube - Comprehensive analysis platform
  • Code Coverage - Test coverage metrics

Refactoring

Code improvement techniques:

  • Code Smells - Identifying problematic patterns
  • Refactoring Techniques - Systematic improvements
  • Extract Method - Breaking down functions
  • When to Refactor - Decision framework

Naming

Clear and consistent naming:

  • Naming Conventions - Project-wide standards
  • Variable Naming - Descriptive identifiers
  • Function Naming - Action-oriented names

Documentation

In-code documentation:

  • Code Comments - When and how to comment
  • JSDoc/TSDoc - Type documentation
  • README Standards - Project documentation

Practices

Development best practices:

  • Clean Code Principles - Foundational concepts
  • Code Review Checklist - Review guidelines
  • Technical Debt - Managing and reducing debt
  • Boy Scout Rule - Continuous improvement

Quality Gates Integration

# .f5/quality/code-quality-gate.yaml
code_quality_gate:
  name: "Code Quality Standards"
  metrics:
    lint_errors: 0
    lint_warnings: 10
    complexity_max: 15
    coverage_min: 80
    duplication_max: 3

  checks:
    - eslint --max-warnings 0
    - tsc --noEmit
    - jest --coverage --coverageThreshold='{"global":{"lines":80}}'

Tool Stack

ToolPurposeConfiguration
ESLintLintingeslint.config.js
PrettierFormatting.prettierrc
TypeScriptType checkingtsconfig.json
JestTesting/Coveragejest.config.js
HuskyGit hooks.husky/
lint-stagedPre-commitpackage.json

Quick Setup

# Install core tools
npm install -D eslint prettier typescript @typescript-eslint/parser @typescript-eslint/eslint-plugin

# Install formatting
npm install -D eslint-config-prettier eslint-plugin-prettier

# Install git hooks
npm install -D husky lint-staged
npx husky init

# Configure lint-staged
npm pkg set lint-staged='{"*.{ts,tsx}":["eslint --fix","prettier --write"]}'

Related Skills

Source

git clone https://github.com/Fujigo-Software/f5-framework-claude/blob/main/plugins/f5-core/skills/code-quality/SKILL.mdView on GitHub

Overview

Code quality skills cover linting, static analysis, refactoring, naming, documentation, and best practices to keep code clean, maintainable, and reliable. They leverage metrics and gates to enforce standards across projects.

How This Skill Works

You integrate linting (ESLint, Prettier, Stylelint) and static analysis (TypeScript strict mode, SonarQube) into your workflow, run tests to track coverage, and apply refactoring techniques like Extract Method when needed. Quality gates enforce minimum standards (e.g., 0 lint errors, 80% coverage, max complexity) before merging.

When to Use It

  • Kick off a new project and establish coding standards.
  • Enforce consistency in a legacy codebase with linting and refactoring.
  • Guard PRs with CI gates requiring zero lint errors and minimum coverage.
  • Reduce code smells by applying refactoring techniques and extracting methods.
  • Improve documentation and naming consistency across modules.

Quick Start

  1. Step 1: Install core tools: npm install -D eslint prettier typescript @typescript-eslint/parser @typescript-eslint/eslint-plugin
  2. Step 2: Install formatting: npm install -D eslint-config-prettier eslint-plugin-prettier
  3. Step 3: Install git hooks and configure lint-staged (keep it simple: install Husky and lint-staged, then wire pre-commit to run linting)

Best Practices

  • Enable ESLint, Prettier, Stylelint and fix all lint errors.
  • Set and monitor quality gates: lint errors 0, coverage 80%+, complexity < 15, duplication < 3%.
  • Apply refactoring techniques (e.g., Extract Method) to reduce complexity and improve readability.
  • Maintain clear naming conventions for variables, functions, and modules.
  • Document code with JSDoc/TSDoc and uphold README standards.

Example Use Cases

  • Add ESLint and Prettier configs to a TypeScript project and fix issues.
  • Introduce lint-staged and Husky for pre-commit linting.
  • Configure CI to fail on lint errors and insufficient test coverage.
  • Refactor a lengthy function by extracting logical blocks into smaller methods.
  • Annotate APIs with JSDoc/TSDoc and standardize project README documentation.

Frequently Asked Questions

Add this skill to your agents

Related Skills

Sponsor this space

Reach thousands of developers