$npx -y skills add redhat-developer/rhdh-skill --skill rhdhHandles all RHDH-related work — "RHDH", "Red Hat Developer Hub", or "Developer Hub". Primary entry point for plugin development, overlay management, environment setup, repo navigation, version compatibility, CI/CD, configuration, debugging, and general RHDH ecosystem knowledge. R
| 1 | <cli_setup> |
| 2 | **Locate and set the CLI variable:** |
| 3 | |
| 4 | The CLI script is at `scripts/rhdh` **relative to this SKILL.md file** (not the working directory). |
| 5 | |
| 6 | When you read this file, note its path and derive the script location: |
| 7 | |
| 8 | - If SKILL.md is at `/path/to/skills/rhdh/SKILL.md` |
| 9 | - Then the CLI is at `/path/to/skills/rhdh/scripts/rhdh` |
| 10 | |
| 11 | ```bash |
| 12 | RHDH="/path/to/skills/rhdh/scripts/rhdh" # Use the actual path |
| 13 | ``` |
| 14 | |
| 15 | **Get oriented (run first):** |
| 16 | |
| 17 | ```bash |
| 18 | $RHDH |
| 19 | ``` |
| 20 | |
| 21 | This shows environment status, discovered repos, and available tools. |
| 22 | </cli_setup> |
| 23 | |
| 24 | <essential_principles> |
| 25 | |
| 26 | <principle name="track_activity"> |
| 27 | Use `$RHDH log` and `$RHDH todo` to maintain context across sessions. |
| 28 | Log milestones with tags. Create todos when blocked on external input. |
| 29 | This enables resuming work without re-explaining context and builds an audit trail. |
| 30 | See the `<tracking_system>` section for details. |
| 31 | </principle> |
| 32 | |
| 33 | <principle name="consult_tool_references"> |
| 34 | **Before using GitHub CLI**, read the reference file: |
| 35 | - **GitHub:** `references/github-reference.md` — PR queries, CI analysis, `/publish` triggers |
| 36 | |
| 37 | Contains critical gotchas (jq escaping, assignee format) that prevent common errors. |
| 38 | </principle> |
| 39 | |
| 40 | <principle name="understand_rhdh_repos"> |
| 41 | **Before any RHDH-related work**, consult `references/rhdh-repos.md` for a reference of all RHDH-related repositories, what each one is used for, and how they relate to each other. |
| 42 | Use this when navigating between projects or understanding the overall RHDH ecosystem. |
| 43 | Use `$RHDH config set` to set the path to the local checkout of the RHDH repositories. |
| 44 | </principle> |
| 45 | |
| 46 | </essential_principles> |
| 47 | |
| 48 | <context_scan> |
| 49 | **Run on invocation to understand current state:** |
| 50 | |
| 51 | ```bash |
| 52 | $RHDH |
| 53 | ``` |
| 54 | |
| 55 | This checks: |
| 56 | |
| 57 | - Overlay repo location and status |
| 58 | - rhdh-local availability |
| 59 | - gh CLI authentication |
| 60 | - Container runtime (podman/docker) |
| 61 | |
| 62 | **If repos not found:** Run `$RHDH config init` to auto-detect or configure paths. |
| 63 | </context_scan> |
| 64 | |
| 65 | <intake> |
| 66 | ## Step 1: Run CLI |
| 67 | |
| 68 | ```bash |
| 69 | $RHDH |
| 70 | ``` |
| 71 | |
| 72 | **If `needs_setup: true`:** Stop and run `$RHDH doctor` to fix setup issues. |
| 73 | |
| 74 | --- |
| 75 | |
| 76 | ## Step 2: Identify Task Type |
| 77 | |
| 78 | What would you like to do? |
| 79 | |
| 80 | ### Overlay Repository Tasks |
| 81 | |
| 82 | *For working with the rhdh-plugin-export-overlays repository* |
| 83 | |
| 84 | 1. **Onboard a new plugin** — Add upstream plugin to Extensions Catalog |
| 85 | 2. **Update plugin version** — Bump to newer upstream commit/tag |
| 86 | 3. **Fix build failure** — Debug CI/publish issues |
| 87 | 4. **Triage overlay PRs** — Prioritize open PRs by criticality |
| 88 | 5. **Analyze specific PR** — Check assignment, compatibility, merge readiness |
| 89 | |
| 90 | ### Plugin Creation Tasks |
| 91 | |
| 92 | *For creating new RHDH dynamic plugins from scratch* |
| 93 | |
| 94 | 6. **Create plugin** — Bootstrap, export, package, or wire a dynamic plugin (backend or frontend) |
| 95 | |
| 96 | ### Local Testing Tasks |
| 97 | |
| 98 | *For testing plugins in a local RHDH instance using rhdh-local-setup* |
| 99 | |
| 100 | 7. **Local testing** — Enable/disable/test plugins in local RHDH |
| 101 | |
| 102 | ### Review & Testing Tasks |
| 103 | |
| 104 | *For testing PR changes on a live RHDH cluster* |
| 105 | |
| 106 | 8. **Review operator PR** — Deploy PR operator bundle on cluster and get review checklist |
| 107 | |
| 108 | ### Test Plan Tasks |
| 109 | |
| 110 | *For rhdh test plan review in jira* |
| 111 | |
| 112 | 9. **Review Test Plan content** — Reviews an RHDH test plan Jira ticket and suggests platform/integration version updates based on support lifecycle pages and RHDH release milestones |
| 113 | |
| 114 | ### Testing Strategy Tasks |
| 115 | |
| 116 | *For deciding where a test belongs in the RHDH ecosystem* |
| 117 | |
| 118 | 10. **Test placement** — Propose the right repo, test layer, location, and scaffolding for a change |
| 119 | |
| 120 | ### Release Management Tasks |
| 121 | |
| 122 | *For RHDH release tracking, status, announcements* |
| 123 | |
| 124 | 11. **Release management** — Release dates, status, team breakdown, freeze announcements, blocker bugs, CVEs, release notes |
| 125 | |
| 126 | ### General Tasks |
| 127 | |
| 128 | 12. **Check environment** — Run doctor, configure paths |
| 129 | 13. **View/search activity** — Review worklog, todos |
| 130 | |
| 131 | **Wait for response before proceeding.** |
| 132 | </intake> |
| 133 | |
| 134 | <routing> |
| 135 | ### Doctor Route (Priority) |
| 136 | |
| 137 | | Condition | Action | |
| 138 | |-----------|--------| |
| 139 | | `needs_setup: true` in CLI output | Run `$RHDH doctor` | |
| 140 | |
| 141 | **Always check this first.** |
| 142 | |
| 143 | ### Overlay Repository Routes |
| 144 | |
| 145 | | Response | Skill | |
| 146 | |----------|-------| |
| 147 | | 1-5, "onboard", "update", "fix", "triage", "PR", "overlay", "plugin", "workspace" | Route to `@overlay` skill | |
| 148 | |
| 149 | **To route:** Read `../overlay/SKILL.md` and follow its intake process. |
| 150 | |
| 151 | ### Plugin Creation Routes |
| 152 | |
| 153 | | Response | Skill | |
| 154 | |----------|-------| |
| 155 | | 6, "backend plugin", "create backend", "frontend plugin", "cr |