Skip to content

V0.6.0/dotnet change impact#21

Merged
gimlichael merged 9 commits into
mainfrom
v0.6.0/dotnet-change-impact
Jun 8, 2026
Merged

V0.6.0/dotnet change impact#21
gimlichael merged 9 commits into
mainfrom
v0.6.0/dotnet-change-impact

Conversation

@gimlichael

Copy link
Copy Markdown
Member

This pull request introduces a new skill, dotnet-change-impact, to the project and updates the documentation to describe and promote its use. The new skill helps users determine the correct version bump (Major, Minor, or Patch) for .NET libraries and NuGet packages, grounded in Microsoft's official compatibility rules. The documentation is updated to explain the motivation, usage, and decision policy behind this skill, ensuring that teams can avoid both accidental breaking changes and unnecessary major version bumps.

Addition of the dotnet-change-impact skill:

  • Added a comprehensive skill definition for dotnet-change-impact in skills/dotnet-change-impact/SKILL.md, detailing its purpose, output modes, internal analysis process, version bump rules, compatibility categories, and output format.

Documentation updates in README.md:

Skill listing and installation:

  • Added dotnet-change-impact to the skill install commands and the documented skills table, including a detailed description of its functionality and decision logic. [1] [2] [3]

Explanation and motivation:

  • Introduced a new "Why dotnet-change-impact?" section, explaining the importance of correct versioning in .NET projects and how the skill applies Microsoft's compatibility guidance to real-world changes.

These changes help users understand, install, and apply the new skill to their .NET projects, promoting safer and more accurate release management.

aicia-bot added 2 commits June 8, 2026 01:14
Add the dotnet-change-impact skill for classifying .NET library changes and recommending version bumps (Major/Minor/Patch) according to Microsoft's official compatibility rules. Includes SKILL.md, evals for benchmarking, and compatibility-categories reference.
Update README.md to list dotnet-change-impact in the Available Skills section with install command and detailed description. Add a new 'Why dotnet-change-impact?' section explaining the skill's purpose, grounding in Microsoft's compatibility model, and key capabilities.
@gimlichael gimlichael self-assigned this Jun 7, 2026
@greptile-apps

greptile-apps Bot commented Jun 7, 2026

Copy link
Copy Markdown

Greptile Summary

This PR introduces the dotnet-change-impact skill, which classifies .NET library and NuGet package changes and recommends the correct SemVer bump (Major/Minor/Patch) using Microsoft's official compatibility model. Documentation, changelog, and README are updated to register and describe the skill.

  • New skill (skills/dotnet-change-impact/) includes SKILL.md (366 lines, under the 500-line limit), a references/compatibility-categories.md deep-reference, a hero image, and 9 evals covering all three bump levels, precedence, interface/enum/TFM edge cases, and default branch-resolution mode.
  • CHANGELOG.md gains entries for versions 0.6.0 through 0.4.4 and also fixes a pre-existing bug where the [0.4.5] compare-URL incorrectly pointed to v0.4.3...v0.4.4 (the range for 0.4.4) instead of v0.4.4...v0.4.5.
  • README.md adds the skill to the install-commands block, the skills table, and a "Why dotnet-change-impact?" capability section.

Confidence Score: 5/5

Safe to merge — adds a new skill definition, reference docs, and evals with no executable code changes and no mutations to existing skill logic.

All changes are new files (SKILL.md, compatibility-categories.md, evals.json, hero image) or additive updates to README and CHANGELOG. The CHANGELOG also corrects a pre-existing link bug. No existing skills or runtime paths are modified.

Eval 9 in evals/evals.json tests the live git default-resolution path without a fixture to seed a meaningful workspace — worth a follow-up to make that eval deterministic.

Important Files Changed

