Conversation
Expands the classification system to explicitly account for release-adjacent work that spans multiple intents (dependency baselines, package metadata, doc publishing, community health, CI automation). Adds corresponding eval case to verify the grouping behavior respects semantic intent over same-round timing.
Updates the skill template validator to verify that the release-adjacent splitting rule and temporal proximity guidance are present in the git-visual-commits SKILL.md file.
Documents the new release-adjacent work splitting behavior in the Available Skills section for git-visual-commits, highlighting that same-round timing does not override semantic intent when grouping changes.
Strengthen git-visual-commits so identity-sensitive commits prefer direct git execution, fail fast when a wrapper cannot honor aliases, and recover conservatively after a wrong-author attempt. Adds matching eval coverage for wrapper failure and repair guidance.
Extend the repo validator so git-visual-commits must keep the new direct execution, fail-fast pivoting, and non-destructive recovery guidance in sync with its eval contract.
Document the stronger git-visual-commits safeguards so the README reflects direct git execution for bot identity, immediate tool-path pivots after wrong-author commits, and conservative recovery guidance.
Add eval contract definitions and expand skill README coverage to reflect new per-skill evaluation discipline. Clarify the three-part skill anatomy: SKILL.md instructions, FORMS.md parameter forms, and evals/evals.json test suites.
Reorganize SKILL.md with clarified form handling, parameter collection flow, and prose wrapping discipline. Add FORMS.md for structured pending-changes intake during release drafts. Define core eval suite with five test cases covering branch-hint inference, commitment body parsing, SemVer classification, prose wrapping, and pending-change handling.
Reorganize SKILL.md workflow with explicit step numbering, clarified semantic intent classification, and documentation separation rules. Define six-eval suite covering plan review, bot identity, auto-approval, grouping validation, body discipline, and post-commit verification. Add enforcement of emoji/prefix reference contract and post-commit author identity validation.
Reorganize SKILL.md with clarified squash scope, commit language preservation, and noise filtering strategy. Define five-eval suite covering default full-branch squashing, emoji/prefix consistency, technical identifier preservation, overlap detection, and compatibility with git-visual-commits wording style. Add enforcement of emoji/prefix reference sync contract.
Reorganize SKILL.md with explicit step numbering, clarified semantic intent classification, and documentation separation rules. Define six-eval suite covering plan review, bot identity, auto-approval, grouping validation, body discipline, and post-commit verification. Add enforcement of emoji/prefix reference contract and post-commit author identity validation.
Reorganize SKILL.md with clarified squash scope, commit language preservation, and noise filtering strategy. Define five-eval suite covering default full-branch squashing, emoji/prefix consistency, technical identifier preservation, overlap detection, and compatibility with git-visual-commits wording style. Add enforcement of emoji/prefix reference sync contract.
Extend the repo validator so git-visual-commits and git-visual-squash-summary must keep the new direct execution, fail-fast pivoting, non-destructive recovery guidance, and emoji/prefix reference sync in sync with their eval contracts.
Document the three-part skill anatomy: SKILL.md instructions, FORMS.md parameter forms, and evals/evals.json test suites. Expand skill README coverage to reflect new per-skill evaluation discipline and stronger semantic grouping, direct bot-path execution, and conservative commit-repair workflow.
This is a patch release focused on strengthening git-visual-commits and git-visual-squash-summary with clarified prefix behavior, safer bot-identity paths, concrete eval contracts, and aligned validator enforcement. Prefix handling now defaults to emoji-first subjects, with conventional-commit prefixes allowed only when explicitly requested. Includes six eval cases for git-visual-commits and five for git-visual-squash-summary covering identity modes, emoji/prefix consistency, and reference synchronization.
Refine emoji meanings for 💬 (community health, changelog, release communication), 📝 (documentation that is not primarily repo-health focused), 📚 (high-level docs with deferred to 💬 when appropriate), and 📦 (package metadata and release notes). Keeps the reference byte-for-byte aligned across git-visual-commits and git-visual-squash-summary.
Add clarifications to README about required disciplines in both git-visual-commits and git-visual-squash-summary workflows: enforce 💬 for community-health and changelog communication, require approval before committing when yolo is absent, document package release-notes as 📦 work separate from general docs, lock scope assumption to full worktree default, and clarify bare invocation expectations for squash summaries.
Tighten critical rules: enforce identity-lock (never silently downgrade bot to human), add fail-fast tool validation before first commit, guard auto-approval skips confirmation only (never skips semantic grouping or verification), enforce default scope as full worktree rather than guessed subset, require user approval unless yolo or auto-mode is active, lock commit-language reference reading before choosing emoji, validate post-commit author and body prose format, reject umbrella commits spanning multiple skill/scaffold/tooling/docs categories.
Add two new eval entries (ids 17 and 18) covering: review-gated commit flow that requires approval before committing when yolo or auto are absent, and umbrella commit rejection for multi-intent diffs spanning build-system, CI automation, package metadata, and release communication work.
Tighten critical rules: enforce bare invocation to auto-resolve current branch scope without asking 'what do you want me to summarize', simplify the algorithm to whole-branch by default rather than commit selection questions, preserve meaningful change groups instead of forcing umbrella lines, and clarify non-mutating design keeps git state untouched.
Add test entry covering bare invocation expectation: calling git-visual-squash-summary directly should auto-resolve current branch scope and return grouped lines without 'what do you want me to summarize' question.
Add validation logic to ensure both git-visual-commits and git-visual-squash-summary keep their commit-language.md references byte-for-byte synchronized as required by the skill contract. Enforces that emoji meanings, prefix definitions, and rollback syntax remain identical across the two skills.
Dependency and version baseline changes were being absorbed into generic build-system or refactor lines. Added explicit rules to treat them as their own semantic intent, prefer dependency-oriented emoji such as ⬆️ for retained dependency lines, and flag collapsing dependency updates into build-system work as a bad output characteristic.
New eval (id 11) validates that when a branch commit collapses dependency updates and build-system changes into one subject, the skill correctly retains them as separate grouped lines and uses a dependency-oriented emoji for the dependency line.
Four gaps surfaced from real benchmarking sessions: eval directories without the eval-* prefix silently produced zero runs from aggregate_benchmark.py; Codex CLI on Windows required a smoke-run validation and safe prompt passing to avoid argument-parsing failures; convenience output files like last-message.txt were sometimes missing while raw event output was still available; and parity results were being mislabeled as simulated. All four are now addressed in SKILL.md and the two reference files.
New eval (id 7) covers the combined scenario where Codex CLI on Windows PowerShell produces argument errors, missing last-message.txt, and aggregator failures due to a bare directory name. Validates that the skill keeps the run measured, advises safe prompt passing, requires the eval-* prefix, uses raw event output as fallback, and treats parity as an honest measured result.
Added two new capability bullets: dependency updates keeping their own line in the squash-summary entry, and PowerShell-safe plus Codex-friendly benchmarking in the skill-creator-agnostic entry.
Finalize release 0.3.3 with expanded changelog entry that covers all git workflow skills, eval contracts, validator enhancements, and documentation updates. Update README skill summaries to reflect new eval discipline and documentation structure.
…stic Add comprehensive test coverage for markdown-illustrator (5 test cases for visualization-first document analysis and visual brief generation) and skill-creator-agnostic (7 test cases for skill evaluation infrastructure, Codex CLI integration, and cross-runner parity validation).
…tor-agnostic Improve skill documentation with clearer workflow guidance, comprehensive parameter documentation, and expanded references. Add Windows PowerShell benchmarking guidance and benchmark contract specification to support cross-runner compatibility and deterministic skill validation per AGENTS.md requirements.
Refactor the git-keep-a-changelog skill to explicitly establish the Step 3 pending-worktree confirmation as a mandatory checkpoint that cannot be bypassed by user request. Add new 'Mandatory Checkpoints' and 'User Intent vs. Mandatory Gates' sections to SKILL.md that clarify the distinction between optional refinements and required safety gates. Update FORMS.md to emphasize mandatory gating, and extend evals/evals.json with a new test case that validates the gate is never skipped when the user says 'include all changes'.
Extend the skill-template validation script with new assertions that enforce the mandatory pending-worktree gate documentation in git-keep-a-changelog. Validate that SKILL.md includes 'Mandatory Checkpoints' and 'User Intent vs. Mandatory Gates' sections, that FORMS.md documents the gate as mandatory, and that evals/evals.json includes test expectations for gate enforcement under user shortcuts.
Update the Available Skills table in README.md to reflect that the git-keep-a-changelog skill's pending-worktree confirmation is now mandatory for concrete releases. Change wording from 'can ask a concise Yes / No / Custom question' to 'must ask a mandatory Yes / No / Custom confirmation question' to accurately describe the skill's contract in repo-health communication.
Refactor git-visual-commits skill to explicitly state that references/commit-language.md should be resolved from the bundled skill resource path first, not as a repo-root path. This clarifies behavior for agents that run the skill outside the target repository. Add new eval test case (id 19) validating that missing repo-root references/ folder does not block the skill.
Extend validate-skill-templates.ps1 with new assertions to enforce that git-visual-commits skill documents commit-language reference resolution from bundled skill resources. Validates SKILL.md includes bundled path guidance and evals/evals.json covers behavior when repo lacks top-level references/ folder.
Update README.md and CHANGELOG.md to reflect the clarified git-visual-commits behavior: commit-language reference is resolved from bundled skill resources first, not repo-root paths. This aligns documentation with the skill's actual deployment behavior across agents and environments.
Incorporate all committed changes plus housekeeping updates to README, validator, skill documentation, and eval coverage. Finalize release heading with today's date (2026-03-25) and document compare-link footer strengthening across the changelog release highlight, Changed section, and Fixed section.
Update the skill description to explicitly document that the skill maintains or inserts the Keep a Changelog compare-link footer on both create and update paths, reflecting the strengthened footer rules now enforced in SKILL.md and validator.
Strengthen SKILL.md documentation of compare-link footer as a non-negotiable rule and Step 7 requirement, ensuring it is maintained, inserted, repaired, or verified on every edit path. Add eval test case to validate footer insertion behavior when missing from existing changelog.
Extend the skill-template validation script with new assertions to enforce compare-link footer documentation in git-keep-a-changelog. Validate that SKILL.md documents footer maintenance as both a non-negotiable rule and Step 7 requirement, and that evals include test coverage for missing-footer insertion behavior.
Updated SKILL.md with hero image reference and added assets directory with skill hero image. Enhances visual appeal and aligns with skill documentation standards.
Added assets directory with hero image for git-keep-a-changelog skill. Updated SKILL.md with asset reference. Improves visual documentation and consistency across skills.
Added assets directory with hero image for git-nuget-readme skill. Completes visual asset set across all git workflow skills.
Added assets directory with hero image for git-nuget-release-notes skill. Updated SKILL.md with asset reference. Strengthens documentation consistency.
Added assets directory with hero image for git-visual-commits skill. Updated SKILL.md with restructured workflow documentation and asset reference for enhanced visual presentation.
Added assets directory with hero image for git-visual-squash-summary skill. Updated SKILL.md with asset reference. Completes visual asset set for git workflow skills.
Review Summary by QodoEnhance skill documentation, validation, and eval contracts for emoji-first defaults and release-adjacent workflows
WalkthroughsDescription• **Emoji-first commit language defaults**: Shifted git-visual-commits and git-visual-squash-summary to use emoji-only subjects by default, with conventional-commit prefixes available only on explicit user request • **Release-adjacent work classification**: Expanded commit classification to include dependency/version baselines, package/publish metadata, documentation publishing, and community health/release communication with concrete splitting rules and examples • **Mandatory pending-worktree confirmation gate**: Added Step 3 confirmation gate to git-keep-a-changelog with FORMS.md structured input support, preventing silent inclusion of uncommitted changes • **Strengthened validator assertions**: Added 35+ new assertions across three git skills to enforce release-adjacent classification, direct git execution rules, fail-fast tool validation, recovery safety, and reference handling • **Enhanced skill documentation**: Added hero images, expanded critical rules sections, and clarified identity-sensitive execution flows for bot commits and approval gating • **Comprehensive eval contracts**: Added 23 new eval test cases covering emoji-first defaults, whole-branch scope resolution, release-adjacent splitting, tool-path failures, mandatory gates, and footer maintenance • **Improved benchmark guidance**: Enhanced skill-creator-agnostic with parallel execution patterns, Windows UTF-8 handling, eval directory naming requirements, and Codex CLI troubleshooting • **Visual enhancements**: Added selective accent color guidance for whiteboard/blackboard styles and hero images to multiple skills Diagramflowchart LR
A["Emoji-First<br/>Defaults"] --> B["git-visual-commits<br/>& squash-summary"]
C["Release-Adjacent<br/>Classification"] --> B
D["Mandatory<br/>Confirmation Gate"] --> E["git-keep-a-changelog"]
F["Validator<br/>Assertions"] --> G["Skill Enforcement"]
B --> H["Enhanced<br/>Documentation"]
E --> H
I["Eval Test<br/>Cases"] --> J["Comprehensive<br/>Coverage"]
K["Parallel<br/>Execution"] --> L["skill-creator-agnostic"]
H --> M["v0.3.3 Release"]
J --> M
L --> M
File Changes1. scripts/validate-skill-templates.ps1
|
Code Review by Qodo
1.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 195d80b41e
ℹ️ 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".
| "prompt": "Use systems.md and keep it blackboard style. I want the final prompt to feel like a real chalkboard drawing, but use colored accents for emphasis instead of making every arrow and icon white chalk. Answer directly in chat.", | ||
| "expected_output": "A direct chat response with one Visual Brief and one final prompt that preserves the blackboard medium while using a restrained accent color palette for emphasis marks.", | ||
| "files": ["evals/files/microservices-architecture.md"], |
There was a problem hiding this comment.
Match eval filename to the staged fixture in test 4
The new eval prompt asks the model to "Use systems.md", but the only staged fixture for this case is evals/files/microservices-architecture.md. In the benchmark flow, runs read files that are copied from files[]; when the prompt names a different file, the run can fail with a file-not-found path or ignore the intended fixture, causing noisy benchmark failures unrelated to the skill logic.
Useful? React with 👍 / 👎.
| "prompt": "Read onboarding-notes.md and make it whiteboard style. Keep the whiteboard / marker medium, but use colored accents for emphasis instead of drawing every mark in black marker only. Just answer in chat.", | ||
| "expected_output": "A direct chat response with one Visual Brief and one final prompt that preserves the whiteboard medium while using selective accent colors for emphasis.", | ||
| "files": ["evals/files/transformers-explained.md"], |
There was a problem hiding this comment.
Match eval filename to the staged fixture in test 5
This prompt requests onboarding-notes.md, but files[] stages evals/files/transformers-explained.md instead. Because the eval harness supplies the listed fixture paths, this mismatch can make measured runs fail or drift from the intended input document, which undermines the validity of with-skill vs without-skill comparisons.
Useful? React with 👍 / 👎.
| --- | ||
| name: dotnet-strong-name-signing | ||
| description: > | ||
| Generate a strong name key (.snk) file for signing .NET assemblies using pure .NET cryptography — no Visual Studio Developer PowerShell or sn.exe required. Works in any terminal. Use this skill when the user wants to create a strong name key, generate an .snk file, sign .NET assemblies, or mentions "strong-name", "snk", "AssemblyOriginatorKeyFile", "SignAssembly", or asks how to sign a .NET library. Also use when scaffolding .NET libraries or NuGet packages that need assembly signing. ALWAYS use this skill when asked to generate or create a strong name key file. | ||
| description: > | ||
| Generate a strong name key (.snk) file for signing .NET assemblies using pure .NET cryptography — no Visual Studio Developer PowerShell or sn.exe required. Works in any terminal. Use this skill when the user wants to create a strong name key, generate an .snk file, sign .NET assemblies, or mentions "strong-name", "snk", "AssemblyOriginatorKeyFile", "SignAssembly", or asks how to sign a .NET library. Also use when scaffolding .NET libraries or NuGet packages that need assembly signing. ALWAYS use this skill when asked to generate or create a strong name key file. | ||
| --- |
There was a problem hiding this comment.
2. Frontmatter contains > character 📘 Rule violation ✓ Correctness
skills/dotnet-strong-name-signing/SKILL.md frontmatter uses the folded-scalar indicator > (description: >), which introduces a > character inside the YAML frontmatter block. This violates the rule disallowing any < or > characters anywhere within SKILL frontmatter.
Agent Prompt
## Issue description
The YAML frontmatter includes a `>` character via `description: >`, which is disallowed.
## Issue Context
This rule applies to any `<`/`>` characters anywhere in the SKILL frontmatter block, including YAML scalar indicators.
## Fix Focus Areas
- skills/dotnet-strong-name-signing/SKILL.md[1-5]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
There was a problem hiding this comment.
Pull request overview
Expands the repo’s skill guidance and validation around release-adjacent work, benchmark execution/contract expectations, and stricter git-workflow behaviors (emoji-first subjects, identity-safe commit execution, and mandatory changelog gates), with accompanying documentation and eval updates.
Changes:
- Extend git workflow skills (commits + squash summary + keep-a-changelog) with stronger default behaviors, new eval contracts, and updated shared commit-language guidance.
- Strengthen skill validation (
validate-skill-templates.ps1) to assert the new required rules/sections and enforce alignment across skills. - Update skill-creator-agnostic benchmark documentation to cover eval directory discovery, parallel execution when supported, Windows/Python UTF-8 pitfalls, and CLI prompt passing.
Reviewed changes
Copilot reviewed 20 out of 26 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| skills/skill-creator-agnostic/references/windows-powershell-benchmarking.md | Adds Windows/Python UTF-8 and CLI prompt-handling benchmarking guidance plus new failure symptoms. |
| skills/skill-creator-agnostic/references/benchmark-contract.md | Clarifies benchmark layout/discovery rules and adds parallelism guidance when runners support sub-agents. |
| skills/skill-creator-agnostic/evals/evals.json | Adds eval coverage for parallel fan-out and Windows/Codex benchmarking pitfalls. |
| skills/skill-creator-agnostic/SKILL.md | Updates the runner-agnostic workflow to prefer parallel measured runs, enforce eval-* naming, and document parity outcomes. |
| skills/markdown-illustrator/evals/evals.json | Adds eval cases for whiteboard/blackboard styles using selective color accents. |
| skills/markdown-illustrator/SKILL.md | Updates visual-treatment rules to bias toward restrained accent colors for board styles. |
| skills/git-visual-squash-summary/references/commit-language.md | Updates shared commit-language guidance to make prefixes opt-in and refine emoji intent guidance. |
| skills/git-visual-squash-summary/evals/evals.json | Adds evals for branch-scope defaults, no commit-picking UX, and release-communication emoji choice. |
| skills/git-visual-squash-summary/SKILL.md | Clarifies whole-branch-by-default behavior and prefixless output shape for squash summaries. |
| skills/git-visual-commits/references/commit-language.md | Mirrors the shared commit-language update (prefixes opt-in; refined emoji intent guidance). |
| skills/git-visual-commits/evals/evals.json | Adds evals for release-adjacent intent splitting, identity/tool-path failure handling, and prefix opt-in behavior. |
| skills/git-visual-commits/SKILL.md | Updates commit workflow rules for emoji-first default subjects, direct git execution for identity-sensitive commits, and conservative recovery/clarification gates. |
| skills/git-nuget-release-notes/SKILL.md | Adds hero image reference to the skill docs. |
| skills/git-keep-a-changelog/evals/evals.json | Adds evals enforcing the pending-worktree confirmation gate and compare-link footer repair behavior. |
| skills/git-keep-a-changelog/SKILL.md | Makes pending-worktree confirmation a mandatory workflow gate and requires compare-link footer maintenance on edits. |
| skills/git-keep-a-changelog/FORMS.md | Introduces structured-input + deterministic text fallback spec for the pending-worktree gate. |
| skills/dotnet-strong-name-signing/SKILL.md | Adds hero image reference and normalizes some formatting in the doc. |
| scripts/validate-skill-templates.ps1 | Strengthens validator assertions for the new git-skill rules and keep-a-changelog FORMS/gates. |
| README.md | Updates repo-level skill summaries and guidance to match new defaults and mandatory checkpoints. |
| CHANGELOG.md | Adds release notes for 0.3.3 and updates compare links. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
skills/git-keep-a-changelog/SKILL.md
Outdated
|
|
||
| - Count staged, unstaged, and untracked changes separately. | ||
| - If there are no pending changes, continue normally. | ||
| - If there are pending changes and the target is a concrete release heading such as `## [1.2.3]`, You must ask a direct confirmation question before drafting the changelog entry. |
There was a problem hiding this comment.
In the Step 3 bullet list, "..., You must ask..." uses a capital "You" mid-sentence. This reads like a typo; it should be lowercase to keep the instructions grammatically correct.
| - If there are pending changes and the target is a concrete release heading such as `## [1.2.3]`, You must ask a direct confirmation question before drafting the changelog entry. | |
| - If there are pending changes and the target is a concrete release heading such as `## [1.2.3]`, you must ask a direct confirmation question before drafting the changelog entry. |
| "id": 8, | ||
| "prompt": "The benchmark runner supports sub-agents and background jobs. Should the measured skill benchmark still run evals one-by-one, or should it fan out? Tell me the expected execution pattern.", | ||
| "expected_output": "The response prefers parallel paired executor runs and parallel grading when the runner supports sub-agents, while keeping the existing benchmark artifact contract intact.", |
There was a problem hiding this comment.
Eval IDs are no longer in ascending order (id 8 appears before ids 5–7). Consider keeping the eval list ordered by id to make diffs/reviews easier and avoid accidental id reuse during future edits.
Expand the classification system to include release-adjacent work, strengthen validator assertions, and update documentation to reflect new guidance. Improve the execution flow for identity-sensitive commits and ensure that skills maintain alignment with eval contracts. This release also includes visual enhancements for skill documentation and clarifications on mandatory checkpoints.