Files
cloudflare_temp_email/.claude/skills/cf-temp-mail-release/SKILL.md
T

1.9 KiB

name, description
name description
cf-temp-mail-release Create a GitHub release for cloudflare_temp_email project. Use when the user asks to create a release, publish a version, tag a release, or make a new release. Reads CHANGELOG.md for release content, collects merged PRs via `gh` CLI, and creates a properly formatted GitHub release.

Release Workflow

Steps

  1. Read version: Get current version from worker/package.json ("version" field) and the latest release tag via gh release list --limit 1.
  2. Read CHANGELOG: Read CHANGELOG.md for the current version section (e.g. ## v1.4.0(main)). Verify content matches CHANGELOG_EN.md. If entries are missing from either file, notify the user.
  3. Collect PRs: Get the last release tag timestamp, then filter merged PRs by time:
    TAG="$(gh release list --limit 1 --json tagName --jq '.[0].tagName')"
    SINCE="$(git show -s --format=%cI "$TAG")"
    gh pr list --state merged --search "is:pr is:merged merged:>$SINCE base:main" --json number,title,author --limit 200
    
    Sort by PR number ascending.
  4. Compose release body: Follow the template in references/release-template.md. Key rules:
    • Write release body in bilingual format: Chinese sections first (from CHANGELOG.md), then wrap the English sections (from CHANGELOG_EN.md) in <details><summary>English</summary>...</details>.
    • Copy changelog sections verbatim from both files. Omit empty sections.
    • Wrap PRs list in <details><summary>PRs</summary>...</details>.
    • Always include the cache-clearing discussion link.
    • End with **Full Changelog** comparison link.
  5. Create release:
    • Write body to a temp file (e.g. /tmp/release-notes.md)
    • Run: gh release create vX.Y.Z --title "vX.Y.Z" --notes-file /tmp/release-notes.md --target main
  6. Verify: Confirm the release URL and ask the user to review.