feat: add conventional-commits-enforcer skill and changelog-release-m…#2196
feat: add conventional-commits-enforcer skill and changelog-release-m…#2196danbasco wants to merge 1 commit into
Conversation
🔒 PR Risk Scan ResultsScanned 5 changed file(s).
|
🔍 Vally Lint Results⛔ Findings need attention
Summary
Full linter output
|
There was a problem hiding this comment.
Pull request overview
This PR adds a new skill and a companion agent focused on enforcing Conventional Commits compliance across commit history and producing release artifacts (e.g., changelog sections and SemVer bump recommendations). It also updates the generated documentation indexes to expose the new resources.
Changes:
- Added
conventional-commits-enforcerskill with guidance for validating/correcting commit messages and generatingCHANGELOG.md. - Added
extract-commits.shhelper script intended to export commit history in a machine-parseable format. - Added
changelog-release-manageragent and registered both the new skill and agent in the docs indexes.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| skills/conventional-commits-enforcer/SKILL.md | Defines the skill’s workflow for commit validation/correction and changelog generation. |
| skills/conventional-commits-enforcer/extract-commits.sh | Adds a helper script to export commit history for parsing and changelog generation. |
| agents/changelog-release-manager.agent.md | Introduces a release-management agent persona meant to leverage the skill and guide safe history rewriting. |
| docs/README.skills.md | Registers the new skill in the skills catalog. |
| docs/README.agents.md | Registers the new agent in the agents catalog. |
| git log --no-merges "$RANGE" \ | ||
| --pretty=format:'%H|||%s|||%b%x00' \ | ||
| | tr '\n' ' ' \ | ||
| | tr '\0' '\n' \ | ||
| | sed '/^\s*$/d' |
| 1. Collect commits in range (default: since the last tag to `HEAD`): | ||
| ```bash | ||
| git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%H|||%s|||%b" | ||
| ``` | ||
| If there is no previous tag, use the full history. |
| name: changelog-release-manager | ||
| description: 'A release-management specialist that enforces Conventional Commits, audits commit history for compliance, and prepares changelogs and semantic-version recommendations before a release.' | ||
| model: gpt-4o | ||
| tools: ['read_file', 'search', 'terminal'] |
| --- | ||
| name: changelog-release-manager | ||
| description: 'A release-management specialist that enforces Conventional Commits, audits commit history for compliance, and prepares changelogs and semantic-version recommendations before a release.' | ||
| model: gpt-4o |
There was a problem hiding this comment.
I don't believe this is a valid model anymore.
There was a problem hiding this comment.
We already have a skill for conventional commits, but it looks to be pretty old. Rather than introducing a new skill we should uplift what we already have.
…anager agent
Pull Request Checklist
npm startand verified thatREADME.mdis up to date.mainbranch for this pull request.Description
This PR adds one new Skill and one new Agent, delivered as a bundle:
Skill —
skills/conventional-commits-enforcer/Validates commit messages against the Conventional Commits v1.0.0 specification, flags the specific rule violated for non-compliant messages, rewrites them while preserving intent (including breaking-change markers and footers), and generates a
CHANGELOG.mdgrouped by commit type (Breaking Changes, Features, Fixes, Performance, Docs, Refactoring, Chores) with a suggested semantic version bump. Includes a bundledscripts/extract-commits.shhelper to extract commit history in a parseable format.This differs from the existing
conventional-commitandgit-commitskills in the repository, which focus on generating a message for the current change.conventional-commits-enforcerfocuses on auditing/correcting existing history and turning validated history into release documentation (changelog + version bump recommendation).Agent —
agents/changelog-release-manager.agent.mdA release-management persona that audits commit history for Conventional Commits compliance before a release, recommends a semantic version bump with reasoning, and proposes non-destructive fixes (amend/rebase) for non-compliant commits — always confirming before rewriting shared history.
Type of Contribution
Additional Notes
Tested locally with GitHub Copilot Chat (Agent mode) using both the skill (triggered via prompts like "check my commit messages" and "generate a changelog") and the agent ("prepare the changelog for v2.1.0").
npm run skill:validateandnpm run buildpass locally.By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.