Skip to content

V0.4.1/git squash fix#13

Merged
gimlichael merged 2 commits intomainfrom
v0.4.1/git-squash-fix
May 3, 2026
Merged

V0.4.1/git squash fix#13
gimlichael merged 2 commits intomainfrom
v0.4.1/git-squash-fix

Conversation

@gimlichael
Copy link
Copy Markdown
Member

This pull request clarifies and enforces the lowercase-start convention for emoji-first summary lines in the git-visual-squash-summary skill. It updates documentation, changelogs, user-facing descriptions, formatting rules, and evaluation tests to ensure that grouped summary lines start with a lowercase word after the emoji—unless a technical identifier requiring original casing appears first. The changes also expand guidance on preserving technical identifiers and update related evaluation criteria.

Documentation and User Guidance Updates:

  • Updated README.md and skills/git-visual-squash-summary/SKILL.md to clarify that grouped summary lines should start lowercase after the emoji, except when a leading technical identifier requires original casing. Expanded formatting rules and examples to illustrate this behavior, and emphasized preservation of case-sensitive identifiers. [1] [2] [3] [4] [5] [6] [7]

  • Updated the CHANGELOG.md to document the lowercase-start rule, technical identifier preservation, and related evaluation coverage for git-visual-squash-summary. [1] [2]

Evaluation and Testing Improvements:

  • Expanded skills/git-visual-squash-summary/evals/evals.json with new and refined test cases to check for lowercase-start compliance, technical identifier preservation, and correct output style. [1] [2] [3]

aicia-bot added 2 commits May 4, 2026 01:38
Added explicit lowercase-start guidance for emoji-first output, clarifying that descriptions should start lowercase unless a leading technical identifier requires original casing. Preserved case-sensitive identifiers such as ValidateSkillTemplates, Directory.Packages.props, API names, and paths when they appear first. Added eval test coverage for the lowercase-start rule including preservation of technical identifiers and distinction from conventional-commit prefixes. Updated README descriptions to reflect the refined output conventions.
Updated the 0.4.1 release entry to document both git-story-teller enhancements (complete-read grounding, subagent delegation, evidence-based validation) and git-visual-squash-summary refinements (emoji-first output rules, lowercase-start guidance, eval coverage). Expanded Added, Changed, and Fixed sections with comprehensive details of the release scope and impact.
@gimlichael gimlichael self-assigned this May 3, 2026
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 3, 2026

Greptile Summary

This PR clarifies and enforces the lowercase-start convention for emoji-first summary lines in git-visual-squash-summary, updating SKILL.md formatting rules, Good/Bad characteristics, the README description, CHANGELOG, and eval contracts to require descriptions start lowercase after the emoji unless a leading technical identifier demands original casing.

The rule additions are internally consistent and the examples in the existing references/commit-language.md were already lowercase-compliant, requiring no changes there — though the CHANGELOG's Fixed entry implies that file was actively standardized when no diff touches it.

Confidence Score: 4/5

Safe to merge; only P2 findings around documentation accuracy and an incomplete eval expectation.

All findings are P2: a misleading CHANGELOG Fixed entry and a missing inverse-case expectation in eval 12. No logic errors or runtime regressions are introduced; the skill documentation and eval coverage are meaningfully improved.

CHANGELOG.md (misleading Fixed entry about references/commit-language.md) and evals/evals.json (eval 12 missing the leading-identifier exception expectation).

Important Files Changed

Filename Overview
CHANGELOG.md Changelog updated for 0.4.1 with lowercase-start guidance; one Fixed entry incorrectly implies references/commit-language.md was modified when it has no diff in this PR.
README.md Two targeted updates clarifying the lowercase-start convention in the skill table entry and the 'Why git-visual-squash-summary?' bullet; changes are accurate and consistent with SKILL.md.
skills/git-visual-squash-summary/SKILL.md Lowercase-start rule added to Non-Negotiable Rules, output format template, formatting rules, Good/Bad characteristics; additions are internally consistent and include the technical-identifier exception throughout.
skills/git-visual-squash-summary/evals/evals.json New eval 12 added and evals 2 and 9 augmented for lowercase-start coverage; eval 12 is missing the explicit expectation for preserving leading technical identifier casing.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Emoji selected] --> B{First word after emoji}
    B -->|Normal verb e.g. add, update| C[Lowercase start\ne.g. '✨ add feature']
    B -->|Case-sensitive technical identifier\ne.g. ValidateSkillTemplates| D[Preserve original casing\ne.g. '🧪 ValidateSkillTemplates coverage']
    C --> E[Output line ≤72 chars]
    D --> E
    E --> F{Conventional prefix\nexplicitly requested?}
    F -->|No| G[emoji + description only]
    F -->|Yes| H[emoji + prefix + description]
Loading
Prompt To Fix All With AI
Fix the following 2 code review issues. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 2
CHANGELOG.md:40
**Changelog claims a file was changed that has no diff**

The Fixed entry states guidance was "Standardized ... across SKILL.md, `references/commit-language.md`, and eval contracts," but `references/commit-language.md` does not appear anywhere in this PR's diff. Changelog readers will expect that file to have been modified. The file's examples were already lowercase-compliant before this PR, so either the entry should be rephrased to reflect verification (not standardization), or the file should have been explicitly updated with the new casing guidance text.

