Publish Grails skills through SkillsJars#15805
Conversation
Expose the canonical .agents/skills directory through a root skills symlink so SkillsJars can discover the existing skill definitions without duplicating files. Add a verification task and publishing notes for submitting the skills from skillsjars.com. Assisted-by: Hephaestus:openai/gpt-5.5 codex-review
There was a problem hiding this comment.
Pull request overview
This PR adds build-time verification and documentation to support publishing the repository’s agent skills via SkillsJars, using a root-level skills path intended for SkillsJars discovery.
Changes:
- Add a
verifySkillsJarsSourcesGradle verification task to validate theskillspublication path and presence ofSKILL.mdmarkers. - Exclude the
skillspath from Apache RAT scanning to avoid symlink/discovery-path complications. - Document the skills directory purpose and publishing workflow under
.agents/skills.
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
gradle/rat-root-config.gradle |
Excludes skills discovery path from RAT audit inputs. |
build.gradle |
Adds verifySkillsJarsSources task to validate symlink target, git mode, and skill markers. |
.agents/skills/README.md |
Documents the canonical skills location and SkillsJars publishing/verification steps. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## 8.0.x #15805 +/- ##
==================================================
- Coverage 49.4820% 49.4809% -0.0011%
+ Complexity 16698 16697 -1
==================================================
Files 1947 1947
Lines 92474 92474
Branches 16152 16152
==================================================
- Hits 45758 45757 -1
+ Misses 39610 39609 -1
- Partials 7106 7108 +2 🚀 New features to boost your workflow:
|
Limit the SkillsJars publication path to Grails skills useful for building or upgrading end-user applications. Keep internal Grails core development skills only under .agents/skills and expose the public skills through real skills directories containing SKILL.md symlinks to the canonical sources. Assisted-by: Hephaestus:openai/gpt-5.5 codex-review
|
Updated this PR to publish only the app-facing Grails skills:
The internal Grails core skills remain under |
✅ All tests passed ✅🏷️ Commit: fa7f03b Learn more about TestLens at testlens.app. |
|
Maintenance pass complete. Copilot generated no inline review comments, there are no review threads to resolve, Codecov/TestLens are green on the existing branch, and I reran ./gradlew.bat --no-daemon --no-parallel --max-workers=1 verifySkillsJarsSources locally. No code changes were needed. |
|
I dug into this more and I don't believe we can use SkillsJars - it's acting a publisher directly to maven central. This goes against the ASF voting rules. Has there been any discussion on the mailing lists about this problem? |
The Problem
SkillsJars discovers and publishes agent skills from a root-level
skills/**/SKILL.mdlayout. Grails keeps its canonical skill sources under.agents/skills, which SkillsJars does not scan by default - and that directory also contains framework-contributor-only skills that should not be published to application developers.The Fix
Expose only the app-facing Grails skills through the SkillsJars discovery path, without duplicating any content, while keeping contributor skills internal.
Published via root-level
skills/(real directories whoseSKILL.mdis a symlink to the canonical source):skills/grails-developer/SKILL.md->.agents/skills/grails-developer/SKILL.mdskills/grails-8-upgrade/SKILL.md->.agents/skills/grails-8-upgrade/SKILL.mdKept internal under
.agents/skillsonly:hibernate-developer,test-fixer,violation-fixer, and other core-contributor workflow skills.The change also:
SKILL.mdsymlinks so SkillsJars discovers normal skill folders;verifySkillsJarsSourcesGradle task asserting the exact published skill set, symlink targets, git mode120000, and canonical source markers;.agents/skills);How to publish after merge
Submit the SkillsJars form with GitHub Org
apacheand Repograils-core. SkillsJars shallow-clones the public repo, scansskills/**/SKILL.md, and publishes Maven Central artifacts undercom.skillsjars:com.skillsjars:apache__grails-core__grails-developer:<date>-<commit>com.skillsjars:apache__grails-core__grails-8-upgrade:<date>-<commit>Testing
./gradlew verifySkillsJarsSourcespasses;git diff --cached --checkclean../gradlew ratno longer reports theskills/**or tracked.claude/skills/**symlink aliases.