Filename Overview
skills/dotnet-change-impact/SKILL.md New skill definition; 366 lines (within 500-line limit), well-structured with all required frontmatter, progressive-disclosure layout, and output format template.
skills/dotnet-change-impact/evals/evals.json 9 evals covering Major/Minor/Patch, precedence, behavioral ambiguity, interface/enum/TFM special cases, and default branch resolution. Eval 9 has no files fixture to seed a git workspace.
skills/dotnet-change-impact/references/compatibility-categories.md Comprehensive reference covering the five compatibility categories and a full special-case catalog with worked examples. Correctly cited as a Level 3 resource from SKILL.md.
CHANGELOG.md Adds changelog entries for versions 0.6.0–0.4.4 and corrects a pre-existing bug where the [0.4.5] link pointed to v0.4.3...v0.4.4 instead of v0.4.4...v0.4.5.
README.md Adds dotnet-change-impact to the install-commands block, skills table, and a 'Why dotnet-change-impact?' capability section.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A([User invokes dotnet-change-impact]) --> B{Input mode?}
    B -->|Explicit change details| C[Classify provided changes]
    B -->|Explicit compare range| D[Inspect range & classify]
    B -->|No input| E[Default Resolution]
    E --> E1[git rev-parse HEAD → current branch]
    E1 --> E2[Resolve upstream remote]
    E2 --> E3{Default branch resolvable?}
    E3 -->|Yes| E4[git log + git diff vs base]
    E3 -->|No — fallback order| E5[origin/HEAD → upstream/HEAD → origin/main → origin/master → ...]
    E5 --> E4
    E4 --> C
    C --> F[Internal analysis: public contract, observable behavior, source/binary/design-time compat, backwards compat, highest bump]
    F --> G{Highest required bump}
    G -->|Breaking / plausibly breaking| H[Major]
    G -->|Additive, backward-compatible| I[Minor]
    G -->|No new surface, preserves contract| J[Patch]
    H & I & J --> K[Structured output: Recommendation → Key changes → Compatibility impact → Reasoning → Deterministic decision]
Loading
Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
skills/dotnet-change-impact/evals/evals.json:639-652
**Eval 9 may yield indeterminate results without a seeded git workspace**

Eval 9 tests the "Default Resolution Behavior" path — it expects the skill to run `git` commands, detect the current branch, resolve a base, and classify the diff. However, no `files` fixture is provided, so the eval runner creates a plain temp workspace. If that workspace starts on `main` with no commits ahead of the base branch, the skill will correctly report "nothing to classify" rather than produce a `Major`/`Minor`/`Patch` recommendation — but the expectation "Collects both branch commits and net diff before classifying compatibility impact" cannot be satisfied. Adding either a `files` entry pointing to a pre-baked `.git` bundle or a workspace-setup note would make this eval deterministic and runnable in CI.

Reviews (3): Last reviewed commit: "💬 polish dotnet-change-impact docs and ..." | Re-trigger Greptile

Comment thread skills/dotnet-change-impact/SKILL.md
aicia-bot added 7 commits June 8, 2026 01:34
Add comprehensive default resolution behavior when no explicit change details or compare range are provided. The skill now inspects the current Git branch and automatically compares it against the upstream default branch, collecting commits and net diff. Includes detailed guidance on input modes, git detection logic, fallback chain for branch resolution, and read-only commands. Updated evals to cover branch-detection scenarios and current-branch classification.
Refine the skill table description and Why section to emphasize current-branch default behavior. Document that the skill resolves the current branch against the upstream/default base branch when no explicit input is provided, and clarify that explicit change descriptions, API diffs, and compare ranges still override that default.
Reorganize and streamline SKILL.md for clarity, consolidating the input handling sections and refining the decision flow. Simplify evals.json test cases, reducing redundancy and improving focus. Maintain all core compatibility rules and guidance while improving readability.
Update the skill table entry in README to reflect the reorganized instructions and simplified evals. Clarify the current-branch default behavior and ensure consistency with the refined SKILL.md.
Improve SKILL.md readability by removing artificial line breaks, add hero image reference, include assets/hero.jpg, and update CHANGELOG to reflect these refinements.
@gimlichael gimlichael merged commit 1d921ea into main Jun 8, 2026
1 check passed
@gimlichael gimlichael deleted the v0.6.0/dotnet-change-impact branch June 8, 2026 00:51
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