borinquenkid opened a new pull request, #15977: URL: https://github.com/apache/grails-core/pull/15977
## Summary Docs/skills-only changes (no build or runtime code touched) improving how AI coding agents work in this repo. Every change is grounded in actual source investigation, not assumed — several corrected findings that turned out to be wrong on first pass (see commit messages for the specifics). - Fixed a dangling `codebase-memory` skill reference in `AGENTS.md` pointing at a file that never existed - Replaced the hardcoded skill-to-task mapping in `AGENTS.md` with directory-based discovery — skills are found via their own front-matter `description`, not a hand-maintained list that drifts out of sync every time a skill is added or removed - Added an optional `paths:` front-matter field so module-scoped skills are discovered structurally (by the files being touched), not just by description-matching - Added `hibernate-developer`-style skills for `grails-data-mongodb`, `grails-forge` (a Micronaut application, not Grails — corrects a root rule that's actually inverted there), `grails-gradle`, and `build-logic` — four real, previously-undocumented subsystems, each verified against actual source and, where relevant, actual test runs - Added scoped `AGENTS.md` files for `grails-forge/`, `grails-gradle/`, and `build-logic/` correcting root rules that don't transfer to those subprojects (e.g. `@GrailsCompileStatic` doesn't apply to any of them; `grails-gradle`/`build-logic` share root's dependency versions while `grails-forge` doesn't) - Linked `grails-developer` to `grails-test-examples/`, the ~50 real functional test apps that had zero skill coverage despite several sharing a name with a framework-internals module (e.g. `grails-test-examples/hibernate7/` vs. `grails-data-hibernate7/`) - Made adversarial self-review a required PR-checklist step, framed around what every contributor can actually do (a fresh-context, explicitly refute-first review pass) rather than requiring a second AI vendor - Documented that Codecov's underlying coverage data (JaCoCo) is fully available locally without a CI round-trip — it was already produced by the build, just never connected to "Codecov" by name anywhere - Added a `diff-coverage-check` skill computing real diff coverage (only the lines you changed, not whole-class coverage) entirely locally by cross-referencing JaCoCo XML against `git diff` — zero new build dependency, verified end-to-end against a real mixed-coverage diff - Added a `worktree-hygiene` skill for `.claude/worktrees/` sprawl, using PR/remote state as the staleness signal rather than commit age (a worktree can go idle between review rounds without being abandoned) - Added a `migration-scoping` skill for pre-work architectural triage, grounded in a real four-branch sprawl case (from the Hibernate7/GORM registry migration) found and cleaned up during this work - Defaulted PR guidance to a single large PR over a reviewability-stack, since GitHub's Copilot reviewer silently skips PRs over ~300 files and a stack's sub-PRs never get their combined integration reviewed as a unit ## Attribution The skill packaging format (`SKILL.md` front-matter, discovery-by-description convention, cross-agent `compatibility` field) follows the [Agent Skills Specification](https://github.com/anthropics/skills) — Anthropic's public spec and reference implementation for portable, cross-agent skill packages. Nothing in this PR is Claude-specific; every skill's front-matter lists `opencode, claude, grok, gemini, copilot, cursor, windsurf` as compatible tooling. ## Test plan - [x] Every class name, file path, task name, and build command cited in these docs was checked against actual source (`grep`/`Read`), not assumed - [x] Real test runs verified non-obvious claims where feasible — e.g. ran `:grails-i18n:test` to confirm the `diff-coverage-check` skill's script produces correct output against a real mixed-coverage diff, ran `grails-forge`/`grails-gradle`/`build-logic` builds to confirm real commands - [x] Discovery mechanism (`.agents/skills/*/SKILL.md` front-matter scan) tested against the full current skill set after each addition - [x] No `build.gradle`, `settings.gradle`, or source file was modified — this PR cannot change build or runtime behavior -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
