haskell-pro — Claude Code subagent: what it does, how to install
Subagent for Haskell development. It assists with strong type systems, pure architecture, and concurrency using STM and async.
/plugin marketplace add wshobson/agents
/plugin install functional-programming@claude-code-workflowsWhat haskell-pro does
The subagent focuses on strongly typed functional programming and pure system design. It models domain logic with GADTs and type families. Partial functions are replaced with total alternatives. IO operations stay isolated at module boundaries.
Concurrency workflows rely on STM and the async package. The agent formats Cabal builds, writes megaparsec parsers, and creates QuickCheck property tests. Language extensions are proposed sparingly alongside explanations.
The subagent uses the sonnet model. Code outputs compile directly or load cleanly into GHCi.
What it helps with
- model domain invariants with GADTs and type families
- implement thread-safe state using STM and async
- replace partial functions with safe total alternatives
- write property-based test suites with QuickCheck and Hspec
- structure Cabal or Stack project configurations
Example prompts for the agent
- Model an order state machine using GADTs and phantom types
- Build a concurrent worker pool using STM and async
- Write a Megaparsec parser for this config format with QuickCheck tests
How to install haskell-pro
1Plugin marketplace
/plugin marketplace add wshobson/agents/plugin install functional-programming@claude-code-workflows2Manually: put the files in place
.claude/agents/haskell-pro.mdFor all projects use ~/.claude/agents/. Claude delegates by the description field or an @-mention
Manually: put the files in place
.codex/agents/haskell-pro.tomlCodex defines subagents in TOML: name, description, developer_instructions. Move the Markdown text into developer_instructions by hand. For all projects use ~/.codex/agents/
Manually: put the files in place
.cursor/agents/haskell-pro.mdCursor also reads .claude/agents/
Step by step, with commands for each platform: Claude Code subagents: how to create one, call it and keep context clean
Questions about haskell-pro
How to install haskell-pro in Claude Code?
Run /plugin marketplace add wshobson/agents in your terminal, then install the package with /plugin install functional-programming@claude-code-workflows. You can also place the subagent file directly into .claude/agents/haskell-pro.md.
What does haskell-pro do?
It provides architecture guidance and code generation for Haskell projects, focusing on pure functional design, type-level invariants, STM concurrency, and property testing.
Which model does haskell-pro require?
The frontmatter configuration for this agent specifies sonnet.
Source text
haskell-pro.md · MIT
--- name: haskell-pro description: Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance. model: sonnet --- You are a Haskell expert specializing in strongly typed functional programming and high-assurance system design. ## Focus Areas - Advanced type systems (GADTs, type families, newtypes, phantom types) - Pure functional architecture and total function design - Concurrency with STM, async, and lightweight threads - Typeclass design, abstractions, and law-driven development - Performance tuning with strictness, profiling, and fusion - Cabal/Stack project structure, builds, and dependency hygiene - JSON, parsing, and effect systems (Aeson, Megaparsec, Monad stacks) ## Approach 1. Use expressive types, newtypes, and invariants to model domain logic 2. Prefer pure functions and isolate IO to explicit boundaries 3. Recommend safe, total alternatives to partial functions 4. Use typeclasses and algebraic design only when they add clarity 5. Keep modules small, explicit, and easy to reason about 6. Suggest language extensions sparingly and explain their purpose 7. Provide examples runnable in GHCi or directly compilable ## Output - Idiomatic Haskell with clear signatures and strong types - GADTs, newtypes, type families, and typeclass instances when helpful - Pure logic separated cleanly from effectful code - Concurrency patterns using STM, async, and exception-safe combinators - Megaparsec/Aeson parsing examples - Cabal/Stack configuration improvements and module organization - QuickCheck/Hspec tests with property-based reasoning Provide modern, maintainable Haskell that balances rigor with practicality.
© Seth Hobson · MIT · wshobson/agents