Skip to content

V0.3.0/new complementary skills#3

Merged
gimlichael merged 23 commits intomainfrom
v0.3.0/new-complementary-skills
Mar 16, 2026
Merged

V0.3.0/new complementary skills#3
gimlichael merged 23 commits intomainfrom
v0.3.0/new-complementary-skills

Conversation

@gimlichael
Copy link
Member

This pull request introduces two new git workflow skills, strengthens validation and documentation, and adds CI enforcement for skill template integrity. The most important changes are the addition of the git-visual-squash-summary and git-keep-a-changelog skills, extraction of shared commit-language guidance, and implementation of a GitHub Actions workflow for template validation. Documentation and validation scripts have also been updated to reflect these enhancements.

New skills and shared references:

  • Added the git-visual-squash-summary skill for non-mutating grouped summary lines and the git-keep-a-changelog skill for changelog generation from branch context. [1] [2] [3] [4] [5]
  • Extracted shared commit-language guidance into references/commit-language.md for consistent prefix, emoji, and wording rules across git-visual skills.

Continuous integration and validation:

  • Added a GitHub Actions workflow (.github/workflows/validate-skill-templates.yml) to run validate-skill-templates.ps1 on every push and pull request, enforcing skill template integrity.
  • Updated validation script (scripts/validate-skill-templates.ps1) for UTF-8/BOM handling, improved rule checks, and consistent CI behavior. [1] [2] [3]

Documentation updates:

  • Expanded README.md and CONTRIBUTING.md with guidance on running validation locally and via CI, new skill descriptions, and changelog formatting enforcement. [1] [2] [3] [4] [5]

Changelog and eval coverage:

  • Added and updated CHANGELOG.md to document all notable changes, including new skills, validation improvements, and eval coverage for the new skills.

Skill grouping and intent classification:

  • Tightened grouping rules in git-visual-commits to classify repo capability additions, refactors, and shared-reference sync as separate intents, with eval coverage for mixed-diff cases.

Move the shared prefix and emoji guidance for git-visual-commits into a dedicated reference so the existing commit workflow keeps one maintained wording source.
Introduce a new squash-summary skill that turns noisy commit stacks into one GitHub-friendly subject line without mutating git state.
Extend the repo validator so the shared commit-language references stay in sync and the new squash-summary skill contract is enforced.
Document the new squash-summary skill in the README and capture the v0.1.0 and v0.2.0 release history in a Keep a Changelog-formatted changelog.
Clarify that new repo capabilities, existing-skill refactors, and shared reference sync guidance are separate intents. Add eval coverage so mixed capability and refactor diffs do not collapse into one commit.
Run the existing validator on every push and pull request, and harden UTF-8 handling so the same checks behave consistently in Windows PowerShell and CI.
Explain that contributors should run validate-skill-templates.ps1 locally for fast feedback while GitHub Actions reruns the same checks as the merge safety net.
Replace the subject-only squash contract with grouped summary lines that preserve distinct high-signal efforts, merge overlap, and drop low-signal noise.
Update squash summary checks so the validator expects grouped lines, distinct effort preservation, and the new anti-stitching wording instead of a single subject line.
Refresh the README so git-visual-squash-summary is presented as a grouped-summary companion that keeps distinct efforts visible instead of collapsing everything into one subject.
Add a git-aware Keep a Changelog skill that creates or updates CHANGELOG.md from the current branch by default, reads full commit bodies for context, infers release headings from branch version hints, and writes a required SemVer-aware release highlight with natural prose.
Add deterministic checks for the changelog skill so the repo enforces full-commit context, branch-version hints, SemVer-aware highlights, natural prose, and missing-file creation behavior.
Add install and discovery docs for git-keep-a-changelog, including its create-or-update behavior, SemVer-aware release highlights, and Keep a Changelog focus.
Remove fixed-width wrapping guidance from git-keep-a-changelog and require section bullets to end with commas, with the final bullet in each section ending with a period.
Update the changelog skill checks to expect natural prose without any fixed-width wrapping target and to enforce the section-bullet comma/period punctuation pattern.
Refresh the git-keep-a-changelog docs so they promise natural prose without fixed-width wrapping and the required bullet punctuation pattern.
Reflow existing changelog entries into natural prose so the release notes read cleanly in Markdown without narrow manual line wrapping.
Capture the 0.3.0 release in CHANGELOG.md with a SemVer-aware release highlight, curated Added and Changed sections, and updated compare links for the new version.
@gimlichael gimlichael self-assigned this Mar 16, 2026
Copilot AI review requested due to automatic review settings March 16, 2026 23:01
@qodo-code-review
Copy link

