Claude-skill-registry hackage-upload
Upload Haskell packages to Hackage. Use when the user asks to publish, release, or upload to Hackage.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/hackage-upload" ~/.claude/skills/majiayu000-claude-skill-registry-hackage-upload && rm -rf "$T"
manifest:
skills/data/hackage-upload/SKILL.mdsource content
Hackage Upload
Instructions
When the user asks to publish or upload to Hackage:
-
Get the current version from
:claude.cabalgrep "^version:" claude.cabal -
Create the source distribution:
cabal sdist -
Upload to Hackage (replace X.Y.Z with actual version):
cabal upload --publish dist-newstyle/sdist/claude-X.Y.Z.tar.gz
Pre-release checklist
Before uploading, ensure:
- Version in
has been bumpedclaude.cabal
has an entry for this versionCHANGELOG.md- All tests pass (
)cabal test - Code compiles without warnings (
)cabal build
Notes
- The
flag publishes immediately. Without it, the package is uploaded as a candidate.--publish - You must have Hackage credentials configured (typically in
).~/.cabal/config - First-time uploads of a package require manual approval on Hackage.