Red Hat Developer logo

Skill

rhdh-release

coordinate RHDH release cycles

Covers Operations Compliance Reporting Project Management

Description

Manages RHDH releases — dates, status tracking, team coordination, freeze announcements, blocker bugs, CVEs, and release notes. Trigger on "release dates", "release status", "feature freeze", "code freeze", "blocker bugs", "CVEs", "release notes", "team breakdown", or any RHDH release management question.

SKILL.md

<essential_principles>

Use `"Team[Team]" = "{{CLOUD_ID}}"` in JQL to filter by team. Cloud IDs are sourced from the Rich Filter JSON ("Scrum Team" smart filter) when available, or from the RHDH Team Mapping spreadsheet (column "Cloud ID") as fallback. Use the `open_issues_by_team`, `feature_freeze_issues_by_team`, or `code_freeze_issues_by_team` JQL templates. This is fast and does not require `parse_issues.py --enrich`. Include Jira search links for traceability in all outputs. Build links by URL-encoding the JQL: `https://issues.redhat.com/issues/?jql=`. Always wrap Slack messages in triple-backtick code blocks (` ```slack `) for easy copy-paste. Tell the user they can copy-paste this directly into Slack. When analyzing release health, check these risk indicators: 1. Blocker bugs near freeze dates — query with `priority = Blocker` 2. High open issue count per team — use team breakdown to identify overloaded teams 3. Missing release notes — query issues with empty Release Note Type 4. Critical CVEs — query vulnerabilities with CVE in summary 5. EPICs not in Dev Complete — check epic status

Always provide: specific issue counts with Jira links, team-level breakdown if applicable, actionable recommendations (retriage, escalate, extend timeline), and impact assessment.

For team coordination: 1. Retrieve team info from Google Sheets to get leads and Slack handles 2. Include team leads' Slack handles in all team communications 3. Provide Jira links scoped to each team's issues 4. Highlight teams at risk (high open counts, blockers) 5. Suggest follow-up actions per team Never read `.jira-token` into context. Always use shell substitution: `"$(cat "$TOKEN_FILE")"`. Use the configured Rich Filter export for its base operational scope, freeze filters, release-note queues, Scrum Team IDs, demo/Test Day labels, and ad hoc exported queries. Run `python scripts/release.py --json check` before release workflows; do not replace a missing required Rich Filter entry with copied JQL.

</essential_principles>

RHDH Release Management

What would you like to do?

Release Information

  1. Release dates — Current release dates and key milestones
  2. Future release dates — Upcoming release dates from schedule spreadsheet
  3. Release status — Active release status by issue type
  4. Teams — Teams and leads directory

Release Tracking

  1. Team breakdown — Issues by engineering team for a release
  2. Blocker bugs — Open blocker bugs for a release
  3. EPICs — Engineering EPICs not yet complete
  4. CVEs — CVE/vulnerability list for a release
  5. Release notes — Release-note lifecycle (unclassified, proposed, done, with text)

Announcements

  1. Feature Freeze update — Generate Feature Freeze status update for Slack
  2. Feature Freeze announcement — Generate Feature Freeze milestone announcement
  3. Code Freeze update — Generate Code Freeze status update for Slack
  4. Code Freeze announcement — Generate Code Freeze milestone announcement

Rich Filter Operations

  1. Post Code Freeze — Issues requiring attention after Code Freeze
  2. Rich Filter catalog/query — Inspect or run any exported filter, queue, time series, or custom-ratio query

Wait for response before proceeding.

Preferred: Run the release CLI first (python scripts/release.py --json <command>). If the CLI fails, fall back to the workflow's manual steps.

ResponseCLI CommandWorkflow (fallback)
1, "release dates", "key dates", "freeze dates", "milestone dates"python scripts/release.py --json datesworkflows/release-dates.md
2, "future releases", "upcoming releases", "release roadmap", "future dates"python scripts/release.py --json future-dates VERSIONworkflows/future-release-dates.md
3, "release status", "active releases", "release health", "release overview"python scripts/release.py --json status VERSIONworkflows/release-status.md
4, "teams", "team leads", "team list", "team contacts", "team directory"python scripts/release.py --json teamsworkflows/teams-and-leads.md
5, "team breakdown", "issues by team", "team workload", "team counts"python scripts/release.py --json team-breakdown VERSIONworkflows/issues-by-team.md
6, "blocker bugs", "blockers", "critical issues", "blocking issues"python scripts/release.py --json blockers VERSIONworkflows/blocker-bugs.md
7, "epics", "engineering epics", "open epics", "active epics"python scripts/release.py --json epics VERSIONworkflows/engineering-epics.md
8, "cves", "vulnerabilities", "security issues", "security bugs"python scripts/release.py --json cves VERSIONworkflows/cves.md
9, "release notes", "missing release notes", "release note gaps"python scripts/release.py --json notes VERSIONworkflows/release-notes.md
10, "feature freeze update", "feature freeze status", "feature freeze progress"python scripts/release.py --json slack feature-freeze-update VERSIONworkflows/announce-feature-freeze-update.md
11, "feature freeze announcement", "announce feature freeze", "feature freeze reached"python scripts/release.py --json slack feature-freeze VERSIONworkflows/announce-feature-freeze.md
12, "code freeze update", "code freeze status", "code freeze progress"python scripts/release.py --json slack code-freeze-update VERSIONworkflows/announce-code-freeze-update.md
13, "code freeze announcement", "announce code freeze", "code freeze reached"python scripts/release.py --json slack code-freeze VERSIONworkflows/announce-code-freeze.md
14, "post code freeze", "post-freeze", "after code freeze"python scripts/release.py --json post-freeze VERSIONworkflows/post-code-freeze.md
15, "rich filter", "filter catalog", "smart filter", "rich queue"python scripts/release.py --json rich-filter inventoryworkflows/rich-filter-catalog.md

<reference_index>

ReferencePurposeLoad when
references/jql-release.md20 release-specific templates (9 inline + 11 Rich Filter)Any Jira query for release data
references/rich-filter-coverage.mdExport coverage, mappings, and intentional exclusionsAuditing or extending Rich Filter integration
references/slack-templates.md4 Slack announcement templatesGenerating freeze announcements
references/config.mdGDrive IDs, project keys, dashboards, Rich Filter config, gog setupLooking up config values or links
gog docs cat 13OkypJ3u_7Jq6kEhKhjEFwHQ12oPFDKXVzFjYW4XLdkRelease process (live Google Doc)Release process questions, onboarding
../../rhdh-jira/references/auth.mdJira auth setupJira prerequisite fails
../../rhdh-jira/references/acli-commands.mdacli command referenceBuilding acli commands
../../rhdh/references/private-data.mdPrivate data repo setup (Rich Filter JSON)Rich Filter not found or setup questions

</reference_index>

Run before any workflow:

RequirementCheckFix
Jira CLIacli jira workitem search --jql "project=RHIDP" --count succeedsLoad ../../rhdh-jira/SKILL.md Prerequisites
gog CLI (for Google Sheets/Docs)gog sheets metadata 1vQXfvID72qwqvLb17eyGOvnZXrZG7NBzTGv6RP9wvyM --json succeedsInstall gog and run gog auth add <email>

© 2026 YourAI.tools. Every skill from an identity-verified publisher.

Independent catalog. Not affiliated with, endorsed by, or sponsored by Anthropic or any listed publisher. All trademarks belong to their respective owners.