Review Summary by Qodo

Add git-visual-squash-summary and git-keep-a-changelog skills with CI-backed validation

✨ Enhancement 🧪 Tests 📝 Documentation

Grey Divider

Walkthroughs

Description
• Added two new complementary git workflow skills: git-visual-squash-summary for non-mutating
  grouped summaries and git-keep-a-changelog for changelog generation from branch context
• Extracted shared commit-language guidance into references/commit-language.md for consistent
  prefix, emoji, and wording rules across git-visual skills
• Implemented GitHub Actions CI workflow to enforce skill template integrity on every push and pull
  request
• Hardened validation script with UTF-8/BOM handling, grouped squash summary checks, and changelog
  formatting enforcement
• Tightened git-visual-commits grouping rules to classify new repo capabilities, existing-skill
  refactors, and shared-reference sync as separate intents with eval coverage
• Updated documentation in README and CONTRIBUTING to explain local-first validation workflow and
  new skill descriptions
Diagram
flowchart LR
  A["New Skills<br/>squash-summary<br/>keep-a-changelog"] --> B["Shared References<br/>commit-language.md"]
  B --> C["Git Visual<br/>Commits"]
  A --> D["Validation<br/>Hardening"]
  D --> E["GitHub Actions<br/>CI Workflow"]
  E --> F["Consistent<br/>Enforcement"]
  C --> G["Tightened<br/>Grouping Rules"]
  G --> F
Loading

Grey Divider

File Changes

1. scripts/validate-skill-templates.ps1 Enhancement, validation +93/-1

UTF-8 handling and new skill validation rules

scripts/validate-skill-templates.ps1


2. .github/workflows/validate-skill-templates.yml Configuration changes, ci/cd +17/-0

GitHub Actions workflow for CI validation

.github/workflows/validate-skill-templates.yml


3. CHANGELOG.md 📝 Documentation +67/-0

Initial changelog with v0.1.0 through v0.3.0 releases

CHANGELOG.md


View more (10)
4. CONTRIBUTING.md 📝 Documentation +5/-0

Local-first validation workflow guidance

CONTRIBUTING.md


5. README.md 📝 Documentation +66/-7

New skills, validation guidance, and feature descriptions

README.md


6. skills/git-visual-commits/SKILL.md Refactoring, documentation +36/-162

Refactored to reference shared commit-language rules

skills/git-visual-commits/SKILL.md


7. skills/git-visual-commits/evals/evals.json Tests, enhancement +11/-0

Added eval coverage for new repo capability intent separation

skills/git-visual-commits/evals/evals.json


8. skills/git-visual-commits/references/commit-language.md Documentation, refactoring +156/-0

Extracted shared prefix and emoji guidance reference

skills/git-visual-commits/references/commit-language.md


9. skills/git-visual-squash-summary/SKILL.md Enhancement, documentation +164/-0

New non-mutating grouped squash summary skill

skills/git-visual-squash-summary/SKILL.md


10. skills/git-visual-squash-summary/evals/evals.json 🧪 Tests +64/-0

Eval coverage for squash summary skill contract

skills/git-visual-squash-summary/evals/evals.json


11. skills/git-visual-squash-summary/references/commit-language.md 📝 Documentation +156/-0

Shared commit-language reference for squash-summary skill

skills/git-visual-squash-summary/references/commit-language.md


12. skills/git-keep-a-changelog/SKILL.md Enhancement, documentation +217/-0

New git-aware Keep a Changelog skill implementation

skills/git-keep-a-changelog/SKILL.md


13. skills/git-keep-a-changelog/evals/evals.json 🧪 Tests +62/-0

Eval coverage for changelog generation skill contract

skills/git-keep-a-changelog/evals/evals.json


Grey Divider

Qodo Logo

@qodo-code-review
Copy link

qodo-code-review bot commented Mar 16, 2026

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (1) 📎 Requirement gaps (0)

Grey Divider


Action required

