rhdh-plugin-wiring
Skill20 starsChanged 20 days agoApache-2.0View on GitHub
Generates the Red Hat Developer Hub dynamic-plugins.yaml configuration that makes an exported Backstage frontend plugin appear in RHDH: derive the Scalprum name from plugin-manifest.json or the package name, and write the pluginConfig.dynamicPlugins.frontend block with dynamicRoutes, menuItems, mountPoints, appIcons, apiFactories, routeBindings, entity tabs, cards, context menu items, and provider components. Use for "generate the wiring for this plugin", "which mount point does this card need", entity page customization, importName, or a plugin that installs but never renders. To apply the configuration to a running instance instead, use /rhdh-local.
In this repository73 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- rhdh-base-imagesSkill
- rhdh-konflux-rpaSkill
- rhdh-konflux-tasksSkill
- rhdh-plugin-catalog-index-status-and-update-flowSkill
- rhdh-pr-mrSkill
- rhdh-prow-jobsSkill
- rhdh-prow-release-branchSkill
- rhdh-prow-triggerSkill
- rhdh-yarn-bumpSkill
- rhdh-feature-docsSkill
- rhdh-jira-createSkill
- rhdh-jira-linkSkill
- rhdh-jira-refineSkill
- rhdh-jira-sprint-planSkill
- rhdh-jira-sprint-reportSkill
- rhdh-jira-updateSkill
- rhdh-prepare-refinementSkill
- agent-readinessSkill
- ask-rhdhSkill
- clean-proseSkill
- setup-rhdh-skillsSkill
- skill-authoringSkill
- rhdh-backportSkill
- rhdh-backstage-upgradeSkill
- rhdh-localSkill
- rhdh-operator-pr-testSkill
- rhdh-overlaySkill
- rhdh-playwrightSkill
- rhdh-plugin-authoringSkill
- rhdh-plugin-bug-fixSkill
- rhdh-plugin-exportSkill
- rhdh-plugin-midstream-propagateSkill
- rhdh-plugin-nfs-migrationSkill
- rhdh-pr-createSkill
- rhdh-pr-reviewSkill
- rhdh-test-placementSkill
- backstage-api-changesSkill
- mutation-gateSkill
- openspec-journalSkill
- prose-editingSkill
- rhdh-contextSkill
- rhdh-forgeSkill
- rhdh-jira-apiSkill
- rhdh-jira-authoringSkill
- rhdh-spec-driven-schemaSkill
- openspec-apply-changeSkill
- openspec-archive-changeSkill
- openspec-audit-changeSkill
- openspec-bulk-archive-changeSkill
- openspec-continue-changeSkill
- openspec-exploreSkill
- openspec-ff-changeSkill
- openspec-new-changeSkill
- openspec-onboardSkill
- openspec-sync-specsSkill
- openspec-verify-changeSkill
- rhdh-overlay-cve-exportSkill
- rhdh-platform-lifecycleSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 1 is distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 32
Read package.json for the package name and any scalprum block.
- Very specific: line 33
Read src/plugin.ts or src/plugin.tsx and src/index.ts for the extensions and public exports.
- Very specific: line 35
Read dist-dynamic/dist-scalprum/plugin-manifest.json when the plugin has been exported.
- Very specific: line 75
Every importName must name a real export.
- Distinctive: line 77
Do not invent a mount point.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
RHDH Plugin Wiring
Own the configuration that connects an exported frontend dynamic plugin to
RHDH's extension points. Read the plugin's real exports, derive the Scalprum
name the same way RHDH does, and emit configuration whose every importName
corresponds to something the plugin actually exports.
Scope against /rhdh-local
This skill generates wiring configuration from plugin source. /rhdh-local
applies configuration to a running local RHDH instance, enables and
disables plugins there, and restarts containers. Producing the YAML is here;
loading it into an instance is there.
Start here
- Read
package.jsonfor the package name and anyscalprumblock. - Read
src/plugin.tsorsrc/plugin.tsxandsrc/index.tsfor the extensions and public exports. - Read
dist-dynamic/dist-scalprum/plugin-manifest.jsonwhen the plugin has been exported; itsnamefield is authoritative for the Scalprum name. - Report the exports you found before generating configuration.
Route by outcome
| Outcome | Load and follow |
| Generate wiring for a frontend plugin | references/wiring.md |
| Configure a specific wiring option in depth | references/frontend-wiring.md |
| Place content on a catalog entity page | references/entity-page.md |
references/frontend-wiring.md is the complete option reference: dynamic
routes, mount points and their configs, entity tabs and cards, search result
types, themes, scaffolder field extensions, API factories, and route bindings.
references/entity-page.md covers the entity page structure itself — default
tabs, card placement, context menu items, and context providers.
Boundaries
- This skill emits configuration. It does not modify plugin source, export artifacts, or run RHDH.
/rhdh-plugin-authoringowns plugin source. If a neededimportNamedoes not exist, the fix belongs there, not in the configuration./rhdh-plugin-exportowns producing the artifact and itsplugin-manifest.json./rhdh-plugin-nfs-migrationowns converting legacy mount points into New Frontend System extensions. This skill writes the legacy dynamic-plugin configuration that RHDH consumes today./rhdh-localowns applying the configuration and restarting an instance./rhdh-overlayowns the catalog metadata for a published plugin.
Invoke a named skill and describe the handoff in the conversation. Never open another skill's files.
Invariants
- The Scalprum name must match the deployed artifact exactly. Prefer
plugin-manifest.json, thenpackage.jsonscalprum.name, and only then derive it from the package name. - Every
importNamemust name a real export. Verify againstsrc/index.tsrather than assuming a naming convention. - Do not invent a mount point. Use the ones the target RHDH version defines and say so when a requested placement has no mount point.
- Emit complete, runnable YAML. A fragment that the user has to reassemble is the most common source of a plugin that installs and never renders.
- Configuration alone changes nothing until it is applied and the instance restarts. Say which restart the change needs.
Completion
Report the resolved Scalprum name and where it came from, the exports found and the configuration entry each produced, the complete YAML block, any requested placement you could not wire and why, and the named skill to invoke next to apply or publish it.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

