haskelllisted
Install: claude install-skill ivelten/claude-haskell-skills
# Haskell Development (Entry Point)
Orientation skill for any Haskell work. The opinionated stack and conventions are partitioned across focused sub-skills; this is the map that tells you which to load when. Don't try to recall sub-skill content from this map — invoke them on demand via the Skill tool.
## Sub-skill map
| Sub-skill | Invoke when working on |
|---|---|
| `haskell-devcontainer` | Detecting or setting up the pre-built devcontainer (`ivelten/haskell-devcontainer`), `.devcontainer/` files, VS Code extensions, direnv inside the container |
| `haskell-toolchain-mise` | Provisioning the toolchain natively on the host: `mise.toml` pins, GHC/HLS via GHCup, HLS↔GHC compatibility, PATH and shims, `.envrc` with `use mise` |
| `haskell-project-setup` | Bootstrapping a repo: `.cabal`/`cabal.project`, project layout, language extensions, Hoogle, fast-tags, direnv |
| `haskell-type-design` | Modeling domain types, newtypes, sum types, "parse don't validate", phantom types, records, field naming |
| `haskell-domain-errors` | Designing error ADTs, `Show`/`ToJSON`/`Exception` instances, choosing `Either` vs `Error` effect vs `throwIO` |
| `haskell-effectful` | Application architecture, defining effects, writing interpreters (production + in-memory), composition in `main` |
| `haskell-database` | PostgreSQL modeling with Rel8, type-mapping decisions (composite vs jsonb vs enum), HKD table definitions, queries, migrations |
| `haskell-json` | Aeson `ToJSON`/`FromJSON`: `TaggedOb