Skip to content

V0.5.0/git remote release#20

Merged
gimlichael merged 9 commits into
mainfrom
v0.5.0/git-remote-release
Jun 7, 2026
Merged

V0.5.0/git remote release#20
gimlichael merged 9 commits into
mainfrom
v0.5.0/git-remote-release

Conversation

@gimlichael

Copy link
Copy Markdown
Member

This pull request introduces a new skill, git-remote-release, which generates high-quality GitHub release notes by summarizing commits and pull requests between two tags, branches, or the current branch and the upstream default branch. The documentation is updated to describe the skill's purpose, usage, and unique features. The PR also includes a detailed specification, input form, and evaluation cases to ensure correct and robust behavior.

The most important changes include:

New Skill Addition:

  • Added the git-remote-release skill, which produces polished, human-friendly release notes for GitHub repositories by analyzing commits and pull requests between two refs (tags or branches) or via a compare URL. It works entirely via GitHub's API when possible and supports default behavior for the current branch.

Documentation and Usage:

  • Updated the README.md to:
    • List git-remote-release in the available skills and installation commands. [1] [2]
    • Add a new section explaining the motivation, features, and workflow of git-remote-release.
    • Document the skill in the skills table with a clear description of its capabilities.

Specification and Input Handling:

  • Added SKILL.md for git-remote-release, providing a comprehensive specification: input options (compare URL, explicit values, or default resolution), output format, contributor handling, alert block usage, and strict rules for summary and sources.
  • Added FORMS.md to define the interactive parameter collection and confirmation process for the skill, specifying field requirements and user prompts.

Evaluation and Quality Assurance:

  • Introduced evals.json with test cases to validate the skill's behavior, including expectations for output formatting, summary quality, alert block usage, and correct handling of various input scenarios.

aicia-bot added 2 commits June 7, 2026 21:32
Add the complete git-remote-release skill including SKILL.md, FORMS.md, and evals for generating GitHub release notes from remote repository commits and pull requests.
Document the new git-remote-release skill in the Available Skills table and add a 'Why git-remote-release?' section explaining its purpose and design philosophy.
@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 git-remote-release skill, which generates polished GitHub release notes by summarizing commits and pull requests between two refs (tags or branches) via GitHub's API, with a fallback to local git context when no explicit input is provided.

  • New skill (skills/git-remote-release/): SKILL.md defines three input paths (compare URL, separate values, default resolution), a five-step workflow, contributor attribution rules, strict output format, and a pagination-awareness note for the GitHub compare API. FORMS.md provides four text fields with prompts and a rule-0 short-circuit that skips the form entirely when no user input is given — addressing all three issues from the previous review round. evals.json covers compare-URL, separate-value, patch-release, and current-branch scenarios.
  • README.md updates: git-remote-release is added to the install-command block, the skills table, the copyable-installs section, and a new "Why git-remote-release?" section that documents the skill's motivation and feature set.

Confidence Score: 5/5

Safe to merge — adds a new documentation-only skill with no executable code paths touching existing functionality.

All three issues flagged in the prior review round (missing prompts, tag-only field names, absent default-resolution rule) have been corrected. The remaining findings are a one-word inaccuracy in README prose and a missing optional default field in FORMS.md — neither affects runtime behavior or correctness. The skill definition itself is thorough: it handles pagination limits, contributor attribution fallbacks, and the default-branch resolution chain. No existing files are modified in a breaking way.

README.md (one-word inaccuracy in the Why git-remote-release bullet) and skills/git-remote-release/FORMS.md (no default field on conditionally-required fields).

Important Files Changed

