Skip to content

feat: add conventional-commits-enforcer skill and changelog-release-m…#2196

Open
danbasco wants to merge 1 commit into
github:mainfrom
danbasco:feat/conventional-commits-enforcer
Open

feat: add conventional-commits-enforcer skill and changelog-release-m…#2196
danbasco wants to merge 1 commit into
github:mainfrom
danbasco:feat/conventional-commits-enforcer

Conversation

@danbasco

@danbasco danbasco commented Jul 2, 2026

Copy link
Copy Markdown

…anager agent

Pull Request Checklist

  • I have read and followed the CONTRIBUTING.md guidelines.
  • I have read and followed the Guidance for submissions involving paid services.
  • My contribution adds a new instruction, prompt, agent, skill, workflow, or canvas extension file in the correct directory.
  • The file follows the required naming convention.
  • The content is clearly structured and follows the example format.
  • I have tested my instructions, prompt, agent, skill, workflow, or canvas extension with GitHub Copilot.
  • I have run npm start and verified that README.md is up to date.
  • I am targeting the main branch 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.md grouped by commit type (Breaking Changes, Features, Fixes, Performance, Docs, Refactoring, Chores) with a suggested semantic version bump. Includes a bundled scripts/extract-commits.sh helper to extract commit history in a parseable format.

This differs from the existing conventional-commit and git-commit skills in the repository, which focus on generating a message for the current change. conventional-commits-enforcer focuses on auditing/correcting existing history and turning validated history into release documentation (changelog + version bump recommendation).

Agent — agents/changelog-release-manager.agent.md
A 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

  • New skill file.
  • New agent file.

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:validate and npm run build pass 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.

@danbasco danbasco requested a review from aaronpowell as a code owner July 2, 2026 20:40
Copilot AI review requested due to automatic review settings July 2, 2026 20:40
@github-actions github-actions Bot added agent PR touches agents new-submission PR adds at least one new contribution skills PR touches skills labels Jul 2, 2026
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

🔒 PR Risk Scan Results

Scanned 5 changed file(s).

Severity Count
🔴 High 0
🟠 Medium 1
ℹ️ Info 1
Severity Rule File Line Match
🟠 package-exec-command docs/README.skills.md 31 | [acreadiness-assess](../skills/acreadiness-assess/SKILL.md)<br />`gh skills install github/awesome-copilot acreadiness-assess` | Run the AgentRC readiness assessment on the curre
ℹ️ skill-script-touched skills/conventional-commits-enforcer/extract-commits.sh 1 skills/conventional-commits-enforcer/extract-commits.sh

This is an automated soft-gate report. Findings indicate review targets and do not block merge by themselves.

@github-actions github-actions Bot added the skill-check-error Skill validator reported errors label Jul 2, 2026
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

🔍 Vally Lint Results

⛔ Findings need attention

Scope Checked
Skills 1
Agents 1
Total 2
Severity Count
❌ Errors 1
⚠️ Warnings 0
ℹ️ Advisories 1

Summary

Level Finding
conventional-commits-enforcer (1/2 checks passed, 1 failed)
ℹ️ Vally currently lints SKILL.md content. Agent files were detected but skipped:
Full linter output
### Linting skills/conventional-commits-enforcer
npm warn EBADENGINE Unsupported engine {
npm warn EBADENGINE   package: 'commander@15.0.0',
npm warn EBADENGINE   required: { node: '>=22.12.0' },
npm warn EBADENGINE   current: { node: 'v20.20.2', npm: '10.8.2' }
npm warn EBADENGINE }
npm warn deprecated prebuild-install@7.1.3: No longer maintained. Please contact the author of the relevant native addon; alternatives are available.
❌ conventional-commits-enforcer (1/2 checks passed, 1 failed)
    ✓ [spec-compliance] All 1 skill(s) are spec-compliant.
        ✓ spec-compliance: All spec checks passed.
    ✗ [valid-refs] 1 of 1 skill(s) have invalid file references.
        ✗ valid-refs: Found 1 invalid file reference(s): link-if-available (missing).

1 skill(s) linted, 1 failed

### Agent files detected (not linted by vally)
ℹ️ Vally currently lints SKILL.md content. Agent files were detected but skipped:
agents/changelog-release-manager.agent.md

Note: Vally lint returned a non-zero exit code. Please review the findings above before merge.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-enforcer skill with guidance for validating/correcting commit messages and generating CHANGELOG.md.
  • Added extract-commits.sh helper script intended to export commit history in a machine-parseable format.
  • Added changelog-release-manager agent 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.

Comment on lines +25 to +29
git log --no-merges "$RANGE" \
--pretty=format:'%H|||%s|||%b%x00' \
| tr '\n' ' ' \
| tr '\0' '\n' \
| sed '/^\s*$/d'
Comment on lines +71 to +75
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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't believe this is a valid model anymore.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent PR touches agents new-submission PR adds at least one new contribution skill-check-error Skill validator reported errors skills PR touches skills

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants