Consolidate 4 plugin skills into unified create-plugin skill#17
Merged
Conversation
Merge create-backend-plugin, create-frontend-plugin, export-and-package, and generate-frontend-wiring into a single create-plugin skill with sub-commands: backend, frontend, export, wiring. Changes: - New skills/create-plugin/ with SKILL.md sub-command router (130 lines) - Unified scaffold.py (--type backend|frontend replaces two scripts) - Command references in references/ (backend.md, frontend.md, export.md, wiring.md) - Deep-dive references preserved (export-options, packaging-formats, etc.) - Consolidated examples/ (deduplicated dynamic-plugins.yaml) - Updated rhdh router to point to create-plugin (renumbered intake menu) - Updated README.md, ADR-0003 - Fixed export-plugin.py: Windows shell=True, updated docstrings - Fixed scaffold.py: NO_COLOR support, stderr TTY check - Applied review feedback: compatibility frontmatter, Grid Spacing gotcha, script path note, Backstage App note, normalized reference paths Removed: - skills/create-backend-plugin/ - skills/create-frontend-plugin/ - skills/export-and-package/ - skills/generate-frontend-wiring/ All 245 tests pass.
Lessons learned from the create-plugin consolidation: - New references/consolidation-guide.md: signals for when to consolidate, step-by-step workflow (analyze, design, merge scripts, consolidate examples, update consumers, audit paths, review), anti-patterns - Updated SKILL.md: consolidation triggers in description, routing to consolidation guide, signal check during interview, consolidation- specific review checklist items - Updated scripts-guide.md: NO_COLOR env var support, stderr vs stdout TTY gotcha, Windows shell=True for subprocess with npm/yarn tools
- Remove Jira intake menu item, routing section, and principle from rhdh SKILL.md so the rhdh-jira skill activates naturally instead of being intercepted by a stale jira-structure.md reference - Remove jira-reference.md and jira-structure.md from reference index and shared references table (files kept for overlay's cross-reference) - Update consult_tool_references principle: GitHub only, with note to use rhdh-jira skill directly for Jira work - Renumber intake menu (1-9) and routing table to match - Fix L1: export-plugin.py ANSI color check uses both stdout+stderr TTY - Fix L2: README skill-maker description mentions consolidation - Fix S1: consolidation-guide.md grep example includes --exclude-dir=.git - Fix scaffold.py: move os import to top-level (ruff E402)
- Delete skills/rhdh/references/jira-reference.md (stale, used jira-cli instead of acli) - Delete skills/rhdh/references/jira-structure.md (duplicated by rhdh-jira skill's own project/issue-type reference) - Remove last Jira redirect from rhdh SKILL.md principle - Update overlay/workflows/onboard-plugin.md to point to rhdh-jira skill instead of deleted reference file - Remove test_jira_structure_skill.py (tested the deleted file)
- Fix pytest hook: use 'uv' instead of hardcoded /opt/homebrew/bin/uv so it works on Windows, macOS, and Linux - Bump pre-commit-hooks rev v4.5.0 → v5.0.0 (fixes deprecated stage names warning) - Fix markdownlint errors: - graphql-queries.md: h4 after h2 → h3 (MD001) - CONTEXT.md: blank line inside blockquote (MD028) - Apply auto-fixes from ruff-format, trailing-whitespace, end-of-file-fixer - Install pre-commit hook in .git/hooks/ All pre-commit checks pass. All 240 tests pass.
- Add .githooks/pre-commit that delegates to pre-commit if installed, skips gracefully with a warning if not - Set core.hooksPath=.githooks (one-time per clone, documented in README) - Update README Development section with the setup command Contributors clone, run one git config command, and hooks work. No 'pre-commit install' needed.
- Replace symlink (broke on CI — git checkout creates plain text file with symlink target instead of resolving it) with @AGENTS.md directive - Update test to verify the directive instead of checking content - Add CONTRIBUTING.md with setup, testing, linting, and PR guidelines - Add .githooks/pre-commit for auto hook setup via core.hooksPath
durandom
pushed a commit
to durandom/rhdh-skill
that referenced
this pull request
May 26, 2026
…lidation Session learnings from 2.1 Feature Exploration readiness check: parse_issues.py: - Add 'size' to ENRICHED_SELECT so T-shirt sizing appears in enriched output alongside story_points SKILL.md: - Gotcha redhat-developer#16: Feature→Epic child links use Parent Link (customfield_10018), not issuelinks — prevents false 'no child Epics' reports - Gotcha redhat-developer#17: REST /rest/api/3/search returns 410 Gone, use /rest/api/3/search/jql POST endpoint instead - Add validate_components.py to scripts table fields.md: - Full 90-component catalog with descriptions, grouped by category (RHDH Core, Backstage, Extension Plugin, Program) - Freeze exclusion flags (Excl FF, CF, Post CF, Excl RN) per component — matches the Release Automation Sheet - Component inference instructions: inherit from parent, match keywords from summary, validate against project - Validation section now references validate_components.py feature-exploration.md: - Clarify New status is expected going into Feature Exploration - Epic creation can happen before exploration to help size Features validate_components.py (new): - Compares fields.md component catalog against live RHIDP + RHDHPLAN Jira components via REST API - Reports drift in both directions - Supports --json for structured output
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Consolidates 4 separate plugin development skills into a single
create-pluginskill with a sub-command router, following the Agent Skills open standard architecture patterns.Before (9 skills) → After (6 skills)
create-backend-plugincreate-plugin backendcreate-frontend-plugincreate-plugin frontendexport-and-packagecreate-plugin exportgenerate-frontend-wiringcreate-plugin wiringWhy
These 4 skills formed a single linear workflow that constantly cross-referenced each other:
yarn new, differ only in--select backend-pluginvsfrontend-plugin)versions.mdexamples/dynamic-plugins.yamlacross multiple skillsWhat changed
skills/create-plugin/with SKILL.md sub-command router (130 lines, well under 500 limit)scaffold.py— single script with--type backend|frontendreplacing two near-identical scriptsreferences/— backend.md, frontend.md, export.md, wiring.mddynamic-plugins.yaml, keptfrontend-wiring.yamlrhdhrouter — routes tocreate-plugininstead of 4 separate skills, renumbered intake menushell=Truein export-plugin.py,NO_COLORsupport in scaffold.py, stderr TTY checkReview
Created a skill-reviewer subagent that audited the consolidation. All issues (5 medium, 3 low) and suggestions (4) were addressed. See commit message for details.
Tests
All 245 tests pass.