From htmlgraph
Code hygiene, quality gates, and pre-commit workflows. Use for linting, type checking, testing, and fixing errors.
npx claudepluginhub shakestzd/htmlgraphThis skill uses the workspace's default tool permissions.
Use this skill for code hygiene, quality gates, and pre-commit workflows.
Provides Ktor server patterns for routing DSL, plugins (auth, CORS, serialization), Koin DI, WebSockets, services, and testApplication testing.
Conducts multi-source web research with firecrawl and exa MCPs: searches, scrapes pages, synthesizes cited reports. For deep dives, competitive analysis, tech evaluations, or due diligence.
Provides demand forecasting, safety stock optimization, replenishment planning, and promotional lift estimation for multi-location retailers managing 300-800 SKUs.
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
# 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 "..."
Before implementing anything new:
pyproject.toml for what is already available as a dependencysrc/python/htmlgraph/utils/ for shared utilities before duplicating logicCRITICAL: Fix ALL errors with every commit, regardless of when introduced.
The deployment script (deploy-all.sh) blocks on:
This is intentional - maintain quality gates.
# 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
# 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
# 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
# Before (type error)
def get_user(id):
return db.query(id)
# After (typed)
def get_user(id: str) -> User | None:
return db.query(id)
# Before (unused import)
import os
import sys
x = 1
# After (clean)
x = 1
# Auto-fix all formatting
uv run ruff format
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.