@tonyday567/haskell-agent
BHaskell release protocol, development conventions, and deep patterns for the ~/haskell/ ecosystem
Install
agr install @tonyday567/haskell-agent --target claudeWrites 4 files into .claude/skills/, pinned to git-e7e06daa.
- .claude/skills/haskell-agent/.gitignore
- .claude/skills/haskell-agent/README.md
- .claude/skills/haskell-agent/SKILL.md
- .claude/skills/haskell-agent/protocol.md
Document
name: haskell-agent description: Haskell release protocol, development conventions, and deep patterns for the ~/haskell/ ecosystem
haskell-agent
The canonical Haskell protocol — release checklist, house style, dependency management, and structural patterns from ~37 packages in ~/haskell/.
Load this skill when working on any Haskell package under ~/haskell/ — especially during release prep, new project setup, or when conventions questions arise.
Source
- Local:
~/other/haskell-agent/protocol.md - GitHub:
https://github.com/tonyday567/haskell-agent - Symlink:
~/mg/buff/haskell-protocol.md→ the above
When to load
- Starting a new Haskell project
- Preparing a release (the full 8-phase checklist)
- Resolving dependency issues (allow-newer, bound rot)
- Checking conventions (import style, export lists, module structure)
- Benchmarking compiled Haskell (perf pattern)
- Working with dual representations (Circuit/Hyper, run vs reify)
- Setting up CI for a Haskell package
Protocol sections
- Quick Start — ghcup, cabal init, tooling install
- Conventions — imports, exports, module structure, doctests
- House Style — emergent patterns from ~37 packages (bool over if, import aliases, Category-based architecture, etc.)
- Build Performance — cabal build as #1 wait-point
- Core Library Recipes — per-library cards as tested recipes
- Release Protocol — 8 gated phases: Environment → Init → Dependencies → Code Quality → Docs/Testing → Release Prep → Verification → Publishing
- Markdown Cards — design docs with repl-verifiable code blocks
- Deep Patterns — dual representations, tensor awareness, Either convention, perf pattern
- Dev Toolkit — typed holes, HLS typecheck, module type check
- Default Files — .hlint.yaml, .ghci, .gitignore, CI template
Key references within protocol
- allow-newer — canonical minimal block is
tdigest:base; ghost pins table; internal bound rot; rationalization workflow - harpie replaces numhask-array — bump bounds accordingly
- Either convention —
Left= feedback (continue),Right= exit; fixed byTraceclass - Perf pattern — compile don't interpret, tight loops, percentiles not averages, NOINLINE on entry points
- Dual representations —
runfor Hyper,reifyfor Circuit; not interchangeable
Companion files
~/self/buff/haskell-survey.md— haskell-survey: full idiom mining, hardening log, ~37 library surveys~/self/buff/haskell-allow-newer.md— upstream blocker tracking, repo-by-repo status~/haskell/circuits/SKILL.md— circuits-specific agent field guide~/haskell/circuits-meter/SKILL.md— perf benchmarking conventions
Trustgrade B
- passBody integrity
Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.
- passType matchnot applicable to this artifact type
Whether the artifact is really the kind of thing its metadata claims it is.
- passFreshness
How long since the source repository was last pushed to.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- warnLicenseno SPDX license detected
Whether the source repository declares an SPDX license permissive enough to redistribute.
How the grade is calculated
Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:
- Aevery check passed
- Bone warning
- Ctwo warnings
- Dprompt injection or body integrity failed, or three warnings
- Fone of those failed, and something else is wrong
These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.
Versions
git-e7e06daa867b2026-07-31