Skip to content

feat: add skills.json generation for MCP consumption#72

Open
jpuzz0 wants to merge 1 commit intopatternfly:mainfrom
jpuzz0:feat/generate-skills-json
Open

feat: add skills.json generation for MCP consumption#72
jpuzz0 wants to merge 1 commit intopatternfly:mainfrom
jpuzz0:feat/generate-skills-json

Conversation

@jpuzz0
Copy link
Copy Markdown
Collaborator

@jpuzz0 jpuzz0 commented May 6, 2026

Summary

  • Adds scripts/generate-skills-json.sh — walks all plugins/*/skills/*/SKILL.md files, extracts frontmatter and content, outputs dist/skills.json
  • Updates CI workflow to regenerate dist/skills.json on every push to main when plugins/** changes
  • Commits the initial dist/skills.json (28 skills)

The PatternFly MCP server fetches this file at runtime to serve ai-helpers skills via its tool and resource APIs. No bundled copy, no manual sync — CI keeps it current, the MCP server reads it directly from GitHub.

Ref: PF-4034

Summary by CodeRabbit

  • Chores
    • Introduced automated skills catalog generation in the release process, systematically indexing available plugin capabilities into a machine-readable format with automatically generated metadata
    • Enhanced CI/CD pipeline to capture, validate, and commit generated skill indexes as official release artifacts, ensuring the comprehensive skills catalog updates with each automated build cycle

Add a bash script that generates dist/skills.json from all SKILL.md files
across plugins. The MCP server fetches this at runtime to serve skills
via its tool and resource APIs.

CI workflow updated to regenerate on every push to main when plugins change.

Ref: PF-4034
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 6, 2026

Caution

Review failed

Failed to post review comments

📝 Walkthrough

Walkthrough

GitHub Actions workflow renamed from "Update PLUGINS.md" to "Update generated files" and enhanced to generate a skills index. A new Bash script scans plugin directories for SKILL.md files, extracts metadata and content, and outputs dist/skills.json with timestamp and skill count metadata.

Changes

Skills Index Generation

Layer / File(s) Summary
Core Script Implementation
scripts/generate-skills-json.sh
New script reads SKILL.md files from each plugin directory, extracts frontmatter fields (name, description), constructs a skills JSON array with metadata including generated timestamp and totalSkills count, and outputs to dist/skills.json.
Workflow Integration
.github/workflows/update-plugins-md.yml
Workflow renamed to "Update generated files" and extended to invoke the new script, then stages and commits dist/skills.json alongside PLUGINS.md and README.md.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

Possibly related PRs

Suggested reviewers

  • nicolethoen
  • evwilkin
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title clearly and specifically describes the main change: adding skills.json generation for MCP consumption.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@jpuzz0 jpuzz0 requested review from a team and dlabaj and removed request for a team May 6, 2026 16:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant