[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-red-hat-developer-rhdh":3,"mdc--px98zq-key":31,"related-org-red-hat-developer-rhdh":2490,"related-repo-red-hat-developer-rhdh":2660},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":20,"repoUrl":21,"updatedAt":22,"license":23,"forks":24,"topics":25,"repo":26,"sourceUrl":29,"mdContent":30},"rhdh","develop plugins for Red Hat Developer Hub","Handles 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\u002FCD, configuration, debugging, and general RHDH ecosystem knowledge. Routes to specialized sub-skills as needed. Use when asked about RHDH version compatibility, RHDH CI pipeline, RHDH configuration, which RHDH repo to use, RHDH release status, RHDH debugging, or any Developer Hub question.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"red-hat-developer","Red Hat Developer","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fred-hat-developer.png","redhat-developer",[13,17],{"name":14,"slug":15,"type":16},"Plugin Development","plugin-development","tag",{"name":18,"slug":19,"type":16},"Engineering","engineering",15,"https:\u002F\u002Fgithub.com\u002Fredhat-developer\u002Frhdh-skill","2026-07-23T05:40:49.041106",null,28,[],{"repoUrl":21,"stars":20,"forks":24,"topics":27,"description":28},[],"Claude Code skill for RHDH plugin lifecycle management","https:\u002F\u002Fgithub.com\u002Fredhat-developer\u002Frhdh-skill\u002Ftree\u002FHEAD\u002Fskills\u002Frhdh","---\nname: rhdh\ndescription: >-\n  Handles all RHDH-related work — \"RHDH\", \"Red Hat Developer Hub\", or \"Developer\n  Hub\". Primary entry point for plugin development, overlay management,\n  environment setup, repo navigation, version compatibility, CI\u002FCD,\n  configuration, debugging, and general RHDH ecosystem knowledge. Routes to\n  specialized sub-skills as needed. Use when asked about RHDH version\n  compatibility, RHDH CI pipeline, RHDH configuration, which RHDH repo to use,\n  RHDH release status, RHDH debugging, or any Developer Hub question.\n---\n\n\u003Ccli_setup>\n**Locate and set the CLI variable:**\n\nThe CLI script is at `scripts\u002Frhdh` **relative to this SKILL.md file** (not the working directory).\n\nWhen you read this file, note its path and derive the script location:\n\n- If SKILL.md is at `\u002Fpath\u002Fto\u002Fskills\u002Frhdh\u002FSKILL.md`\n- Then the CLI is at `\u002Fpath\u002Fto\u002Fskills\u002Frhdh\u002Fscripts\u002Frhdh`\n\n```bash\nRHDH=\"\u002Fpath\u002Fto\u002Fskills\u002Frhdh\u002Fscripts\u002Frhdh\"  # Use the actual path\n```\n\n**Get oriented (run first):**\n\n```bash\n$RHDH\n```\n\nThis shows environment status, discovered repos, and available tools.\n\u003C\u002Fcli_setup>\n\n\u003Cessential_principles>\n\n\u003Cprinciple name=\"track_activity\">\nUse `$RHDH log` and `$RHDH todo` to maintain context across sessions.\nLog milestones with tags. Create todos when blocked on external input.\nThis enables resuming work without re-explaining context and builds an audit trail.\nSee the `\u003Ctracking_system>` section for details.\n\u003C\u002Fprinciple>\n\n\u003Cprinciple name=\"consult_tool_references\">\n**Before using GitHub CLI**, read the reference file:\n- **GitHub:** `references\u002Fgithub-reference.md` — PR queries, CI analysis, `\u002Fpublish` triggers\n\nContains critical gotchas (jq escaping, assignee format) that prevent common errors.\n\u003C\u002Fprinciple>\n\n\u003Cprinciple name=\"understand_rhdh_repos\">\n**Before any RHDH-related work**, consult `references\u002Frhdh-repos.md` for a reference of all RHDH-related repositories, what each one is used for, and how they relate to each other.\nUse this when navigating between projects or understanding the overall RHDH ecosystem.\nUse `$RHDH config set` to set the path to the local checkout of the RHDH repositories.\n\u003C\u002Fprinciple>\n\n\u003C\u002Fessential_principles>\n\n\u003Ccontext_scan>\n**Run on invocation to understand current state:**\n\n```bash\n$RHDH\n```\n\nThis checks:\n\n- Overlay repo location and status\n- rhdh-local availability\n- gh CLI authentication\n- Container runtime (podman\u002Fdocker)\n\n**If repos not found:** Run `$RHDH config init` to auto-detect or configure paths.\n\u003C\u002Fcontext_scan>\n\n\u003Cintake>\n## Step 1: Run CLI\n\n```bash\n$RHDH\n```\n\n**If `needs_setup: true`:** Stop and run `$RHDH doctor` to fix setup issues.\n\n---\n\n## Step 2: Identify Task Type\n\nWhat would you like to do?\n\n### Overlay Repository Tasks\n\n*For working with the rhdh-plugin-export-overlays repository*\n\n1. **Onboard a new plugin** — Add upstream plugin to Extensions Catalog\n2. **Update plugin version** — Bump to newer upstream commit\u002Ftag\n3. **Fix build failure** — Debug CI\u002Fpublish issues\n4. **Triage overlay PRs** — Prioritize open PRs by criticality\n5. **Analyze specific PR** — Check assignment, compatibility, merge readiness\n\n### Plugin Creation Tasks\n\n*For creating new RHDH dynamic plugins from scratch*\n\n6. **Create plugin** — Bootstrap, export, package, or wire a dynamic plugin (backend or frontend)\n\n### Local Testing Tasks\n\n*For testing plugins in a local RHDH instance using rhdh-local-setup*\n\n7. **Local testing** — Enable\u002Fdisable\u002Ftest plugins in local RHDH\n\n### Review & Testing Tasks\n\n*For testing PR changes on a live RHDH cluster*\n\n8. **Review operator PR** — Deploy PR operator bundle on cluster and get review checklist\n\n### Test Plan Tasks\n\n*For rhdh test plan review in jira*\n\n9. **Review Test Plan content** — Reviews an RHDH test plan Jira ticket and suggests platform\u002Fintegration version updates based on support lifecycle pages and RHDH release milestones\n\n### Testing Strategy Tasks\n\n*For deciding where a test belongs in the RHDH ecosystem*\n\n10. **Test placement** — Propose the right repo, test layer, location, and scaffolding for a change\n\n### Release Management Tasks\n\n*For RHDH release tracking, status, announcements*\n\n11. **Release management** — Release dates, status, team breakdown, freeze announcements, blocker bugs, CVEs, release notes\n\n### General Tasks\n\n12. **Check environment** — Run doctor, configure paths\n13. **View\u002Fsearch activity** — Review worklog, todos\n\n**Wait for response before proceeding.**\n\u003C\u002Fintake>\n\n\u003Crouting>\n### Doctor Route (Priority)\n\n| Condition | Action |\n|-----------|--------|\n| `needs_setup: true` in CLI output | Run `$RHDH doctor` |\n\n**Always check this first.**\n\n### Overlay Repository Routes\n\n| Response | Skill |\n|----------|-------|\n| 1-5, \"onboard\", \"update\", \"fix\", \"triage\", \"PR\", \"overlay\", \"plugin\", \"workspace\" | Route to `@overlay` skill |\n\n**To route:** Read `..\u002Foverlay\u002FSKILL.md` and follow its intake process.\n\n### Plugin Creation Routes\n\n| Response | Skill |\n|----------|-------|\n| 6, \"backend plugin\", \"create backend\", \"frontend plugin\", \"create frontend\", \"export\", \"package\", \"OCI\", \"publish plugin\", \"wiring\", \"mount points\", \"routes\", \"entity tabs\" | Route to `@create-plugin` skill |\n\n**To route:** Read `..\u002Fcreate-plugin\u002FSKILL.md` and follow its routing rules (backend, frontend, export, wiring sub-commands).\n\n### Local Testing Routes\n\n| Response | Skill |\n|----------|-------|\n| 7, \"local\", \"test locally\", \"enable plugin\", \"disable plugin\", \"local testing\", \"rhdh-local-setup\" | Route to `@rhdh-local` skill |\n\n**To route:** Read `..\u002Frhdh-local\u002FSKILL.md` and follow its intake process.\n\n### Review & Testing Routes\n\n| Response | Skill |\n|----------|-------|\n| 8, \"review PR\", \"code review\", \"PR review\", \"test PR\", \"operator PR\", \"review this PR\", \"rhdh-pr-review\" | Route to `@rhdh-pr-review` skill |\n\n**To route:** Read `..\u002Frhdh-pr-review\u002FSKILL.md` and follow its intake process.\n\n### Test Plan Routes\n\n| Response | Skill |\n|----------|-------|\n| 9, \"review test plan\", \"update test plan\", \"check platform versions in test plan\", \"review RHDH test plan\" | Route to `@rhdh-test-plan-review` skill |\n\n**To route:** Read `..\u002Frhdh-test-plan-review\u002FSKILL.md` and follow its intake process.\n\n### Test Placement Routes\n\n| Response | Skill |\n|----------|-------|\n| 10, \"where should I test\", \"test placement\", \"does this need a cluster\", \"which repo does this test belong in\", \"should this be an e2e test\", \"test layer\" | Route to `test-placement` skill |\n\n**To route:** Read `..\u002Ftest-placement\u002FSKILL.md` and follow its instructions.\n\n### Release Management Routes\n\n| Response | Skill |\n|----------|-------|\n| 11, \"release\", \"release manager\", \"release dates\", \"release status\", \"feature freeze\", \"code freeze\", \"blocker bugs\", \"CVEs\", \"release notes\", \"team breakdown\", \"freeze announcement\" | Route to `@rhdh-release` skill |\n\n**To route:** Read `..\u002Frhdh-release\u002FSKILL.md` and follow its intake process.\n\n### Backstage Upgrade Routes\n\n| Response | Skill |\n|----------|-------|\n| \"upgrade backstage\", \"bump backstage\", \"update @backstage\", \"backstage version\", \"align deps\", \"versions:bump\" | Route to `backstage-upgrade` skill |\n\n**To route:** Read `..\u002Fbackstage-upgrade\u002FSKILL.md` and follow its intake process.\n\n### General Routes\n\n| Response | Action |\n|----------|--------|\n| 12, \"doctor\", \"setup\", \"config\" | Use CLI commands below |\n| 13, \"log\", \"todo\", \"activity\" | Use tracking commands below |\n\n\u003C\u002Frouting>\n\n\u003Ccli_commands>\n**Environment status (no args):**\n\n```bash\n$RHDH\n```\n\nShows overlay repo, rhdh-local, tools status, and next steps.\n\n**Full environment check:**\n\n```bash\n$RHDH doctor\n```\n\n**Configuration:**\n\n```bash\n$RHDH config init                  # Create config with auto-detection\n$RHDH config show                  # Show resolved paths\n$RHDH config set overlay \u002Fpath     # Set rhdh-plugin-export-overlays location\n$RHDH config set local \u002Fpath       # Set rhdh-local location\n$RHDH config set rhdh \u002Fpath        # Set main rhdh repo location\n$RHDH config set downstream \u002Fpath  # Set rhdh-downstream location\n$RHDH config set cli \u002Fpath         # Set rhdh-cli location\n$RHDH config set plugins \u002Fpath     # Set rhdh-plugins location\n$RHDH config set operator \u002Fpath    # Set rhdh-operator location\n$RHDH config set chart \u002Fpath       # Set rhdh-chart location\n$RHDH config set catalog \u002Fpath       # Set rhdh-plugin-catalog location\n$RHDH config set private-data \u002Fpath  # Set rhdh-skill-private-data location\n```\n\n**Workspace operations:**\n\n```bash\n$RHDH workspace list           # List all plugin workspaces\n$RHDH workspace status \u003Cname>  # Show workspace details\n```\n\n\u003C\u002Fcli_commands>\n\n\u003Ctracking_system>\n\n## Activity Tracking (Recommended)\n\nThe CLI includes worklog and todo tracking to maintain context across sessions. **Use is recommended but not required.**\n\n### Why Track?\n\n- **Cross-session memory** — Pick up where you left off without re-explaining context\n- **Audit trail** — \"When did we onboard X?\" \u002F \"What happened with PR #123?\"\n- **Follow-up reminders** — Don't lose track of blocked items waiting on external input\n\n### Worklog Commands\n\nAppend-only activity log stored in `.rhdh\u002Fworklog.jsonl`:\n\n```bash\n# Log activity with tags for searchability\n$RHDH log add \"Started onboard: aws-appsync\" --tag onboard --tag aws-appsync\n$RHDH log add \"PR #1234 merged\" --tag aws-appsync --tag pr\n\n# View recent entries\n$RHDH log show --limit 10\n\n# Search past activity\n$RHDH log search \"aws-appsync\"\n$RHDH log search \"onboard\"\n```\n\n### Todo Commands\n\nSection-based markdown todos stored in `.rhdh\u002FTODO.md`:\n\n```bash\n# Create todo when blocked\n$RHDH todo add \"Check license with legal\" --context \"aws-appsync\"\n$RHDH todo add \"Follow up on stale PR #1234\" --context \"triage\"\n\n# List and manage\n$RHDH todo list              # All todos\n$RHDH todo list --pending    # Only open items\n\n# Update progress\n$RHDH todo note \u003Cslug> \"Sent email to legal@redhat.com\"\n$RHDH todo done \u003Cslug>\n\n# View raw file\n$RHDH todo show\n```\n\n### When to Track\n\n**Log these milestones:**\n\n- Starting\u002Fcompleting a workflow (onboard, update, triage)\n- PR actions (opened, published, merged)\n- Significant decisions or findings\n\n**Create todos for:**\n\n- Blocked items waiting on external response (legal, upstream, team)\n- Post-merge follow-ups (verify in staging, remove workarounds)\n- Items that span multiple sessions\n\n### Writing Effective Todos\n\nTodos must be **self-contained**—a new session should understand the task without re-investigating.\n\n| ❌ Too vague | ✅ Actionable |\n|-------------|---------------|\n| Fix #1875 version mismatch | Fix #1875 (lightspeed): bump `1.3.0→1.4.0` in `workspace.yaml` like #1903 |\n| Add \u002Fok-to-test to #1921 | Add \u002Fok-to-test to #1921 (techdocs) — smoke tests ready, needs external trigger |\n| Review #1906 SonarCloud | Review #1906 (catalog): SonarCloud blocked on coverage — check if test file missing |\n\n**Include:** PR number, plugin name, specific action, and *why* it's needed.\n\n\u003C\u002Ftracking_system>\n\n\u003Creference_index>\n**RHDH Repos:** references\u002Frhdh-repos.md — repository map, ecosystem relationships, key paths\n**GitHub CLI (PRs, CI, workflows):** references\u002Fgithub-reference.md\n**Version Matrix:** references\u002Fversions.md — RHDH\u002FBackstage version compatibility, create-app versions\n**Slack Notifications:** references\u002Fslack-notification.md — Slack ping templates, handle mapping, channel routing\n**Private Data:** references\u002Fprivate-data.md — private data repo setup and sync (Rich Filter exports)\n\u003C\u002Freference_index>\n\n\u003Cskills_index>\n\n### Specialized Skills\n\n| Skill | Purpose | Path |\n|-------|---------|------|\n| overlay | Manage plugins in rhdh-plugin-export-overlays | `..\u002Foverlay\u002FSKILL.md` |\n| create-plugin | Create, export, package, and wire RHDH dynamic plugins | `..\u002Fcreate-plugin\u002FSKILL.md` |\n| rhdh-local | Enable\u002Fdisable\u002Ftest plugins in local RHDH | `..\u002Frhdh-local\u002FSKILL.md` |\n| rhdh-pr-review | PR code review and live cluster testing | `..\u002Frhdh-pr-review\u002FSKILL.md` |\n| rhdh-test-plan-review | Reviews an RHDH test plan Jira ticket and suggests platform\u002Fintegration version updates | `..\u002Frhdh-test-plan-review\u002FSKILL.md` |\n| test-placement | Propose where to test a change: repo, test layer, location, and scaffolding | `..\u002Ftest-placement\u002FSKILL.md` |\n| rhdh-release | Release dates, status tracking, team coordination, freeze announcements, blocker bugs, CVEs, release notes | `..\u002Frhdh-release\u002FSKILL.md` |\n\n### Shared References\n\n| Reference | Purpose | Path |\n|-----------|---------|------|\n| rhdh-repos | Repository map, ecosystem relationships, key paths | `references\u002Frhdh-repos.md` |\n| versions | RHDH\u002FBackstage version compatibility matrix | `references\u002Fversions.md` |\n\n\u003C\u002Fskills_index>\n",{"data":32,"body":33},{"name":4,"description":6},{"type":34,"children":35},"root",[36,50,71,76,103,152,160,174,179,184,197,2484],{"type":37,"tag":38,"props":39,"children":40},"element","p",{},[41,44],{"type":42,"value":43},"text","\u003Ccli_setup>\n",{"type":37,"tag":45,"props":46,"children":47},"strong",{},[48],{"type":42,"value":49},"Locate and set the CLI variable:",{"type":37,"tag":38,"props":51,"children":52},{},[53,55,62,64,69],{"type":42,"value":54},"The CLI script is at ",{"type":37,"tag":56,"props":57,"children":59},"code",{"className":58},[],[60],{"type":42,"value":61},"scripts\u002Frhdh",{"type":42,"value":63}," ",{"type":37,"tag":45,"props":65,"children":66},{},[67],{"type":42,"value":68},"relative to this SKILL.md file",{"type":42,"value":70}," (not the working directory).",{"type":37,"tag":38,"props":72,"children":73},{},[74],{"type":42,"value":75},"When you read this file, note its path and derive the script location:",{"type":37,"tag":77,"props":78,"children":79},"ul",{},[80,92],{"type":37,"tag":81,"props":82,"children":83},"li",{},[84,86],{"type":42,"value":85},"If SKILL.md is at ",{"type":37,"tag":56,"props":87,"children":89},{"className":88},[],[90],{"type":42,"value":91},"\u002Fpath\u002Fto\u002Fskills\u002Frhdh\u002FSKILL.md",{"type":37,"tag":81,"props":93,"children":94},{},[95,97],{"type":42,"value":96},"Then the CLI is at ",{"type":37,"tag":56,"props":98,"children":100},{"className":99},[],[101],{"type":42,"value":102},"\u002Fpath\u002Fto\u002Fskills\u002Frhdh\u002Fscripts\u002Frhdh",{"type":37,"tag":104,"props":105,"children":110},"pre",{"className":106,"code":107,"language":108,"meta":109,"style":109},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","RHDH=\"\u002Fpath\u002Fto\u002Fskills\u002Frhdh\u002Fscripts\u002Frhdh\"  # Use the actual path\n","bash","",[111],{"type":37,"tag":56,"props":112,"children":113},{"__ignoreMap":109},[114],{"type":37,"tag":115,"props":116,"children":119},"span",{"class":117,"line":118},"line",1,[120,126,132,137,142,146],{"type":37,"tag":115,"props":121,"children":123},{"style":122},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[124],{"type":42,"value":125},"RHDH",{"type":37,"tag":115,"props":127,"children":129},{"style":128},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[130],{"type":42,"value":131},"=",{"type":37,"tag":115,"props":133,"children":134},{"style":128},[135],{"type":42,"value":136},"\"",{"type":37,"tag":115,"props":138,"children":140},{"style":139},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[141],{"type":42,"value":102},{"type":37,"tag":115,"props":143,"children":144},{"style":128},[145],{"type":42,"value":136},{"type":37,"tag":115,"props":147,"children":149},{"style":148},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[150],{"type":42,"value":151},"  # Use the actual path\n",{"type":37,"tag":38,"props":153,"children":154},{},[155],{"type":37,"tag":45,"props":156,"children":157},{},[158],{"type":42,"value":159},"Get oriented (run first):",{"type":37,"tag":104,"props":161,"children":163},{"className":106,"code":162,"language":108,"meta":109,"style":109},"$RHDH\n",[164],{"type":37,"tag":56,"props":165,"children":166},{"__ignoreMap":109},[167],{"type":37,"tag":115,"props":168,"children":169},{"class":117,"line":118},[170],{"type":37,"tag":115,"props":171,"children":172},{"style":122},[173],{"type":42,"value":162},{"type":37,"tag":38,"props":175,"children":176},{},[177],{"type":42,"value":178},"This shows environment status, discovered repos, and available tools.\n\u003C\u002Fcli_setup>",{"type":37,"tag":38,"props":180,"children":181},{},[182],{"type":42,"value":183},"\u003Cessential_principles>",{"type":37,"tag":185,"props":186,"children":188},"principle",{"name":187},"track_activity",[189,191],{"type":42,"value":190},"\nUse `$RHDH log` and `$RHDH todo` to maintain context across sessions.\nLog milestones with tags. Create todos when blocked on external input.\nThis enables resuming work without re-explaining context and builds an audit trail.\nSee the `",{"type":37,"tag":192,"props":193,"children":194},"tracking_system",{},[195],{"type":42,"value":196},"` section for details.\n",{"type":37,"tag":185,"props":198,"children":200},{"name":199},"consult_tool_references",[201,203,208,214,219,229,242,247,270,288],{"type":42,"value":202},"\n**Before using GitHub CLI**, read the reference file:\n- **GitHub:** `references\u002Fgithub-reference.md` — PR queries, CI analysis, `\u002Fpublish` triggers\n",{"type":37,"tag":38,"props":204,"children":205},{},[206],{"type":42,"value":207},"Contains critical gotchas (jq escaping, assignee format) that prevent common errors.\n",{"type":37,"tag":185,"props":209,"children":211},{"name":210},"understand_rhdh_repos",[212],{"type":42,"value":213},"\n**Before any RHDH-related work**, consult `references\u002Frhdh-repos.md` for a reference of all RHDH-related repositories, what each one is used for, and how they relate to each other.\nUse this when navigating between projects or understanding the overall RHDH ecosystem.\nUse `$RHDH config set` to set the path to the local checkout of the RHDH repositories.\n",{"type":37,"tag":38,"props":215,"children":216},{},[217],{"type":42,"value":218},"\u003C\u002Fessential_principles>",{"type":37,"tag":38,"props":220,"children":221},{},[222,224],{"type":42,"value":223},"\u003Ccontext_scan>\n",{"type":37,"tag":45,"props":225,"children":226},{},[227],{"type":42,"value":228},"Run on invocation to understand current state:",{"type":37,"tag":104,"props":230,"children":231},{"className":106,"code":162,"language":108,"meta":109,"style":109},[232],{"type":37,"tag":56,"props":233,"children":234},{"__ignoreMap":109},[235],{"type":37,"tag":115,"props":236,"children":237},{"class":117,"line":118},[238],{"type":37,"tag":115,"props":239,"children":240},{"style":122},[241],{"type":42,"value":162},{"type":37,"tag":38,"props":243,"children":244},{},[245],{"type":42,"value":246},"This checks:",{"type":37,"tag":77,"props":248,"children":249},{},[250,255,260,265],{"type":37,"tag":81,"props":251,"children":252},{},[253],{"type":42,"value":254},"Overlay repo location and status",{"type":37,"tag":81,"props":256,"children":257},{},[258],{"type":42,"value":259},"rhdh-local availability",{"type":37,"tag":81,"props":261,"children":262},{},[263],{"type":42,"value":264},"gh CLI authentication",{"type":37,"tag":81,"props":266,"children":267},{},[268],{"type":42,"value":269},"Container runtime (podman\u002Fdocker)",{"type":37,"tag":38,"props":271,"children":272},{},[273,278,280,286],{"type":37,"tag":45,"props":274,"children":275},{},[276],{"type":42,"value":277},"If repos not found:",{"type":42,"value":279}," Run ",{"type":37,"tag":56,"props":281,"children":283},{"className":282},[],[284],{"type":42,"value":285},"$RHDH config init",{"type":42,"value":287}," to auto-detect or configure paths.\n\u003C\u002Fcontext_scan>",{"type":37,"tag":289,"props":290,"children":291},"intake",{},[292,294,307,333,337,344,349,356,365,419,425,433,447,453,461,475,481,489,503,509,517,531,537,545,559,565,573,587,593,617,625,1231,1241,1254,1259,1267,1281,1289,1467,1475,1523,1528,1533,1539,1549,1555,1588,1594,1606,1754,1760,1772,2006,2012,2020,2038,2046,2064,2070,2082,2159,2176,2181,2221,2226,2232,2404,2410,2479],{"type":42,"value":293},"\n## Step 1: Run CLI\n",{"type":37,"tag":104,"props":295,"children":296},{"className":106,"code":162,"language":108,"meta":109,"style":109},[297],{"type":37,"tag":56,"props":298,"children":299},{"__ignoreMap":109},[300],{"type":37,"tag":115,"props":301,"children":302},{"class":117,"line":118},[303],{"type":37,"tag":115,"props":304,"children":305},{"style":122},[306],{"type":42,"value":162},{"type":37,"tag":38,"props":308,"children":309},{},[310,323,325,331],{"type":37,"tag":45,"props":311,"children":312},{},[313,315,321],{"type":42,"value":314},"If ",{"type":37,"tag":56,"props":316,"children":318},{"className":317},[],[319],{"type":42,"value":320},"needs_setup: true",{"type":42,"value":322},":",{"type":42,"value":324}," Stop and run ",{"type":37,"tag":56,"props":326,"children":328},{"className":327},[],[329],{"type":42,"value":330},"$RHDH doctor",{"type":42,"value":332}," to fix setup issues.",{"type":37,"tag":334,"props":335,"children":336},"hr",{},[],{"type":37,"tag":338,"props":339,"children":341},"h2",{"id":340},"step-2-identify-task-type",[342],{"type":42,"value":343},"Step 2: Identify Task Type",{"type":37,"tag":38,"props":345,"children":346},{},[347],{"type":42,"value":348},"What would you like to do?",{"type":37,"tag":350,"props":351,"children":353},"h3",{"id":352},"overlay-repository-tasks",[354],{"type":42,"value":355},"Overlay Repository Tasks",{"type":37,"tag":38,"props":357,"children":358},{},[359],{"type":37,"tag":360,"props":361,"children":362},"em",{},[363],{"type":42,"value":364},"For working with the rhdh-plugin-export-overlays repository",{"type":37,"tag":366,"props":367,"children":368},"ol",{},[369,379,389,399,409],{"type":37,"tag":81,"props":370,"children":371},{},[372,377],{"type":37,"tag":45,"props":373,"children":374},{},[375],{"type":42,"value":376},"Onboard a new plugin",{"type":42,"value":378}," — Add upstream plugin to Extensions Catalog",{"type":37,"tag":81,"props":380,"children":381},{},[382,387],{"type":37,"tag":45,"props":383,"children":384},{},[385],{"type":42,"value":386},"Update plugin version",{"type":42,"value":388}," — Bump to newer upstream commit\u002Ftag",{"type":37,"tag":81,"props":390,"children":391},{},[392,397],{"type":37,"tag":45,"props":393,"children":394},{},[395],{"type":42,"value":396},"Fix build failure",{"type":42,"value":398}," — Debug CI\u002Fpublish issues",{"type":37,"tag":81,"props":400,"children":401},{},[402,407],{"type":37,"tag":45,"props":403,"children":404},{},[405],{"type":42,"value":406},"Triage overlay PRs",{"type":42,"value":408}," — Prioritize open PRs by criticality",{"type":37,"tag":81,"props":410,"children":411},{},[412,417],{"type":37,"tag":45,"props":413,"children":414},{},[415],{"type":42,"value":416},"Analyze specific PR",{"type":42,"value":418}," — Check assignment, compatibility, merge readiness",{"type":37,"tag":350,"props":420,"children":422},{"id":421},"plugin-creation-tasks",[423],{"type":42,"value":424},"Plugin Creation Tasks",{"type":37,"tag":38,"props":426,"children":427},{},[428],{"type":37,"tag":360,"props":429,"children":430},{},[431],{"type":42,"value":432},"For creating new RHDH dynamic plugins from scratch",{"type":37,"tag":366,"props":434,"children":436},{"start":435},6,[437],{"type":37,"tag":81,"props":438,"children":439},{},[440,445],{"type":37,"tag":45,"props":441,"children":442},{},[443],{"type":42,"value":444},"Create plugin",{"type":42,"value":446}," — Bootstrap, export, package, or wire a dynamic plugin (backend or frontend)",{"type":37,"tag":350,"props":448,"children":450},{"id":449},"local-testing-tasks",[451],{"type":42,"value":452},"Local Testing Tasks",{"type":37,"tag":38,"props":454,"children":455},{},[456],{"type":37,"tag":360,"props":457,"children":458},{},[459],{"type":42,"value":460},"For testing plugins in a local RHDH instance using rhdh-local-setup",{"type":37,"tag":366,"props":462,"children":464},{"start":463},7,[465],{"type":37,"tag":81,"props":466,"children":467},{},[468,473],{"type":37,"tag":45,"props":469,"children":470},{},[471],{"type":42,"value":472},"Local testing",{"type":42,"value":474}," — Enable\u002Fdisable\u002Ftest plugins in local RHDH",{"type":37,"tag":350,"props":476,"children":478},{"id":477},"review-testing-tasks",[479],{"type":42,"value":480},"Review & Testing Tasks",{"type":37,"tag":38,"props":482,"children":483},{},[484],{"type":37,"tag":360,"props":485,"children":486},{},[487],{"type":42,"value":488},"For testing PR changes on a live RHDH cluster",{"type":37,"tag":366,"props":490,"children":492},{"start":491},8,[493],{"type":37,"tag":81,"props":494,"children":495},{},[496,501],{"type":37,"tag":45,"props":497,"children":498},{},[499],{"type":42,"value":500},"Review operator PR",{"type":42,"value":502}," — Deploy PR operator bundle on cluster and get review checklist",{"type":37,"tag":350,"props":504,"children":506},{"id":505},"test-plan-tasks",[507],{"type":42,"value":508},"Test Plan Tasks",{"type":37,"tag":38,"props":510,"children":511},{},[512],{"type":37,"tag":360,"props":513,"children":514},{},[515],{"type":42,"value":516},"For rhdh test plan review in jira",{"type":37,"tag":366,"props":518,"children":520},{"start":519},9,[521],{"type":37,"tag":81,"props":522,"children":523},{},[524,529],{"type":37,"tag":45,"props":525,"children":526},{},[527],{"type":42,"value":528},"Review Test Plan content",{"type":42,"value":530}," — Reviews an RHDH test plan Jira ticket and suggests platform\u002Fintegration version updates based on support lifecycle pages and RHDH release milestones",{"type":37,"tag":350,"props":532,"children":534},{"id":533},"testing-strategy-tasks",[535],{"type":42,"value":536},"Testing Strategy Tasks",{"type":37,"tag":38,"props":538,"children":539},{},[540],{"type":37,"tag":360,"props":541,"children":542},{},[543],{"type":42,"value":544},"For deciding where a test belongs in the RHDH ecosystem",{"type":37,"tag":366,"props":546,"children":548},{"start":547},10,[549],{"type":37,"tag":81,"props":550,"children":551},{},[552,557],{"type":37,"tag":45,"props":553,"children":554},{},[555],{"type":42,"value":556},"Test placement",{"type":42,"value":558}," — Propose the right repo, test layer, location, and scaffolding for a change",{"type":37,"tag":350,"props":560,"children":562},{"id":561},"release-management-tasks",[563],{"type":42,"value":564},"Release Management Tasks",{"type":37,"tag":38,"props":566,"children":567},{},[568],{"type":37,"tag":360,"props":569,"children":570},{},[571],{"type":42,"value":572},"For RHDH release tracking, status, announcements",{"type":37,"tag":366,"props":574,"children":576},{"start":575},11,[577],{"type":37,"tag":81,"props":578,"children":579},{},[580,585],{"type":37,"tag":45,"props":581,"children":582},{},[583],{"type":42,"value":584},"Release management",{"type":42,"value":586}," — Release dates, status, team breakdown, freeze announcements, blocker bugs, CVEs, release notes",{"type":37,"tag":350,"props":588,"children":590},{"id":589},"general-tasks",[591],{"type":42,"value":592},"General Tasks",{"type":37,"tag":366,"props":594,"children":596},{"start":595},12,[597,607],{"type":37,"tag":81,"props":598,"children":599},{},[600,605],{"type":37,"tag":45,"props":601,"children":602},{},[603],{"type":42,"value":604},"Check environment",{"type":42,"value":606}," — Run doctor, configure paths",{"type":37,"tag":81,"props":608,"children":609},{},[610,615],{"type":37,"tag":45,"props":611,"children":612},{},[613],{"type":42,"value":614},"View\u002Fsearch activity",{"type":42,"value":616}," — Review worklog, todos",{"type":37,"tag":38,"props":618,"children":619},{},[620],{"type":37,"tag":45,"props":621,"children":622},{},[623],{"type":42,"value":624},"Wait for response before proceeding.",{"type":37,"tag":626,"props":627,"children":628},"routing",{},[629,631,682,690,696,739,757,763,802,818,824,863,878,884,923,938,944,983,998,1004,1043,1059,1065,1104,1119,1125,1164,1179,1185],{"type":42,"value":630},"\n### Doctor Route (Priority)\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":37,"tag":632,"props":633,"children":634},"table",{},[635,654],{"type":37,"tag":636,"props":637,"children":638},"thead",{},[639],{"type":37,"tag":640,"props":641,"children":642},"tr",{},[643,649],{"type":37,"tag":644,"props":645,"children":646},"th",{},[647],{"type":42,"value":648},"Condition",{"type":37,"tag":644,"props":650,"children":651},{},[652],{"type":42,"value":653},"Action",{"type":37,"tag":655,"props":656,"children":657},"tbody",{},[658],{"type":37,"tag":640,"props":659,"children":660},{},[661,672],{"type":37,"tag":662,"props":663,"children":664},"td",{},[665,670],{"type":37,"tag":56,"props":666,"children":668},{"className":667},[],[669],{"type":42,"value":320},{"type":42,"value":671}," in CLI output",{"type":37,"tag":662,"props":673,"children":674},{},[675,677],{"type":42,"value":676},"Run ",{"type":37,"tag":56,"props":678,"children":680},{"className":679},[],[681],{"type":42,"value":330},{"type":37,"tag":38,"props":683,"children":684},{},[685],{"type":37,"tag":45,"props":686,"children":687},{},[688],{"type":42,"value":689},"Always check this first.",{"type":37,"tag":350,"props":691,"children":693},{"id":692},"overlay-repository-routes",[694],{"type":42,"value":695},"Overlay Repository Routes",{"type":37,"tag":632,"props":697,"children":698},{},[699,715],{"type":37,"tag":636,"props":700,"children":701},{},[702],{"type":37,"tag":640,"props":703,"children":704},{},[705,710],{"type":37,"tag":644,"props":706,"children":707},{},[708],{"type":42,"value":709},"Response",{"type":37,"tag":644,"props":711,"children":712},{},[713],{"type":42,"value":714},"Skill",{"type":37,"tag":655,"props":716,"children":717},{},[718],{"type":37,"tag":640,"props":719,"children":720},{},[721,726],{"type":37,"tag":662,"props":722,"children":723},{},[724],{"type":42,"value":725},"1-5, \"onboard\", \"update\", \"fix\", \"triage\", \"PR\", \"overlay\", \"plugin\", \"workspace\"",{"type":37,"tag":662,"props":727,"children":728},{},[729,731,737],{"type":42,"value":730},"Route to ",{"type":37,"tag":56,"props":732,"children":734},{"className":733},[],[735],{"type":42,"value":736},"@overlay",{"type":42,"value":738}," skill",{"type":37,"tag":38,"props":740,"children":741},{},[742,747,749,755],{"type":37,"tag":45,"props":743,"children":744},{},[745],{"type":42,"value":746},"To route:",{"type":42,"value":748}," Read ",{"type":37,"tag":56,"props":750,"children":752},{"className":751},[],[753],{"type":42,"value":754},"..\u002Foverlay\u002FSKILL.md",{"type":42,"value":756}," and follow its intake process.",{"type":37,"tag":350,"props":758,"children":760},{"id":759},"plugin-creation-routes",[761],{"type":42,"value":762},"Plugin Creation Routes",{"type":37,"tag":632,"props":764,"children":765},{},[766,780],{"type":37,"tag":636,"props":767,"children":768},{},[769],{"type":37,"tag":640,"props":770,"children":771},{},[772,776],{"type":37,"tag":644,"props":773,"children":774},{},[775],{"type":42,"value":709},{"type":37,"tag":644,"props":777,"children":778},{},[779],{"type":42,"value":714},{"type":37,"tag":655,"props":781,"children":782},{},[783],{"type":37,"tag":640,"props":784,"children":785},{},[786,791],{"type":37,"tag":662,"props":787,"children":788},{},[789],{"type":42,"value":790},"6, \"backend plugin\", \"create backend\", \"frontend plugin\", \"create frontend\", \"export\", \"package\", \"OCI\", \"publish plugin\", \"wiring\", \"mount points\", \"routes\", \"entity tabs\"",{"type":37,"tag":662,"props":792,"children":793},{},[794,795,801],{"type":42,"value":730},{"type":37,"tag":56,"props":796,"children":798},{"className":797},[],[799],{"type":42,"value":800},"@create-plugin",{"type":42,"value":738},{"type":37,"tag":38,"props":803,"children":804},{},[805,809,810,816],{"type":37,"tag":45,"props":806,"children":807},{},[808],{"type":42,"value":746},{"type":42,"value":748},{"type":37,"tag":56,"props":811,"children":813},{"className":812},[],[814],{"type":42,"value":815},"..\u002Fcreate-plugin\u002FSKILL.md",{"type":42,"value":817}," and follow its routing rules (backend, frontend, export, wiring sub-commands).",{"type":37,"tag":350,"props":819,"children":821},{"id":820},"local-testing-routes",[822],{"type":42,"value":823},"Local Testing Routes",{"type":37,"tag":632,"props":825,"children":826},{},[827,841],{"type":37,"tag":636,"props":828,"children":829},{},[830],{"type":37,"tag":640,"props":831,"children":832},{},[833,837],{"type":37,"tag":644,"props":834,"children":835},{},[836],{"type":42,"value":709},{"type":37,"tag":644,"props":838,"children":839},{},[840],{"type":42,"value":714},{"type":37,"tag":655,"props":842,"children":843},{},[844],{"type":37,"tag":640,"props":845,"children":846},{},[847,852],{"type":37,"tag":662,"props":848,"children":849},{},[850],{"type":42,"value":851},"7, \"local\", \"test locally\", \"enable plugin\", \"disable plugin\", \"local testing\", \"rhdh-local-setup\"",{"type":37,"tag":662,"props":853,"children":854},{},[855,856,862],{"type":42,"value":730},{"type":37,"tag":56,"props":857,"children":859},{"className":858},[],[860],{"type":42,"value":861},"@rhdh-local",{"type":42,"value":738},{"type":37,"tag":38,"props":864,"children":865},{},[866,870,871,877],{"type":37,"tag":45,"props":867,"children":868},{},[869],{"type":42,"value":746},{"type":42,"value":748},{"type":37,"tag":56,"props":872,"children":874},{"className":873},[],[875],{"type":42,"value":876},"..\u002Frhdh-local\u002FSKILL.md",{"type":42,"value":756},{"type":37,"tag":350,"props":879,"children":881},{"id":880},"review-testing-routes",[882],{"type":42,"value":883},"Review & Testing Routes",{"type":37,"tag":632,"props":885,"children":886},{},[887,901],{"type":37,"tag":636,"props":888,"children":889},{},[890],{"type":37,"tag":640,"props":891,"children":892},{},[893,897],{"type":37,"tag":644,"props":894,"children":895},{},[896],{"type":42,"value":709},{"type":37,"tag":644,"props":898,"children":899},{},[900],{"type":42,"value":714},{"type":37,"tag":655,"props":902,"children":903},{},[904],{"type":37,"tag":640,"props":905,"children":906},{},[907,912],{"type":37,"tag":662,"props":908,"children":909},{},[910],{"type":42,"value":911},"8, \"review PR\", \"code review\", \"PR review\", \"test PR\", \"operator PR\", \"review this PR\", \"rhdh-pr-review\"",{"type":37,"tag":662,"props":913,"children":914},{},[915,916,922],{"type":42,"value":730},{"type":37,"tag":56,"props":917,"children":919},{"className":918},[],[920],{"type":42,"value":921},"@rhdh-pr-review",{"type":42,"value":738},{"type":37,"tag":38,"props":924,"children":925},{},[926,930,931,937],{"type":37,"tag":45,"props":927,"children":928},{},[929],{"type":42,"value":746},{"type":42,"value":748},{"type":37,"tag":56,"props":932,"children":934},{"className":933},[],[935],{"type":42,"value":936},"..\u002Frhdh-pr-review\u002FSKILL.md",{"type":42,"value":756},{"type":37,"tag":350,"props":939,"children":941},{"id":940},"test-plan-routes",[942],{"type":42,"value":943},"Test Plan Routes",{"type":37,"tag":632,"props":945,"children":946},{},[947,961],{"type":37,"tag":636,"props":948,"children":949},{},[950],{"type":37,"tag":640,"props":951,"children":952},{},[953,957],{"type":37,"tag":644,"props":954,"children":955},{},[956],{"type":42,"value":709},{"type":37,"tag":644,"props":958,"children":959},{},[960],{"type":42,"value":714},{"type":37,"tag":655,"props":962,"children":963},{},[964],{"type":37,"tag":640,"props":965,"children":966},{},[967,972],{"type":37,"tag":662,"props":968,"children":969},{},[970],{"type":42,"value":971},"9, \"review test plan\", \"update test plan\", \"check platform versions in test plan\", \"review RHDH test plan\"",{"type":37,"tag":662,"props":973,"children":974},{},[975,976,982],{"type":42,"value":730},{"type":37,"tag":56,"props":977,"children":979},{"className":978},[],[980],{"type":42,"value":981},"@rhdh-test-plan-review",{"type":42,"value":738},{"type":37,"tag":38,"props":984,"children":985},{},[986,990,991,997],{"type":37,"tag":45,"props":987,"children":988},{},[989],{"type":42,"value":746},{"type":42,"value":748},{"type":37,"tag":56,"props":992,"children":994},{"className":993},[],[995],{"type":42,"value":996},"..\u002Frhdh-test-plan-review\u002FSKILL.md",{"type":42,"value":756},{"type":37,"tag":350,"props":999,"children":1001},{"id":1000},"test-placement-routes",[1002],{"type":42,"value":1003},"Test Placement Routes",{"type":37,"tag":632,"props":1005,"children":1006},{},[1007,1021],{"type":37,"tag":636,"props":1008,"children":1009},{},[1010],{"type":37,"tag":640,"props":1011,"children":1012},{},[1013,1017],{"type":37,"tag":644,"props":1014,"children":1015},{},[1016],{"type":42,"value":709},{"type":37,"tag":644,"props":1018,"children":1019},{},[1020],{"type":42,"value":714},{"type":37,"tag":655,"props":1022,"children":1023},{},[1024],{"type":37,"tag":640,"props":1025,"children":1026},{},[1027,1032],{"type":37,"tag":662,"props":1028,"children":1029},{},[1030],{"type":42,"value":1031},"10, \"where should I test\", \"test placement\", \"does this need a cluster\", \"which repo does this test belong in\", \"should this be an e2e test\", \"test layer\"",{"type":37,"tag":662,"props":1033,"children":1034},{},[1035,1036,1042],{"type":42,"value":730},{"type":37,"tag":56,"props":1037,"children":1039},{"className":1038},[],[1040],{"type":42,"value":1041},"test-placement",{"type":42,"value":738},{"type":37,"tag":38,"props":1044,"children":1045},{},[1046,1050,1051,1057],{"type":37,"tag":45,"props":1047,"children":1048},{},[1049],{"type":42,"value":746},{"type":42,"value":748},{"type":37,"tag":56,"props":1052,"children":1054},{"className":1053},[],[1055],{"type":42,"value":1056},"..\u002Ftest-placement\u002FSKILL.md",{"type":42,"value":1058}," and follow its instructions.",{"type":37,"tag":350,"props":1060,"children":1062},{"id":1061},"release-management-routes",[1063],{"type":42,"value":1064},"Release Management Routes",{"type":37,"tag":632,"props":1066,"children":1067},{},[1068,1082],{"type":37,"tag":636,"props":1069,"children":1070},{},[1071],{"type":37,"tag":640,"props":1072,"children":1073},{},[1074,1078],{"type":37,"tag":644,"props":1075,"children":1076},{},[1077],{"type":42,"value":709},{"type":37,"tag":644,"props":1079,"children":1080},{},[1081],{"type":42,"value":714},{"type":37,"tag":655,"props":1083,"children":1084},{},[1085],{"type":37,"tag":640,"props":1086,"children":1087},{},[1088,1093],{"type":37,"tag":662,"props":1089,"children":1090},{},[1091],{"type":42,"value":1092},"11, \"release\", \"release manager\", \"release dates\", \"release status\", \"feature freeze\", \"code freeze\", \"blocker bugs\", \"CVEs\", \"release notes\", \"team breakdown\", \"freeze announcement\"",{"type":37,"tag":662,"props":1094,"children":1095},{},[1096,1097,1103],{"type":42,"value":730},{"type":37,"tag":56,"props":1098,"children":1100},{"className":1099},[],[1101],{"type":42,"value":1102},"@rhdh-release",{"type":42,"value":738},{"type":37,"tag":38,"props":1105,"children":1106},{},[1107,1111,1112,1118],{"type":37,"tag":45,"props":1108,"children":1109},{},[1110],{"type":42,"value":746},{"type":42,"value":748},{"type":37,"tag":56,"props":1113,"children":1115},{"className":1114},[],[1116],{"type":42,"value":1117},"..\u002Frhdh-release\u002FSKILL.md",{"type":42,"value":756},{"type":37,"tag":350,"props":1120,"children":1122},{"id":1121},"backstage-upgrade-routes",[1123],{"type":42,"value":1124},"Backstage Upgrade Routes",{"type":37,"tag":632,"props":1126,"children":1127},{},[1128,1142],{"type":37,"tag":636,"props":1129,"children":1130},{},[1131],{"type":37,"tag":640,"props":1132,"children":1133},{},[1134,1138],{"type":37,"tag":644,"props":1135,"children":1136},{},[1137],{"type":42,"value":709},{"type":37,"tag":644,"props":1139,"children":1140},{},[1141],{"type":42,"value":714},{"type":37,"tag":655,"props":1143,"children":1144},{},[1145],{"type":37,"tag":640,"props":1146,"children":1147},{},[1148,1153],{"type":37,"tag":662,"props":1149,"children":1150},{},[1151],{"type":42,"value":1152},"\"upgrade backstage\", \"bump backstage\", \"update @backstage\", \"backstage version\", \"align deps\", \"versions:bump\"",{"type":37,"tag":662,"props":1154,"children":1155},{},[1156,1157,1163],{"type":42,"value":730},{"type":37,"tag":56,"props":1158,"children":1160},{"className":1159},[],[1161],{"type":42,"value":1162},"backstage-upgrade",{"type":42,"value":738},{"type":37,"tag":38,"props":1165,"children":1166},{},[1167,1171,1172,1178],{"type":37,"tag":45,"props":1168,"children":1169},{},[1170],{"type":42,"value":746},{"type":42,"value":748},{"type":37,"tag":56,"props":1173,"children":1175},{"className":1174},[],[1176],{"type":42,"value":1177},"..\u002Fbackstage-upgrade\u002FSKILL.md",{"type":42,"value":756},{"type":37,"tag":350,"props":1180,"children":1182},{"id":1181},"general-routes",[1183],{"type":42,"value":1184},"General Routes",{"type":37,"tag":632,"props":1186,"children":1187},{},[1188,1202],{"type":37,"tag":636,"props":1189,"children":1190},{},[1191],{"type":37,"tag":640,"props":1192,"children":1193},{},[1194,1198],{"type":37,"tag":644,"props":1195,"children":1196},{},[1197],{"type":42,"value":709},{"type":37,"tag":644,"props":1199,"children":1200},{},[1201],{"type":42,"value":653},{"type":37,"tag":655,"props":1203,"children":1204},{},[1205,1218],{"type":37,"tag":640,"props":1206,"children":1207},{},[1208,1213],{"type":37,"tag":662,"props":1209,"children":1210},{},[1211],{"type":42,"value":1212},"12, \"doctor\", \"setup\", \"config\"",{"type":37,"tag":662,"props":1214,"children":1215},{},[1216],{"type":42,"value":1217},"Use CLI commands below",{"type":37,"tag":640,"props":1219,"children":1220},{},[1221,1226],{"type":37,"tag":662,"props":1222,"children":1223},{},[1224],{"type":42,"value":1225},"13, \"log\", \"todo\", \"activity\"",{"type":37,"tag":662,"props":1227,"children":1228},{},[1229],{"type":42,"value":1230},"Use tracking commands below",{"type":37,"tag":38,"props":1232,"children":1233},{},[1234,1236],{"type":42,"value":1235},"\u003Ccli_commands>\n",{"type":37,"tag":45,"props":1237,"children":1238},{},[1239],{"type":42,"value":1240},"Environment status (no args):",{"type":37,"tag":104,"props":1242,"children":1243},{"className":106,"code":162,"language":108,"meta":109,"style":109},[1244],{"type":37,"tag":56,"props":1245,"children":1246},{"__ignoreMap":109},[1247],{"type":37,"tag":115,"props":1248,"children":1249},{"class":117,"line":118},[1250],{"type":37,"tag":115,"props":1251,"children":1252},{"style":122},[1253],{"type":42,"value":162},{"type":37,"tag":38,"props":1255,"children":1256},{},[1257],{"type":42,"value":1258},"Shows overlay repo, rhdh-local, tools status, and next steps.",{"type":37,"tag":38,"props":1260,"children":1261},{},[1262],{"type":37,"tag":45,"props":1263,"children":1264},{},[1265],{"type":42,"value":1266},"Full environment check:",{"type":37,"tag":104,"props":1268,"children":1270},{"className":106,"code":1269,"language":108,"meta":109,"style":109},"$RHDH doctor\n",[1271],{"type":37,"tag":56,"props":1272,"children":1273},{"__ignoreMap":109},[1274],{"type":37,"tag":115,"props":1275,"children":1276},{"class":117,"line":118},[1277],{"type":37,"tag":115,"props":1278,"children":1279},{"style":122},[1280],{"type":42,"value":1269},{"type":37,"tag":38,"props":1282,"children":1283},{},[1284],{"type":37,"tag":45,"props":1285,"children":1286},{},[1287],{"type":42,"value":1288},"Configuration:",{"type":37,"tag":104,"props":1290,"children":1292},{"className":106,"code":1291,"language":108,"meta":109,"style":109},"$RHDH config init                  # Create config with auto-detection\n$RHDH config show                  # Show resolved paths\n$RHDH config set overlay \u002Fpath     # Set rhdh-plugin-export-overlays location\n$RHDH config set local \u002Fpath       # Set rhdh-local location\n$RHDH config set rhdh \u002Fpath        # Set main rhdh repo location\n$RHDH config set downstream \u002Fpath  # Set rhdh-downstream location\n$RHDH config set cli \u002Fpath         # Set rhdh-cli location\n$RHDH config set plugins \u002Fpath     # Set rhdh-plugins location\n$RHDH config set operator \u002Fpath    # Set rhdh-operator location\n$RHDH config set chart \u002Fpath       # Set rhdh-chart location\n$RHDH config set catalog \u002Fpath       # Set rhdh-plugin-catalog location\n$RHDH config set private-data \u002Fpath  # Set rhdh-skill-private-data location\n",[1293],{"type":37,"tag":56,"props":1294,"children":1295},{"__ignoreMap":109},[1296,1309,1323,1337,1362,1376,1389,1402,1415,1428,1441,1454],{"type":37,"tag":115,"props":1297,"children":1298},{"class":117,"line":118},[1299,1304],{"type":37,"tag":115,"props":1300,"children":1301},{"style":122},[1302],{"type":42,"value":1303},"$RHDH config init                  ",{"type":37,"tag":115,"props":1305,"children":1306},{"style":148},[1307],{"type":42,"value":1308},"# Create config with auto-detection\n",{"type":37,"tag":115,"props":1310,"children":1312},{"class":117,"line":1311},2,[1313,1318],{"type":37,"tag":115,"props":1314,"children":1315},{"style":122},[1316],{"type":42,"value":1317},"$RHDH config show                  ",{"type":37,"tag":115,"props":1319,"children":1320},{"style":148},[1321],{"type":42,"value":1322},"# Show resolved paths\n",{"type":37,"tag":115,"props":1324,"children":1326},{"class":117,"line":1325},3,[1327,1332],{"type":37,"tag":115,"props":1328,"children":1329},{"style":122},[1330],{"type":42,"value":1331},"$RHDH config set overlay \u002Fpath     ",{"type":37,"tag":115,"props":1333,"children":1334},{"style":148},[1335],{"type":42,"value":1336},"# Set rhdh-plugin-export-overlays location\n",{"type":37,"tag":115,"props":1338,"children":1340},{"class":117,"line":1339},4,[1341,1346,1352,1357],{"type":37,"tag":115,"props":1342,"children":1343},{"style":122},[1344],{"type":42,"value":1345},"$RHDH config set ",{"type":37,"tag":115,"props":1347,"children":1349},{"style":1348},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[1350],{"type":42,"value":1351},"local",{"type":37,"tag":115,"props":1353,"children":1354},{"style":122},[1355],{"type":42,"value":1356}," \u002Fpath       ",{"type":37,"tag":115,"props":1358,"children":1359},{"style":148},[1360],{"type":42,"value":1361},"# Set rhdh-local location\n",{"type":37,"tag":115,"props":1363,"children":1365},{"class":117,"line":1364},5,[1366,1371],{"type":37,"tag":115,"props":1367,"children":1368},{"style":122},[1369],{"type":42,"value":1370},"$RHDH config set rhdh \u002Fpath        ",{"type":37,"tag":115,"props":1372,"children":1373},{"style":148},[1374],{"type":42,"value":1375},"# Set main rhdh repo location\n",{"type":37,"tag":115,"props":1377,"children":1378},{"class":117,"line":435},[1379,1384],{"type":37,"tag":115,"props":1380,"children":1381},{"style":122},[1382],{"type":42,"value":1383},"$RHDH config set downstream \u002Fpath  ",{"type":37,"tag":115,"props":1385,"children":1386},{"style":148},[1387],{"type":42,"value":1388},"# Set rhdh-downstream location\n",{"type":37,"tag":115,"props":1390,"children":1391},{"class":117,"line":463},[1392,1397],{"type":37,"tag":115,"props":1393,"children":1394},{"style":122},[1395],{"type":42,"value":1396},"$RHDH config set cli \u002Fpath         ",{"type":37,"tag":115,"props":1398,"children":1399},{"style":148},[1400],{"type":42,"value":1401},"# Set rhdh-cli location\n",{"type":37,"tag":115,"props":1403,"children":1404},{"class":117,"line":491},[1405,1410],{"type":37,"tag":115,"props":1406,"children":1407},{"style":122},[1408],{"type":42,"value":1409},"$RHDH config set plugins \u002Fpath     ",{"type":37,"tag":115,"props":1411,"children":1412},{"style":148},[1413],{"type":42,"value":1414},"# Set rhdh-plugins location\n",{"type":37,"tag":115,"props":1416,"children":1417},{"class":117,"line":519},[1418,1423],{"type":37,"tag":115,"props":1419,"children":1420},{"style":122},[1421],{"type":42,"value":1422},"$RHDH config set operator \u002Fpath    ",{"type":37,"tag":115,"props":1424,"children":1425},{"style":148},[1426],{"type":42,"value":1427},"# Set rhdh-operator location\n",{"type":37,"tag":115,"props":1429,"children":1430},{"class":117,"line":547},[1431,1436],{"type":37,"tag":115,"props":1432,"children":1433},{"style":122},[1434],{"type":42,"value":1435},"$RHDH config set chart \u002Fpath       ",{"type":37,"tag":115,"props":1437,"children":1438},{"style":148},[1439],{"type":42,"value":1440},"# Set rhdh-chart location\n",{"type":37,"tag":115,"props":1442,"children":1443},{"class":117,"line":575},[1444,1449],{"type":37,"tag":115,"props":1445,"children":1446},{"style":122},[1447],{"type":42,"value":1448},"$RHDH config set catalog \u002Fpath       ",{"type":37,"tag":115,"props":1450,"children":1451},{"style":148},[1452],{"type":42,"value":1453},"# Set rhdh-plugin-catalog location\n",{"type":37,"tag":115,"props":1455,"children":1456},{"class":117,"line":595},[1457,1462],{"type":37,"tag":115,"props":1458,"children":1459},{"style":122},[1460],{"type":42,"value":1461},"$RHDH config set private-data \u002Fpath  ",{"type":37,"tag":115,"props":1463,"children":1464},{"style":148},[1465],{"type":42,"value":1466},"# Set rhdh-skill-private-data location\n",{"type":37,"tag":38,"props":1468,"children":1469},{},[1470],{"type":37,"tag":45,"props":1471,"children":1472},{},[1473],{"type":42,"value":1474},"Workspace operations:",{"type":37,"tag":104,"props":1476,"children":1478},{"className":106,"code":1477,"language":108,"meta":109,"style":109},"$RHDH workspace list           # List all plugin workspaces\n$RHDH workspace status \u003Cname>  # Show workspace details\n",[1479],{"type":37,"tag":56,"props":1480,"children":1481},{"__ignoreMap":109},[1482,1495],{"type":37,"tag":115,"props":1483,"children":1484},{"class":117,"line":118},[1485,1490],{"type":37,"tag":115,"props":1486,"children":1487},{"style":122},[1488],{"type":42,"value":1489},"$RHDH workspace list           ",{"type":37,"tag":115,"props":1491,"children":1492},{"style":148},[1493],{"type":42,"value":1494},"# List all plugin workspaces\n",{"type":37,"tag":115,"props":1496,"children":1497},{"class":117,"line":1311},[1498,1503,1508,1513,1518],{"type":37,"tag":115,"props":1499,"children":1500},{"style":122},[1501],{"type":42,"value":1502},"$RHDH workspace status ",{"type":37,"tag":115,"props":1504,"children":1505},{"style":128},[1506],{"type":42,"value":1507},"\u003C",{"type":37,"tag":115,"props":1509,"children":1510},{"style":122},[1511],{"type":42,"value":1512},"name",{"type":37,"tag":115,"props":1514,"children":1515},{"style":128},[1516],{"type":42,"value":1517},">",{"type":37,"tag":115,"props":1519,"children":1520},{"style":148},[1521],{"type":42,"value":1522},"  # Show workspace details\n",{"type":37,"tag":38,"props":1524,"children":1525},{},[1526],{"type":42,"value":1527},"\u003C\u002Fcli_commands>",{"type":37,"tag":38,"props":1529,"children":1530},{},[1531],{"type":42,"value":1532},"\u003Ctracking_system>",{"type":37,"tag":338,"props":1534,"children":1536},{"id":1535},"activity-tracking-recommended",[1537],{"type":42,"value":1538},"Activity Tracking (Recommended)",{"type":37,"tag":38,"props":1540,"children":1541},{},[1542,1544],{"type":42,"value":1543},"The CLI includes worklog and todo tracking to maintain context across sessions. ",{"type":37,"tag":45,"props":1545,"children":1546},{},[1547],{"type":42,"value":1548},"Use is recommended but not required.",{"type":37,"tag":350,"props":1550,"children":1552},{"id":1551},"why-track",[1553],{"type":42,"value":1554},"Why Track?",{"type":37,"tag":77,"props":1556,"children":1557},{},[1558,1568,1578],{"type":37,"tag":81,"props":1559,"children":1560},{},[1561,1566],{"type":37,"tag":45,"props":1562,"children":1563},{},[1564],{"type":42,"value":1565},"Cross-session memory",{"type":42,"value":1567}," — Pick up where you left off without re-explaining context",{"type":37,"tag":81,"props":1569,"children":1570},{},[1571,1576],{"type":37,"tag":45,"props":1572,"children":1573},{},[1574],{"type":42,"value":1575},"Audit trail",{"type":42,"value":1577}," — \"When did we onboard X?\" \u002F \"What happened with PR #123?\"",{"type":37,"tag":81,"props":1579,"children":1580},{},[1581,1586],{"type":37,"tag":45,"props":1582,"children":1583},{},[1584],{"type":42,"value":1585},"Follow-up reminders",{"type":42,"value":1587}," — Don't lose track of blocked items waiting on external input",{"type":37,"tag":350,"props":1589,"children":1591},{"id":1590},"worklog-commands",[1592],{"type":42,"value":1593},"Worklog Commands",{"type":37,"tag":38,"props":1595,"children":1596},{},[1597,1599,1605],{"type":42,"value":1598},"Append-only activity log stored in ",{"type":37,"tag":56,"props":1600,"children":1602},{"className":1601},[],[1603],{"type":42,"value":1604},".rhdh\u002Fworklog.jsonl",{"type":42,"value":322},{"type":37,"tag":104,"props":1607,"children":1609},{"className":106,"code":1608,"language":108,"meta":109,"style":109},"# Log activity with tags for searchability\n$RHDH log add \"Started onboard: aws-appsync\" --tag onboard --tag aws-appsync\n$RHDH log add \"PR #1234 merged\" --tag aws-appsync --tag pr\n\n# View recent entries\n$RHDH log show --limit 10\n\n# Search past activity\n$RHDH log search \"aws-appsync\"\n$RHDH log search \"onboard\"\n",[1610],{"type":37,"tag":56,"props":1611,"children":1612},{"__ignoreMap":109},[1613,1621,1647,1672,1681,1689,1697,1704,1712,1734],{"type":37,"tag":115,"props":1614,"children":1615},{"class":117,"line":118},[1616],{"type":37,"tag":115,"props":1617,"children":1618},{"style":148},[1619],{"type":42,"value":1620},"# Log activity with tags for searchability\n",{"type":37,"tag":115,"props":1622,"children":1623},{"class":117,"line":1311},[1624,1629,1633,1638,1642],{"type":37,"tag":115,"props":1625,"children":1626},{"style":122},[1627],{"type":42,"value":1628},"$RHDH log add ",{"type":37,"tag":115,"props":1630,"children":1631},{"style":128},[1632],{"type":42,"value":136},{"type":37,"tag":115,"props":1634,"children":1635},{"style":139},[1636],{"type":42,"value":1637},"Started onboard: aws-appsync",{"type":37,"tag":115,"props":1639,"children":1640},{"style":128},[1641],{"type":42,"value":136},{"type":37,"tag":115,"props":1643,"children":1644},{"style":122},[1645],{"type":42,"value":1646}," --tag onboard --tag aws-appsync\n",{"type":37,"tag":115,"props":1648,"children":1649},{"class":117,"line":1325},[1650,1654,1658,1663,1667],{"type":37,"tag":115,"props":1651,"children":1652},{"style":122},[1653],{"type":42,"value":1628},{"type":37,"tag":115,"props":1655,"children":1656},{"style":128},[1657],{"type":42,"value":136},{"type":37,"tag":115,"props":1659,"children":1660},{"style":139},[1661],{"type":42,"value":1662},"PR #1234 merged",{"type":37,"tag":115,"props":1664,"children":1665},{"style":128},[1666],{"type":42,"value":136},{"type":37,"tag":115,"props":1668,"children":1669},{"style":122},[1670],{"type":42,"value":1671}," --tag aws-appsync --tag pr\n",{"type":37,"tag":115,"props":1673,"children":1674},{"class":117,"line":1339},[1675],{"type":37,"tag":115,"props":1676,"children":1678},{"emptyLinePlaceholder":1677},true,[1679],{"type":42,"value":1680},"\n",{"type":37,"tag":115,"props":1682,"children":1683},{"class":117,"line":1364},[1684],{"type":37,"tag":115,"props":1685,"children":1686},{"style":148},[1687],{"type":42,"value":1688},"# View recent entries\n",{"type":37,"tag":115,"props":1690,"children":1691},{"class":117,"line":435},[1692],{"type":37,"tag":115,"props":1693,"children":1694},{"style":122},[1695],{"type":42,"value":1696},"$RHDH log show --limit 10\n",{"type":37,"tag":115,"props":1698,"children":1699},{"class":117,"line":463},[1700],{"type":37,"tag":115,"props":1701,"children":1702},{"emptyLinePlaceholder":1677},[1703],{"type":42,"value":1680},{"type":37,"tag":115,"props":1705,"children":1706},{"class":117,"line":491},[1707],{"type":37,"tag":115,"props":1708,"children":1709},{"style":148},[1710],{"type":42,"value":1711},"# Search past activity\n",{"type":37,"tag":115,"props":1713,"children":1714},{"class":117,"line":519},[1715,1720,1724,1729],{"type":37,"tag":115,"props":1716,"children":1717},{"style":122},[1718],{"type":42,"value":1719},"$RHDH log search ",{"type":37,"tag":115,"props":1721,"children":1722},{"style":128},[1723],{"type":42,"value":136},{"type":37,"tag":115,"props":1725,"children":1726},{"style":139},[1727],{"type":42,"value":1728},"aws-appsync",{"type":37,"tag":115,"props":1730,"children":1731},{"style":128},[1732],{"type":42,"value":1733},"\"\n",{"type":37,"tag":115,"props":1735,"children":1736},{"class":117,"line":547},[1737,1741,1745,1750],{"type":37,"tag":115,"props":1738,"children":1739},{"style":122},[1740],{"type":42,"value":1719},{"type":37,"tag":115,"props":1742,"children":1743},{"style":128},[1744],{"type":42,"value":136},{"type":37,"tag":115,"props":1746,"children":1747},{"style":139},[1748],{"type":42,"value":1749},"onboard",{"type":37,"tag":115,"props":1751,"children":1752},{"style":128},[1753],{"type":42,"value":1733},{"type":37,"tag":350,"props":1755,"children":1757},{"id":1756},"todo-commands",[1758],{"type":42,"value":1759},"Todo Commands",{"type":37,"tag":38,"props":1761,"children":1762},{},[1763,1765,1771],{"type":42,"value":1764},"Section-based markdown todos stored in ",{"type":37,"tag":56,"props":1766,"children":1768},{"className":1767},[],[1769],{"type":42,"value":1770},".rhdh\u002FTODO.md",{"type":42,"value":322},{"type":37,"tag":104,"props":1773,"children":1775},{"className":106,"code":1774,"language":108,"meta":109,"style":109},"# Create todo when blocked\n$RHDH todo add \"Check license with legal\" --context \"aws-appsync\"\n$RHDH todo add \"Follow up on stale PR #1234\" --context \"triage\"\n\n# List and manage\n$RHDH todo list              # All todos\n$RHDH todo list --pending    # Only open items\n\n# Update progress\n$RHDH todo note \u003Cslug> \"Sent email to legal@redhat.com\"\n$RHDH todo done \u003Cslug>\n\n# View raw file\n$RHDH todo show\n",[1776],{"type":37,"tag":56,"props":1777,"children":1778},{"__ignoreMap":109},[1779,1787,1825,1862,1869,1877,1890,1903,1910,1918,1953,1981,1988,1997],{"type":37,"tag":115,"props":1780,"children":1781},{"class":117,"line":118},[1782],{"type":37,"tag":115,"props":1783,"children":1784},{"style":148},[1785],{"type":42,"value":1786},"# Create todo when blocked\n",{"type":37,"tag":115,"props":1788,"children":1789},{"class":117,"line":1311},[1790,1795,1799,1804,1808,1813,1817,1821],{"type":37,"tag":115,"props":1791,"children":1792},{"style":122},[1793],{"type":42,"value":1794},"$RHDH todo add ",{"type":37,"tag":115,"props":1796,"children":1797},{"style":128},[1798],{"type":42,"value":136},{"type":37,"tag":115,"props":1800,"children":1801},{"style":139},[1802],{"type":42,"value":1803},"Check license with legal",{"type":37,"tag":115,"props":1805,"children":1806},{"style":128},[1807],{"type":42,"value":136},{"type":37,"tag":115,"props":1809,"children":1810},{"style":122},[1811],{"type":42,"value":1812}," --context ",{"type":37,"tag":115,"props":1814,"children":1815},{"style":128},[1816],{"type":42,"value":136},{"type":37,"tag":115,"props":1818,"children":1819},{"style":139},[1820],{"type":42,"value":1728},{"type":37,"tag":115,"props":1822,"children":1823},{"style":128},[1824],{"type":42,"value":1733},{"type":37,"tag":115,"props":1826,"children":1827},{"class":117,"line":1325},[1828,1832,1836,1841,1845,1849,1853,1858],{"type":37,"tag":115,"props":1829,"children":1830},{"style":122},[1831],{"type":42,"value":1794},{"type":37,"tag":115,"props":1833,"children":1834},{"style":128},[1835],{"type":42,"value":136},{"type":37,"tag":115,"props":1837,"children":1838},{"style":139},[1839],{"type":42,"value":1840},"Follow up on stale PR #1234",{"type":37,"tag":115,"props":1842,"children":1843},{"style":128},[1844],{"type":42,"value":136},{"type":37,"tag":115,"props":1846,"children":1847},{"style":122},[1848],{"type":42,"value":1812},{"type":37,"tag":115,"props":1850,"children":1851},{"style":128},[1852],{"type":42,"value":136},{"type":37,"tag":115,"props":1854,"children":1855},{"style":139},[1856],{"type":42,"value":1857},"triage",{"type":37,"tag":115,"props":1859,"children":1860},{"style":128},[1861],{"type":42,"value":1733},{"type":37,"tag":115,"props":1863,"children":1864},{"class":117,"line":1339},[1865],{"type":37,"tag":115,"props":1866,"children":1867},{"emptyLinePlaceholder":1677},[1868],{"type":42,"value":1680},{"type":37,"tag":115,"props":1870,"children":1871},{"class":117,"line":1364},[1872],{"type":37,"tag":115,"props":1873,"children":1874},{"style":148},[1875],{"type":42,"value":1876},"# List and manage\n",{"type":37,"tag":115,"props":1878,"children":1879},{"class":117,"line":435},[1880,1885],{"type":37,"tag":115,"props":1881,"children":1882},{"style":122},[1883],{"type":42,"value":1884},"$RHDH todo list              ",{"type":37,"tag":115,"props":1886,"children":1887},{"style":148},[1888],{"type":42,"value":1889},"# All todos\n",{"type":37,"tag":115,"props":1891,"children":1892},{"class":117,"line":463},[1893,1898],{"type":37,"tag":115,"props":1894,"children":1895},{"style":122},[1896],{"type":42,"value":1897},"$RHDH todo list --pending    ",{"type":37,"tag":115,"props":1899,"children":1900},{"style":148},[1901],{"type":42,"value":1902},"# Only open items\n",{"type":37,"tag":115,"props":1904,"children":1905},{"class":117,"line":491},[1906],{"type":37,"tag":115,"props":1907,"children":1908},{"emptyLinePlaceholder":1677},[1909],{"type":42,"value":1680},{"type":37,"tag":115,"props":1911,"children":1912},{"class":117,"line":519},[1913],{"type":37,"tag":115,"props":1914,"children":1915},{"style":148},[1916],{"type":42,"value":1917},"# Update progress\n",{"type":37,"tag":115,"props":1919,"children":1920},{"class":117,"line":547},[1921,1926,1930,1935,1939,1944,1949],{"type":37,"tag":115,"props":1922,"children":1923},{"style":122},[1924],{"type":42,"value":1925},"$RHDH todo note ",{"type":37,"tag":115,"props":1927,"children":1928},{"style":128},[1929],{"type":42,"value":1507},{"type":37,"tag":115,"props":1931,"children":1932},{"style":122},[1933],{"type":42,"value":1934},"slug",{"type":37,"tag":115,"props":1936,"children":1937},{"style":128},[1938],{"type":42,"value":1517},{"type":37,"tag":115,"props":1940,"children":1941},{"style":128},[1942],{"type":42,"value":1943}," \"",{"type":37,"tag":115,"props":1945,"children":1946},{"style":139},[1947],{"type":42,"value":1948},"Sent email to legal@redhat.com",{"type":37,"tag":115,"props":1950,"children":1951},{"style":128},[1952],{"type":42,"value":1733},{"type":37,"tag":115,"props":1954,"children":1955},{"class":117,"line":575},[1956,1961,1967,1972,1976],{"type":37,"tag":115,"props":1957,"children":1958},{"style":122},[1959],{"type":42,"value":1960},"$RHDH todo ",{"type":37,"tag":115,"props":1962,"children":1964},{"style":1963},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[1965],{"type":42,"value":1966},"done",{"type":37,"tag":115,"props":1968,"children":1969},{"style":128},[1970],{"type":42,"value":1971}," \u003C",{"type":37,"tag":115,"props":1973,"children":1974},{"style":122},[1975],{"type":42,"value":1934},{"type":37,"tag":115,"props":1977,"children":1978},{"style":128},[1979],{"type":42,"value":1980},">\n",{"type":37,"tag":115,"props":1982,"children":1983},{"class":117,"line":595},[1984],{"type":37,"tag":115,"props":1985,"children":1986},{"emptyLinePlaceholder":1677},[1987],{"type":42,"value":1680},{"type":37,"tag":115,"props":1989,"children":1991},{"class":117,"line":1990},13,[1992],{"type":37,"tag":115,"props":1993,"children":1994},{"style":148},[1995],{"type":42,"value":1996},"# View raw file\n",{"type":37,"tag":115,"props":1998,"children":2000},{"class":117,"line":1999},14,[2001],{"type":37,"tag":115,"props":2002,"children":2003},{"style":122},[2004],{"type":42,"value":2005},"$RHDH todo show\n",{"type":37,"tag":350,"props":2007,"children":2009},{"id":2008},"when-to-track",[2010],{"type":42,"value":2011},"When to Track",{"type":37,"tag":38,"props":2013,"children":2014},{},[2015],{"type":37,"tag":45,"props":2016,"children":2017},{},[2018],{"type":42,"value":2019},"Log these milestones:",{"type":37,"tag":77,"props":2021,"children":2022},{},[2023,2028,2033],{"type":37,"tag":81,"props":2024,"children":2025},{},[2026],{"type":42,"value":2027},"Starting\u002Fcompleting a workflow (onboard, update, triage)",{"type":37,"tag":81,"props":2029,"children":2030},{},[2031],{"type":42,"value":2032},"PR actions (opened, published, merged)",{"type":37,"tag":81,"props":2034,"children":2035},{},[2036],{"type":42,"value":2037},"Significant decisions or findings",{"type":37,"tag":38,"props":2039,"children":2040},{},[2041],{"type":37,"tag":45,"props":2042,"children":2043},{},[2044],{"type":42,"value":2045},"Create todos for:",{"type":37,"tag":77,"props":2047,"children":2048},{},[2049,2054,2059],{"type":37,"tag":81,"props":2050,"children":2051},{},[2052],{"type":42,"value":2053},"Blocked items waiting on external response (legal, upstream, team)",{"type":37,"tag":81,"props":2055,"children":2056},{},[2057],{"type":42,"value":2058},"Post-merge follow-ups (verify in staging, remove workarounds)",{"type":37,"tag":81,"props":2060,"children":2061},{},[2062],{"type":42,"value":2063},"Items that span multiple sessions",{"type":37,"tag":350,"props":2065,"children":2067},{"id":2066},"writing-effective-todos",[2068],{"type":42,"value":2069},"Writing Effective Todos",{"type":37,"tag":38,"props":2071,"children":2072},{},[2073,2075,2080],{"type":42,"value":2074},"Todos must be ",{"type":37,"tag":45,"props":2076,"children":2077},{},[2078],{"type":42,"value":2079},"self-contained",{"type":42,"value":2081},"—a new session should understand the task without re-investigating.",{"type":37,"tag":632,"props":2083,"children":2084},{},[2085,2101],{"type":37,"tag":636,"props":2086,"children":2087},{},[2088],{"type":37,"tag":640,"props":2089,"children":2090},{},[2091,2096],{"type":37,"tag":644,"props":2092,"children":2093},{},[2094],{"type":42,"value":2095},"❌ Too vague",{"type":37,"tag":644,"props":2097,"children":2098},{},[2099],{"type":42,"value":2100},"✅ Actionable",{"type":37,"tag":655,"props":2102,"children":2103},{},[2104,2133,2146],{"type":37,"tag":640,"props":2105,"children":2106},{},[2107,2112],{"type":37,"tag":662,"props":2108,"children":2109},{},[2110],{"type":42,"value":2111},"Fix #1875 version mismatch",{"type":37,"tag":662,"props":2113,"children":2114},{},[2115,2117,2123,2125,2131],{"type":42,"value":2116},"Fix #1875 (lightspeed): bump ",{"type":37,"tag":56,"props":2118,"children":2120},{"className":2119},[],[2121],{"type":42,"value":2122},"1.3.0→1.4.0",{"type":42,"value":2124}," in ",{"type":37,"tag":56,"props":2126,"children":2128},{"className":2127},[],[2129],{"type":42,"value":2130},"workspace.yaml",{"type":42,"value":2132}," like #1903",{"type":37,"tag":640,"props":2134,"children":2135},{},[2136,2141],{"type":37,"tag":662,"props":2137,"children":2138},{},[2139],{"type":42,"value":2140},"Add \u002Fok-to-test to #1921",{"type":37,"tag":662,"props":2142,"children":2143},{},[2144],{"type":42,"value":2145},"Add \u002Fok-to-test to #1921 (techdocs) — smoke tests ready, needs external trigger",{"type":37,"tag":640,"props":2147,"children":2148},{},[2149,2154],{"type":37,"tag":662,"props":2150,"children":2151},{},[2152],{"type":42,"value":2153},"Review #1906 SonarCloud",{"type":37,"tag":662,"props":2155,"children":2156},{},[2157],{"type":42,"value":2158},"Review #1906 (catalog): SonarCloud blocked on coverage — check if test file missing",{"type":37,"tag":38,"props":2160,"children":2161},{},[2162,2167,2169,2174],{"type":37,"tag":45,"props":2163,"children":2164},{},[2165],{"type":42,"value":2166},"Include:",{"type":42,"value":2168}," PR number, plugin name, specific action, and ",{"type":37,"tag":360,"props":2170,"children":2171},{},[2172],{"type":42,"value":2173},"why",{"type":42,"value":2175}," it's needed.",{"type":37,"tag":38,"props":2177,"children":2178},{},[2179],{"type":42,"value":2180},"\u003C\u002Ftracking_system>",{"type":37,"tag":38,"props":2182,"children":2183},{},[2184,2186,2191,2193,2198,2200,2205,2207,2212,2214,2219],{"type":42,"value":2185},"\u003Creference_index>\n",{"type":37,"tag":45,"props":2187,"children":2188},{},[2189],{"type":42,"value":2190},"RHDH Repos:",{"type":42,"value":2192}," references\u002Frhdh-repos.md — repository map, ecosystem relationships, key paths\n",{"type":37,"tag":45,"props":2194,"children":2195},{},[2196],{"type":42,"value":2197},"GitHub CLI (PRs, CI, workflows):",{"type":42,"value":2199}," references\u002Fgithub-reference.md\n",{"type":37,"tag":45,"props":2201,"children":2202},{},[2203],{"type":42,"value":2204},"Version Matrix:",{"type":42,"value":2206}," references\u002Fversions.md — RHDH\u002FBackstage version compatibility, create-app versions\n",{"type":37,"tag":45,"props":2208,"children":2209},{},[2210],{"type":42,"value":2211},"Slack Notifications:",{"type":42,"value":2213}," references\u002Fslack-notification.md — Slack ping templates, handle mapping, channel routing\n",{"type":37,"tag":45,"props":2215,"children":2216},{},[2217],{"type":42,"value":2218},"Private Data:",{"type":42,"value":2220}," references\u002Fprivate-data.md — private data repo setup and sync (Rich Filter exports)\n\u003C\u002Freference_index>",{"type":37,"tag":38,"props":2222,"children":2223},{},[2224],{"type":42,"value":2225},"\u003Cskills_index>",{"type":37,"tag":350,"props":2227,"children":2229},{"id":2228},"specialized-skills",[2230],{"type":42,"value":2231},"Specialized Skills",{"type":37,"tag":632,"props":2233,"children":2234},{},[2235,2255],{"type":37,"tag":636,"props":2236,"children":2237},{},[2238],{"type":37,"tag":640,"props":2239,"children":2240},{},[2241,2245,2250],{"type":37,"tag":644,"props":2242,"children":2243},{},[2244],{"type":42,"value":714},{"type":37,"tag":644,"props":2246,"children":2247},{},[2248],{"type":42,"value":2249},"Purpose",{"type":37,"tag":644,"props":2251,"children":2252},{},[2253],{"type":42,"value":2254},"Path",{"type":37,"tag":655,"props":2256,"children":2257},{},[2258,2279,2300,2321,2342,2363,2383],{"type":37,"tag":640,"props":2259,"children":2260},{},[2261,2266,2271],{"type":37,"tag":662,"props":2262,"children":2263},{},[2264],{"type":42,"value":2265},"overlay",{"type":37,"tag":662,"props":2267,"children":2268},{},[2269],{"type":42,"value":2270},"Manage plugins in rhdh-plugin-export-overlays",{"type":37,"tag":662,"props":2272,"children":2273},{},[2274],{"type":37,"tag":56,"props":2275,"children":2277},{"className":2276},[],[2278],{"type":42,"value":754},{"type":37,"tag":640,"props":2280,"children":2281},{},[2282,2287,2292],{"type":37,"tag":662,"props":2283,"children":2284},{},[2285],{"type":42,"value":2286},"create-plugin",{"type":37,"tag":662,"props":2288,"children":2289},{},[2290],{"type":42,"value":2291},"Create, export, package, and wire RHDH dynamic plugins",{"type":37,"tag":662,"props":2293,"children":2294},{},[2295],{"type":37,"tag":56,"props":2296,"children":2298},{"className":2297},[],[2299],{"type":42,"value":815},{"type":37,"tag":640,"props":2301,"children":2302},{},[2303,2308,2313],{"type":37,"tag":662,"props":2304,"children":2305},{},[2306],{"type":42,"value":2307},"rhdh-local",{"type":37,"tag":662,"props":2309,"children":2310},{},[2311],{"type":42,"value":2312},"Enable\u002Fdisable\u002Ftest plugins in local RHDH",{"type":37,"tag":662,"props":2314,"children":2315},{},[2316],{"type":37,"tag":56,"props":2317,"children":2319},{"className":2318},[],[2320],{"type":42,"value":876},{"type":37,"tag":640,"props":2322,"children":2323},{},[2324,2329,2334],{"type":37,"tag":662,"props":2325,"children":2326},{},[2327],{"type":42,"value":2328},"rhdh-pr-review",{"type":37,"tag":662,"props":2330,"children":2331},{},[2332],{"type":42,"value":2333},"PR code review and live cluster testing",{"type":37,"tag":662,"props":2335,"children":2336},{},[2337],{"type":37,"tag":56,"props":2338,"children":2340},{"className":2339},[],[2341],{"type":42,"value":936},{"type":37,"tag":640,"props":2343,"children":2344},{},[2345,2350,2355],{"type":37,"tag":662,"props":2346,"children":2347},{},[2348],{"type":42,"value":2349},"rhdh-test-plan-review",{"type":37,"tag":662,"props":2351,"children":2352},{},[2353],{"type":42,"value":2354},"Reviews an RHDH test plan Jira ticket and suggests platform\u002Fintegration version updates",{"type":37,"tag":662,"props":2356,"children":2357},{},[2358],{"type":37,"tag":56,"props":2359,"children":2361},{"className":2360},[],[2362],{"type":42,"value":996},{"type":37,"tag":640,"props":2364,"children":2365},{},[2366,2370,2375],{"type":37,"tag":662,"props":2367,"children":2368},{},[2369],{"type":42,"value":1041},{"type":37,"tag":662,"props":2371,"children":2372},{},[2373],{"type":42,"value":2374},"Propose where to test a change: repo, test layer, location, and scaffolding",{"type":37,"tag":662,"props":2376,"children":2377},{},[2378],{"type":37,"tag":56,"props":2379,"children":2381},{"className":2380},[],[2382],{"type":42,"value":1056},{"type":37,"tag":640,"props":2384,"children":2385},{},[2386,2391,2396],{"type":37,"tag":662,"props":2387,"children":2388},{},[2389],{"type":42,"value":2390},"rhdh-release",{"type":37,"tag":662,"props":2392,"children":2393},{},[2394],{"type":42,"value":2395},"Release dates, status tracking, team coordination, freeze announcements, blocker bugs, CVEs, release notes",{"type":37,"tag":662,"props":2397,"children":2398},{},[2399],{"type":37,"tag":56,"props":2400,"children":2402},{"className":2401},[],[2403],{"type":42,"value":1117},{"type":37,"tag":350,"props":2405,"children":2407},{"id":2406},"shared-references",[2408],{"type":42,"value":2409},"Shared References",{"type":37,"tag":632,"props":2411,"children":2412},{},[2413,2432],{"type":37,"tag":636,"props":2414,"children":2415},{},[2416],{"type":37,"tag":640,"props":2417,"children":2418},{},[2419,2424,2428],{"type":37,"tag":644,"props":2420,"children":2421},{},[2422],{"type":42,"value":2423},"Reference",{"type":37,"tag":644,"props":2425,"children":2426},{},[2427],{"type":42,"value":2249},{"type":37,"tag":644,"props":2429,"children":2430},{},[2431],{"type":42,"value":2254},{"type":37,"tag":655,"props":2433,"children":2434},{},[2435,2457],{"type":37,"tag":640,"props":2436,"children":2437},{},[2438,2443,2448],{"type":37,"tag":662,"props":2439,"children":2440},{},[2441],{"type":42,"value":2442},"rhdh-repos",{"type":37,"tag":662,"props":2444,"children":2445},{},[2446],{"type":42,"value":2447},"Repository map, ecosystem relationships, key paths",{"type":37,"tag":662,"props":2449,"children":2450},{},[2451],{"type":37,"tag":56,"props":2452,"children":2454},{"className":2453},[],[2455],{"type":42,"value":2456},"references\u002Frhdh-repos.md",{"type":37,"tag":640,"props":2458,"children":2459},{},[2460,2465,2470],{"type":37,"tag":662,"props":2461,"children":2462},{},[2463],{"type":42,"value":2464},"versions",{"type":37,"tag":662,"props":2466,"children":2467},{},[2468],{"type":42,"value":2469},"RHDH\u002FBackstage version compatibility matrix",{"type":37,"tag":662,"props":2471,"children":2472},{},[2473],{"type":37,"tag":56,"props":2474,"children":2476},{"className":2475},[],[2477],{"type":42,"value":2478},"references\u002Fversions.md",{"type":37,"tag":38,"props":2480,"children":2481},{},[2482],{"type":42,"value":2483},"\u003C\u002Fskills_index>",{"type":37,"tag":2485,"props":2486,"children":2487},"style",{},[2488],{"type":42,"value":2489},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2491,"total":2659},[2492,2506,2519,2538,2554,2571,2579,2598,2610,2623,2635,2647],{"slug":2493,"name":2493,"fn":2494,"description":2495,"org":2496,"tags":2497,"stars":20,"repoUrl":21,"updatedAt":2505},"agent-ready","assess repository readiness for AI agents","Assesses a git repository's readiness for use by AI coding agents using the agentready CLI, then walks through and addresses each gap. RHDH-aware: detects RHDH repositories and uses rhdh-repos.md context to pre-fill AGENTS.md and skip inapplicable findings. Use when asked to \"assess agent readiness\", \"run agentready\", \"check how agent-ready this repo is\", \"make this repo agent-ready\", \"improve agent readiness score\", \"assess all RHDH repos\", \"batch agent readiness\", or \"onboard this repo for agents\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2498,2501,2504],{"name":2499,"slug":2500,"type":16},"Agents","agents",{"name":2502,"slug":2503,"type":16},"Code Analysis","code-analysis",{"name":18,"slug":19,"type":16},"2026-07-16T06:03:24.758348",{"slug":1162,"name":1162,"fn":2507,"description":2508,"org":2509,"tags":2510,"stars":20,"repoUrl":21,"updatedAt":2518},"upgrade Backstage dependencies","Upgrade @backstage\u002F* dependencies in a plugin or app to a target version. Use when asked to \"upgrade backstage\", \"bump backstage\", \"update @backstage\", \"align backstage deps\", \"backstage version bump\", \"upgrade dependencies\", \"backstage-cli versions:bump\", \"update to latest backstage\", \"fix version mismatch\", \"backstage version alignment\", \"upgrade before migration\", or any request to update Backstage package versions in a project.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2511,2512,2515],{"name":18,"slug":19,"type":16},{"name":2513,"slug":2514,"type":16},"Maintenance","maintenance",{"name":2516,"slug":2517,"type":16},"Migration","migration","2026-07-16T06:03:24.067361",{"slug":2520,"name":2520,"fn":2521,"description":2522,"org":2523,"tags":2524,"stars":20,"repoUrl":21,"updatedAt":2537},"base-images-and-rpms","update base images and lockfiles","Updates base images with updateBaseImages.sh and regenerates rpms.lock.yaml with rpm-lockfile-prototype in redhat-developer\u002Frhdh, rhdh-must-gather, and rhdh-operator. Use --analyze for read-only Containerfile\u002FDockerfile scan (current vs latest tags, UBI skew). Use for weekly upstream maintenance, UBI\u002FRHEL base image bumps, RPM lockfile refresh, base-images-and-rpms, main, release-*, or analyzing base images before updating.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2525,2528,2531,2534],{"name":2526,"slug":2527,"type":16},"Automation","automation",{"name":2529,"slug":2530,"type":16},"Configuration","configuration",{"name":2532,"slug":2533,"type":16},"Containers","containers",{"name":2535,"slug":2536,"type":16},"Deployment","deployment","2026-07-16T06:03:27.784453",{"slug":2539,"name":2539,"fn":2540,"description":2541,"org":2542,"tags":2543,"stars":20,"repoUrl":21,"updatedAt":2553},"bug-fix","diagnose and fix plugin bugs","Reproduce, diagnose, fix, and PR plugin bugs from Jira tickets or GitHub issues. Works with both rhdh-plugins and community-plugins. Supports UI bugs (Playwright e2e with before\u002Fafter recordings) and backend bugs (unit\u002Fintegration test verification). Triages issues for agent-readiness before attempting a fix. Accepts a Jira key (RHDHBUGS-1934), Jira URL (redhat.atlassian.net\u002Fbrowse\u002F...), GitHub issue URL (github.com\u002F...\u002Fissues\u002FN), or a request to \"fix this bug\", \"reproduce and fix\", \"\u002Fbug-fix\". By default, stops after the fix for user verification before PR creation. Supports --no-verify mode to skip the verification gate and auto-create the PR. Chains into raise-pr for the full PR lifecycle.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2544,2547,2550],{"name":2545,"slug":2546,"type":16},"Debugging","debugging",{"name":2548,"slug":2549,"type":16},"QA","qa",{"name":2551,"slug":2552,"type":16},"Testing","testing","2026-07-29T06:00:33.054762",{"slug":2555,"name":2555,"fn":2556,"description":2557,"org":2558,"tags":2559,"stars":20,"repoUrl":21,"updatedAt":2570},"compute-plugin-package-overlay-cve-list","generate CVE management reports","Builds an RHDH CVE Management CSV from GA plugin workspace changes in rhdh-plugin-export-overlays since a version tag (patches, source.json, plugins-list). One row per CVE × plugins-list package (multi-workspace CVEs expand). Use for \"CVE CSV\", \"workspace CVEs since tag\", \"collect overlay CVEs\", \"CVE management CSV\", orchestrator\u002Flightspeed CVE review, or plugin package overlay CVE list.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2560,2563,2564,2567],{"name":2561,"slug":2562,"type":16},"Compliance","compliance",{"name":18,"slug":19,"type":16},{"name":2565,"slug":2566,"type":16},"Reporting","reporting",{"name":2568,"slug":2569,"type":16},"Security","security","2026-08-01T05:41:57.852801",{"slug":2286,"name":2286,"fn":2572,"description":2573,"org":2574,"tags":2575,"stars":20,"repoUrl":21,"updatedAt":2578},"scaffold and package RHDH dynamic plugins","Full lifecycle for RHDH dynamic plugins — scaffold, implement, export, package, and configure. Use when asked to \"create RHDH plugin\", \"bootstrap dynamic plugin\", \"create backend plugin\", \"create frontend plugin\", \"export dynamic plugin\", \"package plugin as OCI\", \"generate frontend wiring\", \"create plugin container image\", \"configure mount points\", \"create dynamic route\", \"add entity card\", \"scaffold RHDH plugin\", \"publish plugin to registry\", \"create tgz archive\", or mentions creating, exporting, packaging, or wiring a Backstage plugin for Red Hat Developer Hub. Also use when asked to \"build a plugin from scratch\", \"dynamic plugin tutorial\", \"RHDH plugin from scratch\", or \"build Backstage plugin for RHDH\". Covers backend plugins (APIs, scaffolder actions, processors), frontend plugins (pages, cards, themes), export\u002Fpackaging (OCI, tgz, npm), and frontend wiring configuration (mount points, routes, entity tabs, themes).\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2576,2577],{"name":2535,"slug":2536,"type":16},{"name":14,"slug":15,"type":16},"2026-07-16T06:02:28.983498",{"slug":2580,"name":2580,"fn":2581,"description":2582,"org":2583,"tags":2584,"stars":20,"repoUrl":21,"updatedAt":2597},"cursor-mcp-auth","authenticate Atlassian MCP for Jira","Ensures Cursor Atlassian MCP (plugin-atlassian-atlassian → mcp.atlassian.com) is authenticated for redhat.atlassian.net via OAuth. Use for \"authenticate Jira\", \"Atlassian MCP\", \"jira auth failed\", \"mcp_auth Atlassian\", \"cursor MCP auth\", or when another skill needs working Jira access through Cursor MCP.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2585,2588,2591,2594],{"name":2586,"slug":2587,"type":16},"Auth","auth",{"name":2589,"slug":2590,"type":16},"Jira","jira",{"name":2592,"slug":2593,"type":16},"MCP","mcp",{"name":2595,"slug":2596,"type":16},"OAuth","oauth","2026-07-29T06:00:33.525179",{"slug":2599,"name":2599,"fn":2600,"description":2601,"org":2602,"tags":2603,"stars":20,"repoUrl":21,"updatedAt":2609},"konflux-release-data-rpa","update release tags in konflux-release-data","Bumps RHDH ReleasePlanAdmission tag versions in konflux-release-data for a stream release (e.g. 1.9.7), opens a GitLab merge request, and launches it in the browser. Use when updating RPA tags, konflux-release-data, ReleasePlanAdmission, rhdh-1-9-*.yaml, rhdh-plugin-catalog-1-9-*.yaml, or preparing an RHDH patch release.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2604,2605,2606],{"name":2526,"slug":2527,"type":16},{"name":2535,"slug":2536,"type":16},{"name":2607,"slug":2608,"type":16},"GitLab","gitlab","2026-07-16T06:00:19.516231",{"slug":2611,"name":2611,"fn":2612,"description":2613,"org":2614,"tags":2615,"stars":20,"repoUrl":21,"updatedAt":2622},"konflux-tekton-updates","update Konflux Tekton task digests","Bumps Konflux Tekton task digests with .tekton\u002FupdateDigests.sh --minor --no-push, applies konflux-ci\u002Fbuild-definitions MIGRATION.md pipeline fixes, and regenerates PipelineRuns. Use for rhdh-plugin-catalog, RHDH midstream (4-rhdh), Konflux task minor bumps, prefetch-dependencies-oci-ta, build-image-index, or updateDigests.sh.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2616,2617,2620,2621],{"name":2526,"slug":2527,"type":16},{"name":2618,"slug":2619,"type":16},"CI\u002FCD","ci-cd",{"name":2535,"slug":2536,"type":16},{"name":18,"slug":19,"type":16},"2026-07-16T06:03:28.123118",{"slug":2624,"name":2624,"fn":2625,"description":2626,"org":2627,"tags":2628,"stars":20,"repoUrl":21,"updatedAt":2634},"lifecycle","check Red Hat product lifecycle status","Check version lifecycle and support status for platforms and integrations used by RHDH. Covers OCP, AKS, EKS, GKE, RHDH releases, RHBK, Quay, PostgreSQL, and any Red Hat product via the Product Life Cycles API. Use when asking about version support, EOL dates, GA dates, support phases, or planning version upgrades. Also use for \"is X still supported\", \"what versions should we test\", or \"when does X reach EOL\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2629,2630,2631],{"name":2561,"slug":2562,"type":16},{"name":2513,"slug":2514,"type":16},{"name":2632,"slug":2633,"type":16},"Operations","operations","2026-07-16T06:03:19.344038",{"slug":2636,"name":2636,"fn":2637,"description":2638,"org":2639,"tags":2640,"stars":20,"repoUrl":21,"updatedAt":2646},"nfs-migration","migrate plugins to New Frontend System","Migrate Backstage frontend plugins from the legacy system to the New Frontend System (NFS). Use when asked to \"migrate to NFS\", \"new frontend system\", \"convert plugin to NFS\", \"createFrontendPlugin\", \"PageBlueprint\", \"ApiBlueprint\", \"SubPageBlueprint\", \"alpha to GA\", \"legacy to NFS\", \"frontend migration\", \"extension blueprints\", \"migrate frontend plugin\", \"NFS support\", \"graduate alpha\", or mentions migrating a Backstage plugin to the new frontend system for RHDH.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2641,2642,2645],{"name":18,"slug":19,"type":16},{"name":2643,"slug":2644,"type":16},"Frontend","frontend",{"name":2516,"slug":2517,"type":16},"2026-07-16T06:03:27.078987",{"slug":2265,"name":2265,"fn":2648,"description":2649,"org":2650,"tags":2651,"stars":20,"repoUrl":21,"updatedAt":2658},"manage RHDH plugin export overlays","Manages the rhdh-plugin-export-overlays repository — onboards plugins to the Extensions Catalog, updates plugin versions, fixes overlay build failures, triages and analyzes PRs, triggers publishes, and manages plugin workspaces. Use when working with overlays, importing plugins, debugging CI, checking PRs, bumping versions, or mentions \"Extensions Catalog\", \"overlay build failed\", \"plugin registry\", \"overlay PR\", \"overlay doctor\", \"plugin import\", \"add plugin to catalog\", \"onboard plugin\", or \"plugin workspace\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2652,2653,2656,2657],{"name":2526,"slug":2527,"type":16},{"name":2654,"slug":2655,"type":16},"Code Review","code-review",{"name":2535,"slug":2536,"type":16},{"name":18,"slug":19,"type":16},"2026-07-16T06:03:20.380044",24,{"items":2661,"total":2659},[2662,2668,2674,2681,2687,2694,2699],{"slug":2493,"name":2493,"fn":2494,"description":2495,"org":2663,"tags":2664,"stars":20,"repoUrl":21,"updatedAt":2505},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2665,2666,2667],{"name":2499,"slug":2500,"type":16},{"name":2502,"slug":2503,"type":16},{"name":18,"slug":19,"type":16},{"slug":1162,"name":1162,"fn":2507,"description":2508,"org":2669,"tags":2670,"stars":20,"repoUrl":21,"updatedAt":2518},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2671,2672,2673],{"name":18,"slug":19,"type":16},{"name":2513,"slug":2514,"type":16},{"name":2516,"slug":2517,"type":16},{"slug":2520,"name":2520,"fn":2521,"description":2522,"org":2675,"tags":2676,"stars":20,"repoUrl":21,"updatedAt":2537},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2677,2678,2679,2680],{"name":2526,"slug":2527,"type":16},{"name":2529,"slug":2530,"type":16},{"name":2532,"slug":2533,"type":16},{"name":2535,"slug":2536,"type":16},{"slug":2539,"name":2539,"fn":2540,"description":2541,"org":2682,"tags":2683,"stars":20,"repoUrl":21,"updatedAt":2553},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2684,2685,2686],{"name":2545,"slug":2546,"type":16},{"name":2548,"slug":2549,"type":16},{"name":2551,"slug":2552,"type":16},{"slug":2555,"name":2555,"fn":2556,"description":2557,"org":2688,"tags":2689,"stars":20,"repoUrl":21,"updatedAt":2570},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2690,2691,2692,2693],{"name":2561,"slug":2562,"type":16},{"name":18,"slug":19,"type":16},{"name":2565,"slug":2566,"type":16},{"name":2568,"slug":2569,"type":16},{"slug":2286,"name":2286,"fn":2572,"description":2573,"org":2695,"tags":2696,"stars":20,"repoUrl":21,"updatedAt":2578},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2697,2698],{"name":2535,"slug":2536,"type":16},{"name":14,"slug":15,"type":16},{"slug":2580,"name":2580,"fn":2581,"description":2582,"org":2700,"tags":2701,"stars":20,"repoUrl":21,"updatedAt":2597},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2702,2703,2704,2705],{"name":2586,"slug":2587,"type":16},{"name":2589,"slug":2590,"type":16},{"name":2592,"slug":2593,"type":16},{"name":2595,"slug":2596,"type":16}]