From rhdh
Skill for testing RHDH plugins locally using the rhdh-local-setup customization system. Covers enabling/disabling plugins, switching modes, and running end-to-end plugin tests.
npx claudepluginhub redhat-developer/rhdh-skill --plugin rhdhThis skill uses the workspace's default tool permissions.
<essential_principles>
references/customization-system.mdreferences/env-reference.mdreferences/troubleshooting.mdrhdh_local/__init__.pyrhdh_local/backup.pyrhdh_local/cli.pyrhdh_local/compose.pyrhdh_local/health.pyrhdh_local/settings.pyrhdh_local/sync.pyscripts/NOTICEscripts/rhdh-localworkflows/disable-plugin.mdworkflows/enable-plugin.mdworkflows/switch-mode.mdworkflows/test-plugin.mdSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides MCP server integration in Claude Code plugins via .mcp.json or plugin.json configs for stdio, SSE, HTTP types, enabling external services as tools.
<essential_principles>
All configuration edits go in `rhdh-customizations/`, never in `rhdh-local/` directly. After every edit, run `rhdh local apply` to sync copies. This is the fundamental invariant. Use `rhdh local up` / `rhdh local down` — never `podman compose restart/up/down` directly when Lightspeed or Orchestrator are enabled. These commands manage the local compose lifecycle directly through Python; do not bypass them with direct compose commands when shared-network services are enabled. See `references/troubleshooting.md` for network namespace details. Plugin package definitions come from `rhdh-plugin-export-overlays` on GitHub. Always fetch the OCI reference from `spec.dynamicArtifact` in the package metadata — do NOT construct OCI URLs manually.</essential_principles>
## Step 1: Identify What You Want to DoWhat would you like to do with your local RHDH instance?
Wait for response before proceeding.
| Response | Workflow | |----------|----------| | 1, "enable", "add plugin", "install plugin" | `workflows/enable-plugin.md` | | 2, "disable", "remove plugin", "turn off plugin" | `workflows/disable-plugin.md` | | 3, "switch", "pristine", "customized", "mode" | `workflows/switch-mode.md` | | 4, "test", "verify", "check plugin" | `workflows/test-plugin.md` | | 5, "status", "list plugins", "show plugins" | Read `rhdh-customizations/configs/dynamic-plugins/dynamic-plugins.override.yaml` and list entries | | "start", "up", "start rhdh" | Run `rhdh local up` (add `--lightspeed`, `--orchestrator`, or `--both` as needed) | | "stop", "down", "stop rhdh" | Run `rhdh local down` | | "health", "check health", "is rhdh running" | Run `rhdh local health` | | "backup", "save config", "archive" | Run `rhdh local backup` | | "restore", "restore backup" | Run `rhdh local restore ` (dry-run by default) | | "env", "environment variables", "env vars", ".env" | Read `references/env-reference.md` | | "troubleshoot", "debug", "504", "error", "not working" | Read `references/troubleshooting.md` |<reference_index>
Customization system (copy-sync, file mapping, edit rules): references/customization-system.md
Environment variables (.env reference): references/env-reference.md
Troubleshooting & comparative testing: references/troubleshooting.md
Container lifecycle, startup scripts, network namespace: references/troubleshooting.md — restart patterns, 504 debugging, network namespace rules
Dynamic plugin YAML format, OCI references: ../overlay/references/rhdh-local.md section <dynamic_plugins_config>
</reference_index>
<skills_index>
| Skill | Purpose | Path |
|---|---|---|
| overlay | Onboard/update plugins in rhdh-plugin-export-overlays | ../overlay/SKILL.md |
| rhdh | Orchestrator — routes to all skills, runs CLI checks | ../rhdh/SKILL.md |
</skills_index>