About rhdh-release-announce
A skill for drafting RHDH release-freeze announcements from CLI-provided counts. It distinguishes milestone and update messages and leaves posting to the human sender.
Key features
- 01Drafts one of four freeze announcements
- 02Distinguishes milestones from updates
- 03Adds URL-encoded Jira search links
- 04Flags unavailable counts as missing
Use cases
- 01Prepare a milestone freeze announcement
- 02Draft a freeze update for Slack
- 03Review missing release counts before sending
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ redhat-developer/ rhdh-skills --skill rhdh-release-announceAfter installing, type/rhdh-release-announcein Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
agents/openai.yamlscripts/_jira.py_support.pyjql-release.mdjql.pyrelease.pyrich_filter.pyslack_templates.pyslack-templates.mdworkflows/freeze-announcement.mdDetails
From the project READMERHDH freeze announcements
Produce a Slack message a human posts under their own name. The counts come from the CLI; the voice must not sound machine-written.
Delivery boundary
Never post to Slack. This skill hands the user a message to copy; the user decides whether, when, and where it goes out.
Route
Load workflows/freeze-announcement.md. It maps the four announcements to their
CLI tokens and carries the milestone-versus-update distinction, which is the
thing people get wrong.
Boundary with the neighbouring skills
- The date a freeze falls on is
/rhdh-release-schedule. - The underlying counts, on their own and without a message around them, are
/rhdh-release-status. - The team roster and Slack handles are
/rhdh-release-teams. - Rich Filter configuration lives in
/rhdh-release-status. When the CLI reports a template unavailable, runuv run scripts/release.py --json check, follow itsnext_steps, and retry. Never substitute a hand-written query for a Rich Filter scope.
Completion
Complete when the message is the edited draft, wrapped in a triple-backtick block ready to paste, with every placeholder filled and every count carrying a URL-encoded Jira search link. State which of the four announcements was drafted and whether it is the milestone or the update, so the sender knows what day it belongs to. A figure the CLI could not produce is named as missing in the note beside the draft rather than left as a placeholder or filled with a plausible number. Say explicitly that nothing was posted.