haskell-pro

$npx mdskill add benjaminasterA/antigravity-awesome-skills/haskell-pro

Provides expert Haskell guidance for type-level programming and pure functional design.

  • Solves complex type-level programming and high-assurance system design challenges.
  • Depends on GHC, Cabal/Stack, and libraries like Aeson, Megaparsec, STM.
  • Decides based on advanced type system features, pure functional principles, and best practices.
  • Delivers actionable steps, code examples, and architecture guidance via structured responses.

SKILL.md

.github/skills/haskell-proView on GitHub ↗
---
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.
metadata:
  model: sonnet
risk: unknown
source: community
---

## Use this skill when

- Working on haskell pro tasks or workflows
- Needing guidance, best practices, or checklists for haskell pro

## Do not use this skill when

- The task is unrelated to haskell pro
- You need a different domain or tool outside this scope

## Instructions

- Clarify goals, constraints, and required inputs.
- Apply relevant best practices and validate outcomes.
- Provide actionable steps and verification.
- If detailed examples are required, open `resources/implementation-playbook.md`.

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.

More from benjaminasterA/antigravity-awesome-skills

SkillDescription
2d-games2D game development principles. Sprites, tilemaps, physics, camera.
3d-games3D game development principles. Rendering, shaders, physics, cameras.
3d-web-experienceExpert in building 3D experiences for the web - Three.js, React Three Fiber, Spline, WebGL, and interactive 3D scenes. Covers product configurators, 3D portfolios, immersive websites, and bringing ...
accessibility-compliance-accessibility-auditYou are an accessibility expert specializing in WCAG compliance, inclusive design, and assistive technology compatibility. Conduct audits, identify barriers, and provide remediation guidance.
active-directory-attacksThis skill should be used when the user asks to \"attack Active Directory\", \"exploit AD\", \"Kerberoasting\", \"DCSync\", \"pass-the-hash\", \"BloodHound enumeration\", \"Golden Ticket\", ...
activecampaign-automationAutomate ActiveCampaign tasks via Rube MCP (Composio): manage contacts, tags, list subscriptions, automation enrollment, and tasks. Always search tools first for current schemas.
address-github-commentsUse when you need to address review or issue comments on an open GitHub Pull Request using the gh CLI.
agent-framework-azure-ai-pyBuild Azure AI Foundry agents using the Microsoft Agent Framework Python SDK (agent-framework-azure-ai). Use when creating persistent agents with AzureAIAgentsProvider, using hosted tools (code int...
agent-manager-skillManage multiple local CLI agents via tmux sessions (start/stop/monitor/assign) with cron-friendly scheduling.
agent-memory-mcpA hybrid memory system that provides persistent, searchable knowledge management for AI agents (Architecture, Patterns, Decisions).