This skill should be used when the user asks to "create RHDH backend plugin", "bootstrap backend dynamic plugin", "create backstage backend plugin for RHDH", "new backend plugin for Red Hat Developer Hub", "create dynamic backend plugin", "scaffold RHDH backend plugin", "new scaffolder action", "create catalog processor", or mentions creating a new backend plugin, backend module, or server-side functionality for Red Hat Developer Hub or RHDH. This skill is specifically for backend plugins - for frontend plugins, use the separate frontend plugin skill. Use when this capability is needed.
Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
This skill should be used when the user asks to "create RHDH backend plugin", "bootstrap backend dynamic plugin", "create backstage backend plugin for RHDH", "new backend plugin for Red Hat Developer Hub", "create dynamic backend plugin", "scaffold RHDH backend plugin", "new scaffolder action", "create catalog processor", or mentions creating a new backend plugin, backend module, or server-side functionality for Red Hat Developer Hub or RHDH. This skill is specifically for backend plugins - for frontend plugins, use the separate frontend plugin skill. Use when this capability is needed.
metadata
{"author":"durandom"}
Purpose
Bootstrap a new backend dynamic plugin for Red Hat Developer Hub (RHDH). RHDH is the enterprise-ready Backstage applicationthat supports dynamic plugins - plugins that can be installed or uninstalled without rebuilding the application.
Note: This skill covers backend plugins only. Frontend dynamic plugins have different requirements (Scalprum configuration, mount points, dynamic routes) and are covered in a separate skill.
When to Use
Use this skill when creating a new backend plugin intended for RHDH dynamic plugin deployment. This includes:
New backend API plugins
Backend modules for existing plugins (e.g., catalog-backend-module-*)
Before starting, ensure the following are available:
Node.js 22+ and Yarn
Container runtime (podman or docker)
Access to a container registry (e.g., quay.io) for publishing
Workflow Overview
Determine RHDH Version - Identify target RHDH version for compatibility
Create Backstage App - Scaffold Backstage app with matching version
Create Backend Plugin - Generate new backend plugin using Backstage CLI
Implement Plugin Logic - Write the plugin code using new backend system
Export and Package - Build, export, and package using RHDH CLI (see export-and-package skill)
Configure for RHDH - Create dynamic-plugins.yaml configuration
Step 1: Determine RHDH Version
Check the target RHDH version and find the compatible Backstage version. Consult ../rhdh/references/versions.md file for the version compatibility matrix and available RHDH versions.
Ask the user which RHDH version they are targeting if not specified.
Step 2: Create Backstage Application
Create a new Backstage application in the current directory using the version-appropriate create-app:
# For RHDH 1.8 (adjust version as needed)echo"backstage" | npx @backstage/create-app@0.7.3 --path .
After creation, install dependencies:
yarn install
The only purpose this serves is to ensure you can later create the plugin using the correct version of the Backstage CLI. All development and testing will be done in the plugin directory.
Step 3: Create Backend Plugin
Generate a new backend plugin using the Backstage CLI:
yarn new
When prompted:
Select "backend-plugin" as the plugin type
Enter a plugin ID (e.g., my-plugin)
The plugin will be created at plugins/<plugin-id>-backend/
Backend plugins must use the new backend system for dynamic plugin compatibility. The plugin entry point should export a default using createBackendPlugin() or createBackendModule().