### Issue 2 of 2
skills/git-visual-squash-summary/evals/evals.json:136-141
**New eval 12 missing explicit expectation for the identifier-first exception**

The `expected_output` prose for eval 12 correctly describes the exception ("preserving case-sensitive technical identifiers when they appear"), but none of the four expectations in the array covers the inverse case — that a line starting with `ValidateSkillTemplates` should *not* be forced to lowercase. Evals 2 and 9 include this explicit guard; without it in eval 12, the grader can pass a model that lowercases all identifiers without penalisation.

```suggestion
      "expectations": [
        "Starts normal description text lowercase after each emoji",
        "Does not lowercase leading technical identifiers that require original casing",
        "Preserves case-sensitive technical identifiers such as ValidateSkillTemplates exactly",
        "Does not add conventional prefixes unless explicitly requested",
        "Returns grouped summary lines only without explaining the casing rule"
      ]
```

Reviews (1): Last reviewed commit: "💬 document 0.4.1 release highlights" | Re-trigger Greptile

Comment thread CHANGELOG.md
- Refined conservative test project matching to use exact suffix matching instead of stripping, preventing false positives when project names contain partial test-suffix overlap,
- Updated eval 11 expectations to clarify handling of dedicated test projects with explicit "Tests" suffix patterns.
- Updated eval 11 expectations to clarify handling of dedicated test projects with explicit "Tests" suffix patterns,
- Standardized `git-visual-squash-summary` output guidance across SKILL.md, references/commit-language.md, and eval contracts to enforce consistent lowercase-start and technical-identifier preservation rules.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Changelog claims a file was changed that has no diff

The Fixed entry states guidance was "Standardized ... across SKILL.md, references/commit-language.md, and eval contracts," but references/commit-language.md does not appear anywhere in this PR's diff. Changelog readers will expect that file to have been modified. The file's examples were already lowercase-compliant before this PR, so either the entry should be rephrased to reflect verification (not standardization), or the file should have been explicitly updated with the new casing guidance text.

Prompt To Fix With AI
This is a comment left during a code review.
Path: CHANGELOG.md
Line: 40

Comment:
**Changelog claims a file was changed that has no diff**

The Fixed entry states guidance was "Standardized ... across SKILL.md, `references/commit-language.md`, and eval contracts," but `references/commit-language.md` does not appear anywhere in this PR's diff. Changelog readers will expect that file to have been modified. The file's examples were already lowercase-compliant before this PR, so either the entry should be rephrased to reflect verification (not standardization), or the file should have been explicitly updated with the new casing guidance text.

How can I resolve this? If you propose a fix, please make it concise.

Comment on lines +136 to +141
"expectations": [
"Starts normal description text lowercase after each emoji",
"Preserves case-sensitive technical identifiers such as ValidateSkillTemplates exactly",
"Does not add conventional prefixes unless explicitly requested",
"Returns grouped summary lines only without explaining the casing rule"
]
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 New eval 12 missing explicit expectation for the identifier-first exception

The expected_output prose for eval 12 correctly describes the exception ("preserving case-sensitive technical identifiers when they appear"), but none of the four expectations in the array covers the inverse case — that a line starting with ValidateSkillTemplates should not be forced to lowercase. Evals 2 and 9 include this explicit guard; without it in eval 12, the grader can pass a model that lowercases all identifiers without penalisation.

Suggested change
"expectations": [
"Starts normal description text lowercase after each emoji",
"Preserves case-sensitive technical identifiers such as ValidateSkillTemplates exactly",
"Does not add conventional prefixes unless explicitly requested",
"Returns grouped summary lines only without explaining the casing rule"
]
"expectations": [
"Starts normal description text lowercase after each emoji",
"Does not lowercase leading technical identifiers that require original casing",
"Preserves case-sensitive technical identifiers such as ValidateSkillTemplates exactly",
"Does not add conventional prefixes unless explicitly requested",
"Returns grouped summary lines only without explaining the casing rule"
]
Prompt To Fix With AI
This is a comment left during a code review.
Path: skills/git-visual-squash-summary/evals/evals.json
Line: 136-141

Comment:
**New eval 12 missing explicit expectation for the identifier-first exception**

The `expected_output` prose for eval 12 correctly describes the exception ("preserving case-sensitive technical identifiers when they appear"), but none of the four expectations in the array covers the inverse case — that a line starting with `ValidateSkillTemplates` should *not* be forced to lowercase. Evals 2 and 9 include this explicit guard; without it in eval 12, the grader can pass a model that lowercases all identifiers without penalisation.

```suggestion
      "expectations": [
        "Starts normal description text lowercase after each emoji",
        "Does not lowercase leading technical identifiers that require original casing",
        "Preserves case-sensitive technical identifiers such as ValidateSkillTemplates exactly",
        "Does not add conventional prefixes unless explicitly requested",
        "Returns grouped summary lines only without explaining the casing rule"
      ]
```

How can I resolve this? If you propose a fix, please make it concise.

@gimlichael gimlichael merged commit 899fbac into main May 3, 2026
1 check passed
@gimlichael gimlichael deleted the v0.4.1/git-squash-fix branch May 3, 2026 23:48
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.

2 participants