Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add redhat-developer/rhdh-skills --skill rhdh-plugin-authoringgit clone --depth 1 https://github.com/redhat-developer/rhdh-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/redhat-developer/rhdh-skills/rhdh-plugin-authoring)<a href="https://agentmods.dev/skills/redhat-developer/rhdh-skills/rhdh-plugin-authoring"><img src="https://agentmods.dev/badge/skills/redhat-developer/rhdh-skills/rhdh-plugin-authoring.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00159 | $0.01299 |
| Opus 5 | $0.00079 | $0.00649 |
| Sonnet 5 | $0.00032 | $0.00260 |
| Haiku 4.5 | $0.00016 | $0.00130 |
Grade A, and why
rhdh-plugin-authoring scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 106 lines — stays where its author put it; the contents beside it link to each section on GitHub.
RHDH Plugin Authoring
Own plugin source code: creating a new Backstage dynamic plugin for RHDH and implementing features inside an existing one. Backend and frontend are branches of the same job — the same conventions, the same build gates, the same repo — so choose the branch from the request rather than asking for a skill.
Start here
- Read the target repository's
AGENTS.mdorCLAUDE.mdand any linked specification or issue. Repository rules beat anything written here. - Run
python scripts/detect-rhdh-context.py --path <plugin-or-workspace>in an existing checkout. Record role, frontend system, plugin ID, dynamic status, MUI version, and package manager. - Establish the target RHDH and Backstage versions. Prefer an explicit user or
repository value; otherwise invoke
/rhdh-contextfor repository, tool, and version facts. If it is unavailable, ask the user instead of guessing. - Inspect branch and status before modifying files, and protect uncommitted work.
For a new plugin or a change to a public API where materially different designs
are valid and the request does not settle the choice, invoke /grilling as a
design gate, use the constraints it produces, and show the design before
implementing. If /grilling is not installed, say so, name
/setup-rhdh-skills install as the human's next step, and pause that branch.
Route by outcome
| Outcome | Load and follow |
|---|---|
| Scaffold a backend dynamic plugin | references/backend.md; run scripts/scaffold.py |
| Scaffold a frontend dynamic plugin | references/frontend.md; run scripts/scaffold.py |
| Decide what kind of extension to build | references/plugin-types.md |
| Implement or review plugin code | references/development-patterns.md, then only the relevant reference below |
| Style with Backstage UI or MUI | references/bui.md |
| Write NFS code in a new plugin | references/nfs.md |
| Apply RHDH-specific patterns | references/rhdh.md |
| Run or extend the plugin dev app | references/dev-app.md |
| Write tests for plugin code | references/testing.md |
| Write or read a frontend feature spec | references/frontend-specs.md |
What ships with it
15 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- agents/openai.yaml 132 B
- examples/dynamic-plugins.yaml 6.3 KB
- references/backend.md 4.1 KB
- references/backstage-skills.md 1.2 KB
- references/bui.md 6.9 KB
- references/dev-app.md 5.3 KB
- references/development-patterns.md 10 KB
- references/frontend-specs.md 3.0 KB
- references/frontend.md 5.8 KB
- references/nfs.md 5.7 KB
- references/plugin-types.md 3.7 KB
- references/rhdh.md 4.3 KB
- references/testing.md 5.3 KB
- scripts/detect-rhdh-context.py 6.3 KB runs code
- scripts/scaffold.py 14 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 106 lines · 159 tokens per session scan A 29e75c407fa3
rhdh-plugin-authoring is a skill published in the GitHub repository redhat-developer/rhdh-skills (16 stars, last pushed 3d ago), licensed Apache-2.0. It adds 159 tokens to every session and 1,299 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
nextjs-pages-router
Set up tRPC in Next.js Pages Router with createNextApiHandler, createTRPCNext, withTRPC HOC, SSR via ssr option and ssrPrepass, SSG via createServerSideHelpers with getStaticProps, and server-side helpers for getServerSideProps prefetching.
copilotkit-upgrade
Use when migrating a CopilotKit v1 application to v2 -- updating package imports, replacing deprecated hooks and components, switching from GraphQL runtime to AG-UI protocol runtime, and resolving breaking API changes.
with-tanstack-query
Compose Angular Query with signal-owned Table filtering, sorting, and pagination state using reactive query options, manual row-model boundaries, direct query data, server counts, and valid injection context.
auth-web-cloudbase
CloudBase Web Authentication Quick Guide for frontend integration after auth-tool has already been checked. Provides concise and practical Web authentication solutions with multiple login methods and complete user management.
service-digital-engagement-channel-configure
Configures and deploys enhanced chat Messaging Channels for Messaging for In-App and Web (MIAW). Use when the user needs to create, deploy, and activate a messaging channel configured with Omni-Channel Flow, Omni-Channel Queue, User, or Agentforce Service Agent routing. Generates MessagingChannel metadata, deploys it…
om-system-extension
Extend installed Open Mercato modules through UMES enrichers, interceptors, mutation guards, widgets, menus, entity extensions, events, component/page replacements, and overrides. Use for "extend core", "add field/column/action", "hide page", "intercept API", "UMES", or "rozszerz moduł".