AgentSkillsCN

hackage-upload

将 Haskell 软件包上传至 Hackage。当用户提出“发布”“上线”或“上传至 Hackage”的请求时,可使用此技能。

SKILL.md
--- frontmatter
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.