Borrowing it
Nothing to install: this file belongs to opendatahub-io/rhoai-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/opendatahub-io/rhoai-mcp/main/.claude/commands/scaffold-plugin.mdgit clone --depth 1 https://github.com/opendatahub-io/rhoai-mcpWrote 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/commands/opendatahub-io/rhoai-mcp/scaffold-plugin)<a href="https://agentmods.dev/commands/opendatahub-io/rhoai-mcp/scaffold-plugin"><img src="https://agentmods.dev/badge/commands/opendatahub-io/rhoai-mcp/scaffold-plugin/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/opendatahub-io/rhoai-mcp/scaffold-plugin"><img src="https://agentmods.dev/badge/commands/opendatahub-io/rhoai-mcp/scaffold-plugin.svg" alt="Reviewed on agentmods" width="80" 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.00000 | $0.05593 |
| Opus 5.5 | $0.00000 | $0.02237 |
| Sonnet 5.5 | $0.00000 | $0.01119 |
| Haiku 4.5 | $0.00000 | $0.00559 |
Grade A, and why
scaffold-plugin 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 2mo 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 — 793 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Scaffold Plugin
Scaffold a new domain or composite plugin for rhoai-mcp.
Instructions
You are scaffolding a new plugin. Follow these steps exactly.
Step 1: Gather Information
Ask the user these questions one at a time (wait for each answer before asking the next):
- Plugin type: Domain (wraps a single K8s resource) or Composite (orchestrates multiple domains)?
- Plugin name: snake_case module name (e.g.,
my_feature) - Resource name: Singular noun for the K8s resource (e.g.,
widget). Used in tool names likelist_widgets,get_widget. - Custom CRDs? Does this domain use custom Kubernetes CRDs? If yes, ask for:
- CRD group (e.g.,
my.domain.io) - CRD version (e.g.,
v1) - CRD plural (e.g.,
widgets) - CRD kind (e.g.,
Widget)
- CRD group (e.g.,
- Optional features: Does it need MCP resources (data endpoints) or prompts (workflow guides)?
- Maintainer: Email for the plugin maintainer (default:
[email protected])
Derive these variables from the answers:
DOMAIN_NAME= plugin name (snake_case)DOMAIN_CLASS= PascalCase version of plugin name (e.g.,my_feature->MyFeature)DOMAIN_DESCRIPTION= humanized version (e.g., "My Feature management")RESOURCE_NAME= resource name (snake_case singular)RESOURCE_CLASS= PascalCase version of resource name (e.g.,widget->Widget)CRD_GROUP,CRD_VERSION,CRD_PLURAL,CRD_KIND= CRD details (if applicable)CRD_KIND_UPPER= uppercased CRD kind (e.g.,Widget->WIDGET)MAINTAINER= maintainer email
Step 2: Generate Files
Replace ALL {PLACEHOLDER} patterns in the code blocks below with the derived values.
Domain Plugin Files
If the user chose Domain, create the following files under src/rhoai_mcp/domains/{DOMAIN_NAME}/:
__init__.py
"""{DOMAIN_DESCRIPTION} domain."""
from rhoai_mcp.domains.{DOMAIN_NAME}.client import {DOMAIN_CLASS}Client
from rhoai_mcp.domains.{DOMAIN_NAME}.models import (
{RESOURCE_CLASS},
{RESOURCE_CLASS}Status,
)
__all__ = [
"{DOMAIN_CLASS}Client",
"{RESOURCE_CLASS}",
"{RESOURCE_CLASS}Status",
]
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.
- 2mo ago First seen · 793 lines · 0 tokens per session scan A 15555ffe675f
scaffold-plugin is a command published in the GitHub repository opendatahub-io/rhoai-mcp (10 stars, last pushed yesterday), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 5,593 tokens. 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-31.
scaffold-plugin compared with commands from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| scaffold-pluginopendatahub-io/rhoai-mcp | Command | 10 | yesterday | Apache-2.0 | A | 0 | Claude Code |
| checklistgithub/spec-kit | Command | 148k | yesterday | MIT | A | 13 | Claude Code |
| clarifygithub/spec-kit | Command | 148k | yesterday | MIT | A | 27 | Claude Code |
| specifygithub/spec-kit | Command | 148k | yesterday | MIT | A | 13 | Claude Code |
| analyzegithub/spec-kit | Command | 148k | yesterday | MIT | A | 26 | Claude Code |
| convergegithub/spec-kit | Command | 148k | yesterday | MIT | A | 35 | Claude Code |
| implementgithub/spec-kit | Command | 148k | yesterday | MIT | A | 14 | Claude Code |