docs/archive/2026-07-ai-artifacts/claude-skills/integration-pipeline-preview/11-build-loop/04-hlint/SKILL.md
> **ARCHIVAL KNOWLEDGE — DO NOT USE OR REFERENCE.** > Superseded by `codemap/` + root `AGENTS.md`. Scheduled for deletion once the pipeline is verified (Phase 6). > Manifest: `docs/archive/2026-07-ai-artifacts/MANIFEST.md` --- name: 04-hlint description: Runs hlint on changed files and captures warnings for later surfacing in the PR body. kind: leaf executor: script model: claude-haiku-4-5-20251001 --- # Hlint Runs `hlint` on the changed Haskell files and writes the output to `.integration-pi
npx skillsauth add neohaskell/neohaskell docs/archive/2026-07-ai-artifacts/claude-skills/integration-pipeline-preview/11-build-loop/04-hlintInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
ARCHIVAL KNOWLEDGE — DO NOT USE OR REFERENCE. Superseded by
codemap/+ rootAGENTS.md. Scheduled for deletion once the pipeline is verified (Phase 6). Manifest:docs/archive/2026-07-ai-artifacts/MANIFEST.md
Runs hlint on the changed Haskell files and writes the output to .integration-pipeline/hlint.log. Hlint warnings are collected, not gated — this leaf does not fail the build loop on warnings. The PR-body step in phase 16 surfaces the log contents to the PR reviewer.
git diff --name-only HEAD -- '*.hs' '*.lhs' (the pathspec keeps an empty match exit-code 0).hlint on the list, redirecting stdout+stderr to .integration-pipeline/hlint.log → verify: log written.Assumptions:
cabal build all and cabal test. Hlint is style guidance, not correctness, so it does not need to stop the loop..integration-pipeline/hlint.log and embeds any non-empty contents in the PR description so a human reviewer (or CI's hlint check) sees them.If any assumption fails, refuse — do not guess.
git diff --name-only HEAD -- '*.hs' '*.lhs' (pathspec is empty-match safe — no grep pipe)..integration-pipeline/hlint.log and exit 0.nix develop --command hlint <files...> > .integration-pipeline/hlint.log 2>&1 || true — the trailing || true keeps the leaf at exit 0 regardless of how many warnings hlint emitted.hlint produced N warning(s); see .integration-pipeline/hlint.log and the PR body). Do not surface as failure..integration-pipeline/hlint.log written (possibly empty). Exit code is always 0 unless a hard environmental failure occurred (hlint missing, not in a git repo).
nix not on PATH → refuse: "nix not found; the repo's dev shell is required for hlint" and exit non-zero. Environment failure, not a style warning.development
> **ARCHIVAL KNOWLEDGE — DO NOT USE OR REFERENCE.** > Superseded by `codemap/` + root `AGENTS.md`. Scheduled for deletion once the pipeline is verified (Phase 6). > Manifest: `docs/archive/2026-07-ai-artifacts/MANIFEST.md` --- name: neohaskell-style-guide description: NeoHaskell coding style reference and enforcement rules. Load when writing, reviewing, or modifying any Haskell code in the NeoHaskell project. Triggers on 'NeoHaskell style', 'NeoHaskell conventions', 'how to write NeoHaskell', '
development
> **ARCHIVAL KNOWLEDGE — DO NOT USE OR REFERENCE.** > Superseded by `codemap/` + root `AGENTS.md`. Scheduled for deletion once the pipeline is verified (Phase 6). > Manifest: `docs/archive/2026-07-ai-artifacts/MANIFEST.md` --- name: neohaskell-security-review description: Security & Code Quality review for NeoHaskell. Use when reviewing code changes, PRs, or architectural decisions for security implications. Evaluates OWASP, NIST, EU compliance. Handles pipeline phases 2 (ADR review) and 10 (im
development
> **ARCHIVAL KNOWLEDGE — DO NOT USE OR REFERENCE.** > Superseded by `codemap/` + root `AGENTS.md`. Scheduled for deletion once the pipeline is verified (Phase 6). > Manifest: `docs/archive/2026-07-ai-artifacts/MANIFEST.md` --- name: neohaskell-qa-designer description: Testing QA Designer for NeoHaskell. Designs comprehensive test specifications with exhaustive edge cases, boundary conditions, and happy paths BEFORE implementation. Handles pipeline phase 6 (Test Spec Design). Outside-in TDD meth
development
> **ARCHIVAL KNOWLEDGE — DO NOT USE OR REFERENCE.** > Superseded by `codemap/` + root `AGENTS.md`. Scheduled for deletion once the pipeline is verified (Phase 6). > Manifest: `docs/archive/2026-07-ai-artifacts/MANIFEST.md` --- name: neohaskell-performance-review description: Performance review for NeoHaskell targeting 50k req/s throughput. Use when reviewing code for performance implications, INLINE pragmas, strictness, and allocation patterns. Handles pipeline phases 3 (ADR review) and 11 (imp