
code-quality
by Shakes-tzd
HTML is All You Need - A lightweight graph database using HTML files as nodes, hyperlinks as edges, and CSS selectors as queries
SKILL.md
name: code-quality description: Code hygiene, quality gates, and pre-commit workflows. Use for linting, type checking, testing, and fixing errors.
Code Quality Skill
Use this skill for code hygiene, quality gates, and pre-commit workflows.
Trigger keywords: code quality, lint, mypy, ruff, pytest, pre-commit, type checking, clean code, fix errors
Quick Workflow
# Before EVERY commit:
uv run ruff check --fix # Lint + autofix
uv run ruff format # Format code
uv run mypy src/ # Type checking
uv run pytest # Run tests
# Only commit when ALL checks pass
git commit -m "..."
Philosophy
CRITICAL: Fix ALL errors with every commit, regardless of when introduced.
- Errors compound over time
- Pre-existing errors are YOUR responsibility when touching related code
- Clean as you go - leave code better than you found it
- Every commit should reduce technical debt, not accumulate it
Quality Gates
The deployment script (deploy-all.sh) blocks on:
- Mypy type errors
- Ruff lint errors
- Test failures
This is intentional - maintain quality gates.
Tools Reference
Ruff (Linting + Formatting)
# Check for issues
uv run ruff check
# Check and auto-fix
uv run ruff check --fix
# Format code
uv run ruff format
# Check specific files
uv run ruff check src/htmlgraph/models.py
Mypy (Type Checking)
# Check all source
uv run mypy src/
# Check specific module
uv run mypy src/htmlgraph/sdk.py
# Ignore missing imports
uv run mypy src/ --ignore-missing-imports
Pytest (Testing)
# Run all tests
uv run pytest
# Verbose output
uv run pytest -v
# Run specific test file
uv run pytest tests/test_sdk.py
# Run specific test
uv run pytest tests/test_sdk.py::test_feature_create
Common Fix Patterns
Type Errors
# Before (type error)
def get_user(id):
return db.query(id)
# After (typed)
def get_user(id: str) -> User | None:
return db.query(id)
Lint Errors
# Before (unused import)
import os
import sys
x = 1
# After (clean)
x = 1
Format Issues
# Auto-fix all formatting
uv run ruff format
Integration with HtmlGraph
Track quality improvements:
from htmlgraph import SDK
sdk = SDK(agent='code-quality')
spike = sdk.spikes.create('Fix mypy errors in models.py') \
.set_findings("""
Fixed 3 type errors:
- Added return type to get_user()
- Fixed Optional annotation on config
- Added type hints to utility functions
""") \
.save()
Remember: Fixing errors immediately is faster than letting them accumulate.
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です