Upload Haskell packages to Hackage. Use when the user asks to publish, release, or upload to Hackage.
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: hackage-upload
description: Upload Haskell packages to Hackage. Use when the user asks to publish, release, or upload to Hackage.
---
# Hackage Upload
## Instructions
When the user asks to publish or upload to Hackage:
1. **Get the current version** from `claude.cabal`:
```bash
grep "^version:" claude.cabal
```
2. **Create the source distribution**:
```bash
cabal sdist
```
3. **Upload to Hackage** (replace X.Y.Z with actual version):
```bash
cabal upload --publish dist-newstyle/sdist/claude-X.Y.Z.tar.gz
```
## Pre-release checklist
Before uploading, ensure:
- Version in `claude.cabal` has been bumped
- `CHANGELOG.md` has an entry for this version
- All tests pass (`cabal test`)
- Code compiles without warnings (`cabal build`)
## Notes
- The `--publish` flag publishes immediately. Without it, the package is uploaded as a candidate.
- You must have Hackage credentials configured (typically in `~/.cabal/config`).
- First-time uploads of a package require manual approval on Hackage.
No comments yet. Be the first to comment!