thinkfleetai/thinkfleet-engine

code-quality

Measure and improve code quality: linting, complexity analysis, coverage reports, tech debt tracking, and formatting enforcement.

First seen Mar 1, 2026

Installation

$ npx skills add thinkfleetai/thinkfleet-engine --skill code-quality

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from thinkfleetai/thinkfleet-engine · top by installs.

npx skills add thinkfleetai/thinkfleet-engine

Browse all from thinkfleetai/thinkfleet-engine

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

License LICENSE
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,554 B
  • docs SUMMARY.md 149 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2 installs

SKILL.md

Code Quality

Measure, enforce, and improve code quality across languages.

Linting

JavaScript/TypeScript

# ESLint — find issues
npx eslint src/ --format json | jq '[.[] | select(.errorCount > 0 or .warningCount > 0) | {file: .filePath, errors: .errorCount, warnings: .warningCount}]'

# Auto-fix
npx eslint src/ --fix

# Specific rules only
npx eslint src/ --rule '{"no-unused-vars": "error"}'

Python

# Ruff — fast linter + formatter
ruff check src/
ruff check src/ --fix

# Type checking
mypy src/ --ignore-missing-imports

# Both together
ruff check src/ && mypy src/

Go

# golangci-lint — meta linter
golangci-lint run ./...

# With specific linters
golangci-lint run --enable gosec,govet,errcheck,staticcheck ./...

# JSON output
golangci-lint run --out-format json ./... | jq '.Issues[] | {file: .Pos.Filename, line: .Pos.Line, linter: .FromLinter, text: .Text}'

Rust

# Clippy — Rust linter
cargo clippy -- -W clippy::all

# Treat warnings as errors
cargo clippy -- -D warnings

# With suggestions
cargo clippy --fix

Formatting

# Prettier (JS/TS/CSS/JSON/MD)
npx prettier --check "src/**/*.{ts,tsx,js,jsx}"
npx prettier --write "src/**/*.{ts,tsx,js,jsx}"

# Ruff format (Python)
ruff format src/
ruff format --check src/

# gofmt (Go)
gofmt -l .
gofmt -w .

# rustfmt (Rust)
cargo fmt --check
cargo fmt

Code Coverage

# Jest (JS/TS)
npx jest --coverage --json | jq '{lines: .coverageMap | to_entries | map(.value.s | to_entries | map(.value) | {total: length, covered: map(select(. > 0)) | length}) | {total: map(.total) | add, covered: map(.covered) | add} | {pct: (100 * .covered / .total | floor)}}'

# Simpler: just run and read summary
npx jest --coverage 2>&1 | tail -10

# pytest (Python)
pytest --cov=src --cov-report=term-missing

# Go
go test -coverprofile=coverage.out ./...
go tool cover -func=coverage.out | tail -1

# Rust
cargo tarpaulin --out stdout

Complexity Metrics

# Python — cyclomatic complexity
radon cc src/ -a -s -nb

# Python — maintainability index
radon mi src/ -s -nb

# JavaScript/TypeScript — complexity via ESLint
npx eslint src/ --rule '{"complexity": ["warn", 10]}' --format json | jq '[.[] | .messages[] | select(.ruleId == "complexity") | {file: input.filePath, line: .line, message: .message}]'

Tech Debt Indicators

Look for these patterns:

# TODO/FIXME/HACK comments
grep -rn "TODO\|FIXME\|HACK\|XXX\|TEMP" src/ --include="*.ts" --include="*.py" --include="*.go" | wc -l

# List them
grep -rn "TODO\|FIXME\|HACK" src/ --include="*.ts" --include="*.py"

# Long files (>300 lines)
find src/ -name "*.ts" -o -name "*.py" | xargs wc -l | sort -rn | head -20

# Duplicate code detection (Python)
# Install: pip install pylint
pylint --disable=all --enable=duplicate-code src/

Notes

  • Run linting on changed files only in CI for speed: eslint $(git diff --name-only --diff-filter=ACMR HEAD~1 | grep -E '\.(ts|tsx|js)$').
  • Coverage percentage alone is misleading — 80% with no edge case tests is worse than 60% with thorough tests.
  • Fix linting errors incrementally. Don't dump 500 fixes into one commit.
  • Complexity > 10 is a code smell. > 20 needs refactoring.