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.md
source content

Hackage Upload

Instructions

When the user asks to publish or upload to Hackage:

  1. Get the current version from

    claude.cabal
    :

    grep "^version:" claude.cabal
    
  2. Create the source distribution:

    cabal sdist
    
  3. 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
    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.