Skip to content

V0.7.3/git keep a changelog ii - #28

Merged
gimlichael merged 7 commits into
mainfrom
v0.7.3/git-keep-a-changelog-ii
Jun 30, 2026
Merged

V0.7.3/git keep a changelog ii#28
gimlichael merged 7 commits into
mainfrom
v0.7.3/git-keep-a-changelog-ii

Conversation

@gimlichael

Copy link
Copy Markdown
Member

This pull request updates the changelog skill documentation to clarify and improve the process for handling concrete releases, especially regarding manifest and base commit inspection. The most important changes focus on ensuring that foundational changes in the base commit are always included in release changelogs and that the correct sequence is followed when processing dependency/version manifests.

Changelog process improvements:

  • The process now explicitly inspects the base commit for concrete releases (e.g., ## [X.Y.Z]) before any other steps, ensuring foundational version bumps and release-prep changes are included in the changelog. This is achieved by using the <base>^..HEAD range for concrete releases.
  • The documentation clarifies that the base commit must be checked for manifest changes before running diffs, and that these changes should be treated as the starting point for dependency analysis.
  • The steps for detecting and diffing manifest changes have been reorganized and renumbered for clarity, with new mandatory sub-steps for concrete releases.

Documentation and accuracy enhancements:

  • The summary and feature list now mention that the base commit is included for concrete releases, and that foundational changes will never be omitted from the release narrative.
  • A new bullet point in the "common mistakes" section warns against omitting the base commit from concrete release changelogs, highlighting the risk of missing foundational changes.

Separate manifest-diff reading (4a–4b) from commit-body reading (4c) to ensure the skill captures the full cumulative dependency picture when multiple commits touched version files. Add test case 13 to validate this behavior handles multi-commit manifest updates correctly.
Add a mandatory Step 4a for concrete releases to inspect the base commit before reading manifests. The base commit often contains release-prep changes and version bumps that are foundational to the release narrative. Update all subsequent steps (4a→4b, 4b→4c, etc.) and clarify when to use <base>^..HEAD for concrete releases versus <base>..HEAD for unreleased changelogs. Add quality-gate reminder to never omit the base commit from concrete release changelogs.
@gimlichael gimlichael self-assigned this Jun 30, 2026
@greptile-apps

greptile-apps Bot commented Jun 30, 2026

Copy link
Copy Markdown

Greptile Summary

This PR restructures Step 4 of the git-keep-a-changelog skill to introduce a new concrete-release-specific sub-step (4a) that inspects the base commit before any manifest detection, and renames all subsequent sub-steps (old 4a–4e → new 4b–4f) to maintain a clean sequential label chain. It also fixes the three structural defects flagged in the previous review round — duplicate 4b label, broken fenced code blocks in the commit-log and net-diff steps, and the missing code block under the original 4a heading.

  • New 4a step: For concrete releases only, runs git show and git diff <base>^..<base> --stat before manifest detection, capturing release-prep and version-bump changes made in the base commit.
  • Dual-mode commands throughout: Every command block now provides both a <base>^..HEAD variant (concrete releases) and a <base>..HEAD variant ([Unreleased]), replacing the single-range examples that existed before.
  • CHANGELOG.md: Adds the v0.7.3 entry with Added/Changed/Fixed sections and updates the [Unreleased] compare-link footer.

Confidence Score: 5/5

This PR is safe to merge; it is a documentation-only change to a skill file and a standard changelog update with no executable code.

All three structural defects called out in the prior review round are addressed. The one remaining note is a wording ambiguity in 4a that the top-level mandatory-step declaration already partially mitigates; no executable code is affected.

The conditional wording in 4a of skills/git-keep-a-changelog/SKILL.md deserves a second read to confirm AI agents will not misinterpret it as permission to skip 4b when the base commit contains no manifests.

Important Files Changed

Filename Overview
skills/git-keep-a-changelog/SKILL.md Step 4 restructured to add concrete-release-only 4a (base commit inspection), renaming 4a–4e → 4b–4f; all three previously flagged structural defects resolved. A minor conditional-wording ambiguity in 4a's 'proceed to 4b immediately' clause remains.
CHANGELOG.md Adds v0.7.3 entry with Added/Changed/Fixed sections and updates the [Unreleased] compare link; formatting and footer links are correct.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A([Start Step 4]) --> B{Concrete release\nor Unreleased?}
    B -- Concrete release --> C["4a — Inspect base commit\ngit show / git diff base^..base --stat"]
    B -- Unreleased --> D["4b — Detect manifest changes\ngit diff --name-only base..HEAD"]
    C --> C2{Manifests in\nbase commit?}
    C2 -- Yes --> C3["Note: treat as dependency\nstarting point for 4b–4c"]
    C2 -- No --> D2
    C3 --> D2["4b — Detect manifest changes\ngit diff --name-only base^..HEAD"]
    D --> D3{Any manifest\nfiles found?}
    D2 --> D4{Any manifest\nfiles found?}
    D3 -- Yes --> E["4c — Diff each manifest\nbase..HEAD per manifest"]
    D3 -- No --> F
    D4 -- Yes --> E2["4c — Diff each manifest\nbase commit first, then full range"]
    D4 -- No --> F
    E --> F["4d — Read full commit log\ngit log --reverse"]
    E2 --> F
    F --> G["4e — Inspect net diff\ngit diff --stat / git diff"]
    G --> H["4f — Include approved\npending changes (if any)"]
    H --> I([Step 4 complete])
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A([Start Step 4]) --> B{Concrete release\nor Unreleased?}
    B -- Concrete release --> C["4a — Inspect base commit\ngit show / git diff base^..base --stat"]
    B -- Unreleased --> D["4b — Detect manifest changes\ngit diff --name-only base..HEAD"]
    C --> C2{Manifests in\nbase commit?}
    C2 -- Yes --> C3["Note: treat as dependency\nstarting point for 4b–4c"]
    C2 -- No --> D2
    C3 --> D2["4b — Detect manifest changes\ngit diff --name-only base^..HEAD"]
    D --> D3{Any manifest\nfiles found?}
    D2 --> D4{Any manifest\nfiles found?}
    D3 -- Yes --> E["4c — Diff each manifest\nbase..HEAD per manifest"]
    D3 -- No --> F
    D4 -- Yes --> E2["4c — Diff each manifest\nbase commit first, then full range"]
    D4 -- No --> F
    E --> F["4d — Read full commit log\ngit log --reverse"]
    E2 --> F
    F --> G["4e — Inspect net diff\ngit diff --stat / git diff"]
    G --> H["4f — Include approved\npending changes (if any)"]
    H --> I([Step 4 complete])
Loading

Reviews (2): Last reviewed commit: "📝 update changelog for v0.7.3 with skil..." | Re-trigger Greptile

Comment thread skills/git-keep-a-changelog/SKILL.md Outdated
Comment thread skills/git-keep-a-changelog/SKILL.md
Comment thread skills/git-keep-a-changelog/SKILL.md
@gimlichael
gimlichael merged commit adf1b2f into main Jun 30, 2026
1 check passed
@gimlichael
gimlichael deleted the v0.7.3/git-keep-a-changelog-ii branch June 30, 2026 22:52
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