1. description: > in frontmatter 📘 Rule violation ✓ Correctness
Description
skills/git-keep-a-changelog/SKILL.md YAML frontmatter contains a > character via the
folded-scalar indicator description: >, which is disallowed. This can cause frontmatter validation
to fail under the angle-bracket prohibition rule.
Code

skills/git-keep-a-changelog/SKILL.md[R1-4]

+---
+name: git-keep-a-changelog
+description: >
+  Create or update CHANGELOG.md from git history using Keep a Changelog
Evidence
The compliance rule forbids any `` characters anywhere inside SKILL.md YAML frontmatter; the new
frontmatter uses YAML folded syntax description: >, which includes a > character within the
frontmatter block.

Rule 111410: Disallow angle brackets in SKILL.md YAML frontmatter
skills/git-keep-a-changelog/SKILL.md[1-4]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The SKILL frontmatter uses `description: &amp;amp;amp;gt;`, which includes a literal `&amp;amp;amp;gt;` character inside the YAML frontmatter. This violates the rule that forbids any `&amp;amp;amp;lt;` or `&amp;amp;amp;gt;` characters anywhere in the frontmatter.
## Issue Context
The prohibition applies to any `&amp;amp;amp;lt;`/`&amp;amp;amp;gt;` characters inside the frontmatter block, including YAML scalar indicators like `&amp;amp;amp;gt;`.
## Fix Focus Areas
- skills/git-keep-a-changelog/SKILL.md[1-18]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

2. Misleading commit-language links🐞 Bug ✓ Correctness
Description
skills/git-visual-commits/SKILL.md still instructs readers to pick emoji/prefixes from “tables
below” / “allowed prefixes below”, but those sections were moved into
references/commit-language.md, so readers are directed to content that no longer exists in the
SKILL file.
Code

skills/git-visual-commits/SKILL.md[R149-151]

+- **Emoji** comes first — picked from the technology/type tables below
+- **Prefix** is lowercase (see allowed prefixes below) — **never use `feat:`**
+- **Description** is lowercase, imperative, max 70 characters total (including emoji and prefix)
Evidence
The commit message format bullets still reference “tables below” and “allowed prefixes below” in the
SKILL, while the extracted reference file now contains the actual prefix and emoji tables.

skills/git-visual-commits/SKILL.md[141-163]
skills/git-visual-commits/references/commit-language.md[1-18]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`skills/git-visual-commits/SKILL.md` still points to “tables below” / “allowed prefixes below” even though the tables were extracted into `references/commit-language.md`. This misdirects readers.
### Issue Context
The PR introduced `skills/git-visual-commits/references/commit-language.md` and added validator checks to keep the tables out of `SKILL.md`, so the remaining “below” references are now stale.
### Fix Focus Areas
- skills/git-visual-commits/SKILL.md[149-163]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


3. Unpinned checkout action 🐞 Bug ⛨ Security
Description
The new workflow uses actions/checkout@v4 (tag reference) and does not declare explicit minimal
permissions, which is a CI supply-chain hardening gap for a workflow that runs on pull_request
events.
Code

.github/workflows/validate-skill-templates.yml[R11-17]

+    steps:
+      - name: Checkout
+        uses: actions/checkout@v4
+
+      - name: Run validator
+        shell: pwsh
+        run: pwsh -NoProfile -File ./scripts/validate-skill-templates.ps1
Evidence
The workflow is introduced with a tag-based uses: reference and no permissions: block, so it
relies on implicit defaults rather than a least-privilege declaration and immutable action pinning.

.github/workflows/validate-skill-templates.yml[1-17]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The validation workflow uses tag-based action resolution (`actions/checkout@v4`) and omits an explicit minimal `permissions:` block. Pinning and least-privilege permissions reduce CI supply-chain exposure.
### Issue Context
This workflow runs on `pull_request` and `push`, so it should be defensively configured even though it’s “just validation”.
### Fix Focus Areas
- .github/workflows/validate-skill-templates.yml[1-17]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

Limit the validation workflow to pull requests to avoid duplicate push and pull_request checks, and update the contributor docs to describe the PR-only safety net accurately.
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds two new git-focused skills and reinforces repo-wide skill template integrity via shared references, expanded validation, and CI enforcement.