Filename Overview
README.md Adds git-remote-release to install commands, skills table, copyable installs section, and a new "Why git-remote-release?" section; one bullet says "both tags" where "both refs" is correct since compare URLs support branches too.
skills/git-remote-release/FORMS.md New FORMS.md with four text fields, prompt strings, and five presentation rules including a rule-0 short-circuit for the default-resolution path; all three issues from prior review threads are now addressed, but no default field is defined on any conditionally-required field.
skills/git-remote-release/SKILL.md New 351-line skill definition with YAML frontmatter, three input paths, a detailed default-resolution fallback chain, contributor attribution rules, a five-step workflow, output format spec, non-negotiable rules, and a data-collection strategy covering MCP tools, gh CLI, and pagination awareness.
skills/git-remote-release/evals/evals.json Four eval cases covering compare-URL input, separate-value input, patch-release conciseness, and default-resolution via current branch; eval 4 correctly includes a prerequisites note consistent with AGENTS.md's requirement to run evals from a temp workspace.
skills/git-remote-release/assets/hero.jpg Binary hero image added for the skill's README-style header in SKILL.md; no code concerns.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A([User invokes skill]) --> B{Input provided?}
    B -- "Compare URL" --> C[Extract owner, repo,\npreviousRef, currentRef]
    B -- "Separate values" --> D[Use supplied repo,\npreviousRef, currentRef]
    B -- "No input" --> E[Default Resolution:\ndetect current branch\n& upstream remote]
    E --> F[Resolve base branch\nvia fallback chain\norigin/HEAD → main → master…]
    C --> G[Validate refs exist\nvia GitHub API]
    D --> G
    F --> G
    G --> H[Collect commits\nin range via GitHub API\nor gh CLI]
    H --> I[Map commits → PRs\nvia GitHub commit/pulls endpoint]
    I --> J[Analyze & group changes\nby theme]
    J --> K[Compose release notes:\n## What's Changed\nsummary\noptional alerts\nSources:\nFull Changelog link]
    K --> L([Return release notes])
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
README.md:488
The bullet says "both tags" but compare URLs can point to branches as well as tags — SKILL.md consistently uses "refs" throughout for this reason. This creates a subtle but verifiable inconsistency in the marketing copy for the skill.

```suggestion
- **Compare URL awareness** where a pasted GitHub compare URL is used to extract the owner, repository, and both refs,
```

### Issue 2 of 2
skills/git-remote-release/FORMS.md:12-25
**Missing `default` field on conditionally-required fields**

`AGENTS.md` specifies that every `FORMS.md` field should define `type`, `prompt`, `choices`, `default`, and `required`. None of the three conditionally-required fields (`repository`, `previous_ref`, `current_ref`) declare a `default`. When a user is in a git repository and provides only a ref range (e.g., "generate release notes from v1.0.0 to v1.0.1"), the `repository` value could be dynamically resolved from `git remote get-url origin` and offered as a recommended default — which is exactly the pattern `AGENTS.md` describes for `text` fields with a computed default. Not defining it means an agent in that scenario either improvises or prompts without offering the obvious choice.

Reviews (7): Last reviewed commit: "✨ enhance git-remote-release with defaul..." | Re-trigger Greptile

Comment thread skills/git-remote-release/FORMS.md Outdated
Comment thread skills/git-remote-release/FORMS.md Outdated
Comment thread skills/git-remote-release/FORMS.md
aicia-bot added 7 commits June 7, 2026 21:54
Add key capabilities formatting guidance to demonstrate how capability bullets should read as natural sentences with bolded lead-ins. Update FORMS.md to clarify default-resolution behavior and improve field labels from 'description' to 'prompt'. Refactor field names from 'previous_tag'/'current_tag' to 'previous_ref'/'current_ref' to accommodate both tags and branches.
Apply the new key capabilities formatting style to the git-remote-release description. Restructure each capability bullet as a natural sentence with a bolded lead-in, improving readability and consistency with the updated skill documentation.
Include a visual hero image at the top of the SKILL.md documentation to align with skill presentation conventions and improve visual clarity.
Improves documentation of git-remote-release across README (public skill description), SKILL.md (technical default resolution details), and FORMS.md. Better communicates that the skill automatically compares against the upstream default branch when no explicit base is provided, and clarifies implementation notes for clarity.
Clarifies that git-remote-release works with both tags and branches (README public description). Adds explicit note in SKILL.md about collecting unique pull requests to avoid duplication when multiple commits belong to the same PR. Updates evals.json expected output to document setup prerequisites for default-branch resolution testing.
Ensures placeholder references consistently use {resolvedBase} instead of hardcoded origin/main in command examples. Updates git log format from simple author-only output to tab-separated fields that include commit subject and body, enabling complete commit context capture for release note generation.
…ion awareness

Adds documented support for default-branch-aware comparisons in the public README feature list. Fixes git log range syntax from three-dot to two-dot notation for correct behavior. Adds critical warning about GitHub API compare endpoint pagination limits and handling. Restructures evals.json to separate eval prerequisites from expected output for clarity.
@gimlichael gimlichael merged commit dc34dbe into main Jun 7, 2026
1 check passed
@gimlichael gimlichael deleted the v0.5.0/git-remote-release branch June 7, 2026 21:13
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