From htmlgraph
Code hygiene, quality gates, and pre-commit workflows. Use for linting, type checking, testing, and fixing errors. Works for Go, JavaScript/TypeScript, Python, Rust, and any other language.
npx claudepluginhub shakestzd/htmlgraph --plugin 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, type checking, pre-commit, build, fix errors, quality gate
Quality gate runs should be attributed. Before fixing errors:
htmlgraph statushtmlgraph bug create "Fix: description" --track <trk-id> then htmlgraph bug start <id>htmlgraph help for available commandsEvery project enforces the same three-phase pattern. Only commit when all three pass.
Check for a project manifest in the repository root:
| File | Language/Runtime |
|---|---|
go.mod | Go |
package.json | JavaScript / TypeScript (Node) |
pyproject.toml or requirements.txt | Python |
Cargo.toml | Rust |
pom.xml or build.gradle | Java / JVM |
Multiple manifests may coexist (e.g., a Go backend with a package.json frontend) — run quality gates for each.
go.mod)go build ./... # BUILD — type checking + compilation
go vet ./... # LINT — static analysis
go test ./... # TEST — run test suite
package.json)npm run build # BUILD — or tsc --noEmit for type-check only
npm run lint # LINT — eslint, biome, or equivalent
npm test # TEST — jest, vitest, mocha, etc.
pyproject.toml / requirements.txt)uv run python -m py_compile **/*.py # BUILD — syntax check
uv run ruff check . # LINT — or flake8, pylint
uv run pytest # TEST
Cargo.toml)cargo build # BUILD
cargo clippy # LINT
cargo test # TEST
pom.xml)mvn compile # BUILD
mvn checkstyle:check # LINT
mvn test # TEST
Before implementing anything new:
go.mod, package.json, pyproject.toml, etc.) for already-available dependenciesinternal/, lib/, src/utils/) before duplicating logicCRITICAL: Fix ALL errors with every commit, regardless of when introduced.
Deployment scripts and CI pipelines block on failing quality gates. This is intentional — maintain quality gates regardless of time pressure.
Typical blockers:
Narrow the type, remove the ambiguity:
// Go: tighten interface{} to concrete type
func GetUser(id string) *User { ... }
// TypeScript: add explicit type annotation
function getUser(id: string): User { ... }
Remove unused imports, fix shadowed variables, resolve flagged patterns. Most linters print the file and line — fix each location directly.
# Go: gofmt fixes formatting automatically
gofmt -w .
# JS/TS: many linters have --fix
eslint --fix .
# Python: ruff can auto-fix
uv run ruff check --fix .
Track quality improvements in active work items (features, bugs) using htmlgraph feature edit <id> or htmlgraph bug edit <id>.
Remember: Fixing errors immediately is faster than letting them accumulate.