AgentSkillsCN

overlay

在叠加仓库 (rhdh-plugin-export-overlays) 中管理 RHDH 插件。在扩展目录中完成插件的引入、更新、维护与分类处理。

SKILL.md
--- frontmatter
name: overlay
description: Manage RHDH plugins in the overlay repository (rhdh-plugin-export-overlays). Onboard, update, maintain, and triage plugins in the Extensions Catalog.

<cli_setup> This skill uses the orchestrator CLI. Set up first:

bash
RHDH=../rhdh/scripts/rhdh

Verify environment:

bash
$RHDH

If needs_setup: true, run $RHDH doctor before proceeding. </cli_setup>

<essential_principles>

<principle name="overlay_repo_pattern"> All plugin exports go through [rhdh-plugin-export-overlays](https://github.com/redhat-developer/rhdh-plugin-export-overlays). Each plugin lives in a workspace folder with `source.json` + `plugins-list.yaml`. CI handles the actual export - we define the configuration. </principle> <principle name="version_fields"> Two Backstage version fields serve different purposes: - `source.json` → `repo-backstage-version` = upstream's **actual** version - `backstage.json` → `version` = our **override** for RHDH compatibility

Never confuse these. CI validates the source.json value matches upstream. </principle>

<principle name="test_with_pr_artifacts"> Always test with PR artifacts before merge using rhdh-local. OCI format: `oci://<registry>/<image>:pr_<number>__<version>!<package-name>` Success = plugin loads and attempts API calls (auth errors are expected without real credentials). </principle> <principle name="copy_similar_workspaces"> When stuck, find a similar workspace and copy its patterns. AWS plugins → copy from `aws-ecs/` or `aws-codebuild/` Community plugins → copy from `backstage/` Check existing PRs for structure examples. </principle>

</essential_principles>

<intake> ## Identify Task

What overlay task would you like to do?

Plugin Owner Tasks

For contributors managing their own plugin(s)

  1. Onboard a new plugin — Add upstream plugin to Extensions Catalog
  2. Update plugin version — Bump to newer upstream commit/tag
  3. Check plugin status — Verify health and compatibility
  4. Fix build failure — Debug CI/publish issues

Core Team Tasks

For COPE/Plugins team managing the overlay repository

  1. Triage overlay PRs — Prioritize open PRs by criticality
  2. Analyze specific PR — Check assignment, compatibility, merge readiness
  3. Trigger publish — Add /publish comment to PR(s)

Wait for response before proceeding. </intake>

<routing> ### Plugin Owner Routes
ResponseWorkflow
1, "onboard", "add", "new plugin", "import"workflows/onboard-plugin.md
2, "update", "bump", "upgrade", "version"workflows/update-plugin.md
3, "status", "check", "health"Run inline status checks
4, "fix", "debug", "failure", "error"workflows/fix-build.md

Core Team Routes

ResponseWorkflow
5, "triage", "prioritize", "backlog"workflows/triage-prs.md
6, "analyze", "check PR", "PR #"workflows/analyze-pr.md
7, "publish", "trigger"Run inline publish trigger

After reading the workflow, follow it exactly. </routing>

<inline_status_check> For status checks, use the CLI:

bash
$RHDH workspace list              # List all workspaces
$RHDH workspace status <name>     # Check specific workspace

Or run direct commands:

bash
# Recent CI runs
gh run list --repo redhat-developer/rhdh-plugin-export-overlays --limit 5

# Open PRs for workspace
gh pr list --repo redhat-developer/rhdh-plugin-export-overlays --search "<name>"

</inline_status_check>

<inline_publish_trigger> For triggering publish on one or more PRs:

bash
REPO="redhat-developer/rhdh-plugin-export-overlays"

# Single PR
gh pr comment <number> --repo $REPO --body "/publish"

# Check if publish already ran
gh pr view <number> --repo $REPO --json statusCheckRollup \
  --jq '.statusCheckRollup[] | select(.name | contains("publish"))'

Guards before triggering:

  1. PR is open (not closed/merged)
  2. No do-not-merge label
  3. Publish check not already successful

See references/github-reference.md (in rhdh skill) for full patterns. </inline_publish_trigger>

<reference_index> Overlay repo patterns: references/overlay-repo.md CI feedback interpretation: references/ci-feedback.md Metadata format: references/metadata-format.md PR label priorities: references/label-priority.md RHDH Local testing: references/rhdh-local.md

For GitHub/JIRA patterns: See ../rhdh/references/ </reference_index>

<workflows_index>

Plugin Owner Workflows

WorkflowPurpose
onboard-plugin.mdFull 6-phase process to add new plugin
update-plugin.mdBump to newer upstream version
fix-build.mdDebug and resolve CI failures

Core Team Workflows

WorkflowPurpose
triage-prs.mdPrioritize open PRs by criticality
analyze-pr.mdDeep-dive on single PR (assignment, compat, readiness)
doctor.mdEnvironment setup guidance
</workflows_index>

<templates_index>

TemplatePurpose
workspace-files.mdsource.json, plugins-list.yaml, backstage.json
</templates_index>

<success_criteria>

Plugin Owner Success

  • Plugin workspace created with correct structure
  • CODEOWNERS entry added for the workspace
  • CI passes (/publish succeeds)
  • Plugin tested locally with rhdh-local
  • PR merged to overlay repo
  • (Recommended) Activity logged via $RHDH log add

Core Team Success

  • PR backlog prioritized with actionable next steps
  • Stale PRs identified with suggested owners
  • Publish triggered on PRs needing it
  • Compatibility issues flagged before merge
  • (Recommended) Triage session logged, follow-ups tracked via $RHDH todo </success_criteria>