スキル一覧に戻る
Shakes-tzd

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

2🍴 1📅 2026年1月16日
GitHubで見るManusで実行

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.

スコア

総合スコア

60/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です