Changes:

  • Introduces git-visual-squash-summary (non-mutating grouped squash summary output) and git-keep-a-changelog (Keep a Changelog–style CHANGELOG.md authoring from git history).
  • Extracts/standardizes git-visual commit language guidance into per-skill references/commit-language.md and updates git-visual-commits to reference it.
  • Hardens scripts/validate-skill-templates.ps1 (UTF-8 handling + new rule checks) and adds a GitHub Actions workflow to run it on push/PR; updates repo docs and adds a changelog entry.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated no comments.

Show a summary per file
File Description
skills/git-visual-squash-summary/references/commit-language.md Adds commit-language reference (kept in lockstep with git-visual-commits).
skills/git-visual-squash-summary/evals/evals.json Adds eval coverage for grouped squash summary behavior/constraints.
skills/git-visual-squash-summary/SKILL.md Defines the new non-mutating grouped squash summary skill contract.
skills/git-visual-commits/references/commit-language.md Adds shared commit-language reference for git-visual-commits.
skills/git-visual-commits/evals/evals.json Adds an eval ensuring new-skill/validator/docs changes are bucketed by intent.
skills/git-visual-commits/SKILL.md Replaces inline prefix/emoji tables with a reference file + expands intent-grouping guidance.
skills/git-keep-a-changelog/evals/evals.json Adds eval coverage for changelog generation/updating behavior.
skills/git-keep-a-changelog/SKILL.md Defines the new Keep a Changelog automation skill contract.
scripts/validate-skill-templates.ps1 Adds UTF-8 no-BOM handling and validates new skills + shared reference sync.
README.md Documents new skills, install commands, and validator/CI guidance.
CONTRIBUTING.md Adds CI validation expectations and local-first workflow guidance.
CHANGELOG.md Adds Keep a Changelog–style changelog with a new 0.3.0 entry and compare links.
.github/workflows/validate-skill-templates.yml Adds CI job to run skill template validation on pushes/PRs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 35ab38ee00

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +3 to +7
description: >
Turn many commits into a curated grouped squash summary that
stays compatible with the opinionated wording style of
git-visual-commits. Use this skill whenever the user asks to squash a
branch into a concise summary, write a squash-and-merge summary,

Choose a reason for hiding this comment

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

P1 Badge Keep frontmatter description within 1024-character limit

The new skill’s YAML description exceeds the repository’s required limit from /workspace/agentic/AGENTS.md (Anthropic Skill Authoring Reference: “description … max 1024 chars”): this block is currently 1041 characters, which can cause skill ingestion/trigger metadata validation to fail in tooling that enforces the schema. Please shorten this description by at least 17 characters while preserving the trigger phrases.

Useful? React with 👍 / 👎.

Comment on lines +1 to +4
---
name: git-keep-a-changelog
description: >
Create or update CHANGELOG.md from git history using Keep a Changelog

Choose a reason for hiding this comment

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

Action required

1. description: > in frontmatter 📘 Rule violation ✓ Correctness

skills/git-keep-a-changelog/SKILL.md YAML frontmatter contains a > character via the
folded-scalar indicator description: >, which is disallowed. This can cause frontmatter validation
to fail under the angle-bracket prohibition rule.
Agent Prompt
## Issue description
The SKILL frontmatter uses `description: >`, which includes a literal `>` character inside the YAML frontmatter. This violates the rule that forbids any `<` or `>` characters anywhere in the frontmatter.

## Issue Context
The prohibition applies to any `<`/`>` characters inside the frontmatter block, including YAML scalar indicators like `>`.

## Fix Focus Areas
- skills/git-keep-a-changelog/SKILL.md[1-18]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Trim git skill frontmatter descriptions to satisfy the repo metadata
limit and replace stale "below" wording with direct references to
references/commit-language.md.
Add a repo-wide check that normalizes folded YAML descriptions and
fails when any skill frontmatter description exceeds the 1024-character
limit.
Document the new frontmatter metadata validation in the README and fix
v0.3.0 release notes so the changelog matches the current pull-request-only
validation workflow.
Refine the 0.3.0 release notes so the summary and Changed section
capture the metadata-limit fix, stale git-skill reference cleanup,
and the repo-wide frontmatter validation rule.
@gimlichael gimlichael merged commit d1706e9 into main Mar 16, 2026
1 check passed
@gimlichael gimlichael deleted the v0.3.0/new-complementary-skills branch March 16, 2026 23:22
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.

3 participants