About rhdh-plugin-wiring
A skill for generating RHDH frontend dynamic-plugin wiring YAML from a plugin’s actual exports. It checks Scalprum naming and import names, while leaving source changes and applying the configuration to other skills.
Key features
- 01Derive Scalprum name from artifact or package
- 02Inspect plugin source exports
- 03Generate complete wiring YAML
- 04Cover routes, entity pages, and extensions
- 05Identify unwireable placements
Use cases
- 01Wire exported plugin extensions into RHDH
- 02Check import names against public exports
- 03Configure routes, entity tabs, or cards
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ redhat-developer/ rhdh-skills --skill rhdh-plugin-wiringAfter installing, type/rhdh-plugin-wiringin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
agents/openai.yamlreferences/entity-page.mdfrontend-wiring.mdwiring.mdDetails
From the project READMERHDH 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.