Agent skill

Git Delivery

by ryan4yin in ryan4yin/nix-config

Writes commit messages, pull/merge request and issue text, and review replies that follow the target repository's conventions, and cleans up after merge.

MITAuto-check passedDevelopment

Install Git Delivery

skills CLI
$ npx skills add ryan4yin/nix-config --skill git-delivery -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ryan4yin/nix-config git-delivery --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ryan4yin/nix-config.git skills-src && mkdir -p .claude/skills && cp -r skills-src/agents/skills/git-delivery .claude/skills/git-delivery && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
git-delivery
GitHub stars
2.1k
Token cost
~1.9k tokens
SKILL.md length
1,077 words
Files
2
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

Writes commit messages, pull/merge request and issue text, and review replies that follow the target repository's conventions, and cleans up after merge.

  • Works in 4 steps: The repository's subject prefixes,… → Identify the comparison base and… → Inspect what is actually delivered: the… → …
  • Updating a PR/MR
  • SKILL.md covers Before writing, Commit messages, Pull/merge requests and Review replies, plus 1 more section
  • Calls git and gh

What it does

Git Delivery is an agent skill from ryan4yin/nix-config. Writes commit messages, pull/merge request and issue text, and review replies that follow the target repository's conventions, and cleans up after merge. Use when committing, opening or updating a PR/MR or issue, answering code review, or finishing after a reviewed change merges.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `examples.md`).

It sits in Development, covering Commit messages and Git workflow. It works with Git. The repository describes itself as: ❄️ My nix config for both desktops(NixOS+macOS) and homelab servers(NixOS). The licence is MIT.

When your agent uses it

  • Updating a PR/MR
  • Answering code review
  • Finishing after a reviewed change merges

Example prompts

  • “Use the git-delivery skill to write commit messages, pull/merge request and issue text, and review replies that follow the target repository's…”
  • “/git-delivery”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. The repository's subject prefixes, trailers, and body style override the defaults below, which
  2. Identify the comparison base and destination separately (fork, release branch, an existing PR's
  3. Inspect what is actually delivered: the final staged diff for a commit; every commit plus the
  4. Collect what the diff cannot show from the task and existing observations: the problem and its

What it can do on your machine

Read from SKILL.md and the folder at commit 9d69832. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Git Delivery loads about 1.9k tokens when it runs. Until then it costs about 73 tokens; SKILL.md has 1,077 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~73
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ryan4yin/nix-config at commit 9d69832, republished under its MIT licence (© ryan4yin). 1,077 words, ~1,918 tokens.

Download SKILL.mdSave it as .claude/skills/git-delivery/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
git-delivery
description
Writes commit messages, pull/merge request and issue text, and review replies that follow the target repository's conventions, and cleans up after merge. Use when committing, opening or updating a PR/MR or issue, answering code review, or finishing after a reviewed change merges.

Git Delivery

A diff shows what changed. Delivery text records why, for a reader without the task's context: the reviewer now, and the maintainer reading git log or git blame years later. Write plainly and specifically; reviewers distrust generic, inflated text. This skill grants no authorization: commits, pushes, hosting writes, and merges still need the authorization the governing rules require.

Read examples.md for annotated messages from the Git, Linux, Google, and Conventional Commits guidance when shaping a body, a PR description, or a review reply.

Before writing

First, every time, even for a one-line change: run git log --no-merges -n 20 -- <touched paths> and read the contribution guide and PR template if present. When you present a draft, name in one line the convention you followed and where you found it.

  1. The repository's subject prefixes, trailers, and body style override the defaults below, which apply only when the repository shows no convention. Supply required metadata (sign-off, issue or release links, AI disclosure) only when it is true; never invent identities or reviews, or carry one repository's requirements into another.
  2. Identify the comparison base and destination separately (fork, release branch, an existing PR's base). Check that the commit identity and hosting account fit this repository; report a mismatch instead of editing Git config.
  3. Inspect what is actually delivered: the final staged diff for a commit; every commit plus the full diff against the base for a PR. Describe that, not the task title or an earlier attempt.
  4. Collect what the diff cannot show from the task and existing observations: the problem and its user-visible impact, why this approach, costs and side effects (with numbers when measured), constraints, and rejected alternatives a reader would otherwise propose. Keep observations separate from inferences. If the purpose is unclear, ask instead of inventing a reason.

Commit messages

  • Subject: the repository's prefix convention (area:, type(scope):), defaulting to Conventional Commits; imperative, aiming at 50 characters with 72 as the ceiling.
  • Body: omit it when the subject and diff say everything. Otherwise describe the problem as it exists without the change, why this change solves it, and side effects, costs, or compatibility consequences. Leave out line-by-line mechanics and how the problem was found.
  • Summarize the relevant point of an issue or discussion instead of only linking it. Cite another commit by abbreviated hash and subject.
  • Trailers go last, in the repository's format (Fixes:, Refs:, Signed-off-by:, BREAKING CHANGE:). Name other people in credit trailers only as the repository's policy allows.
  • Notes meant only for current reviewers, such as changes since the last round, stay out of the message.
  • Pass the message with git commit -F <file> or one -m per paragraph, never an editor or literal \n. Never bypass hooks (--no-verify, -c core.hooksPath=...) without the user's authorization. If a hook rejects the commit, nothing was committed: fix the cause and commit again, since --amend would rewrite the previous commit.

Pull/merge requests

The description informs the reviewer now and often becomes the squash-merge message. Before opening one, check for an existing open PR for the same branch or issue.

  • Title: a commit subject for the whole change.

  • Body: lead with the changed behavior and its effect, then only what helps a reviewer judge it. Follow the repository template when one exists; check only boxes that are true. Otherwise pick the smallest shape that fits:

    ChangeInclude
    Small or obviousOne paragraph, no headings.
    Bug fix, feature, refactorBehavior and effect; root cause or non-obvious approach if any.
    Contract or breakingAffected interface, before/after, compatibility, migration.
    Operational or visualUser or operator effect, measured impact, rollout, screenshots.
    Broad or cross-cuttingWhy the breadth is necessary and where review should start.
  • Do not add default Summary/Changes/Test Plan headings, pasted commands, CI logs, commit lists, or exhaustive file lists. Replace internal process terms (plan steps, task numbers, agent names) with the behavior they refer to.

  • Verification: report checks that establish behavior or coverage, against which revision and platform; skip routine lint and formatting. A build does not show runtime behavior; a unit test does not show the user workflow. Once the relevant code changes, an earlier result is historical: rerun it, or label it and say what remains unverified. Do not describe a change as live before it is deployed.

  • Closing keywords (Fixes #123) only for a verified issue in the target repository that this change resolves; Refs only links.

  • Write the description as if the final diff had been written in one pass: state what is excluded and why, without who asked for it or how the branch evolved. When later commits change scope, approach, risk, or migration, rewrite title and description to match, and summarize changes since the last review in a comment. Typo-only or formatting-only follow-ups need no rewrite.

  • Pass multiline text from a file or structured argument (e.g. gh pr create --body-file). Keep the configured Git transport and identity; do not switch them to work around a failure.

  • Review the exact outgoing text before publishing: no internal identifiers, private paths, raw logs, or anything not already public in that repository.

Show full SKILL.md (232 more words)Show less

Review replies

  • Treat each comment as a claim to check against the code, the repository's rules, and the linked issue; reviewers and review bots can be wrong. Ask when a comment is unclear.
  • If a reviewer misunderstood the code, first make the code clearer or add a comment; a reply alone does not help later readers.
  • Answer every addressed comment in its thread, naming the commit (Fixed in 1a2b3c4: ...). Keep replies to accepted comments short; give declined ones the full reasoning: what you checked, what it showed, and the tradeoff you weighed. Skip filler such as "Great catch!".
  • Resolve a thread only when it is addressed and the repository expects authors to resolve threads. Do not claim a fix or check that did not happen. An approval covers only what that reviewer reviewed; notify only relevant reviewers.

After merge

For a confirmed-merged PR the agent opened:

  1. Identify the branch and worktrees the task created from its own record, not by name pattern.
  2. Remove a task-owned worktree only when it is clean, running the command from outside it.
  3. Delete the local branch with git branch -d; when it refuses (e.g. after a squash merge), report instead of forcing.
  4. Fast-forward the default branch only when its checkout is clean and not diverged; verify the result.

Keep branches and worktrees while review is open. Deleting the remote branch needs separate authorization.

© ryan4yin, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in agents/skills/git-delivery of ryan4yin/nix-config.

  • SKILL.md
  • examples.md

Open the folder on GitHubat commit 9d69832

Compare with similar skills

Git Delivery next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Git Delivery compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Git Delivery this skillryan4yin/nix-config2.1k—~1.9kAutomated safety check: PassMIT
ToolJet Multi-Repo CommitToolJet/ToolJet41k—~1.3kAutomated safety check: PassAGPL-3.0
Git Workflow and Versioningaddyosmani/agent-skills104k2 repos~3.5kAutomated safety check: NotesMIT
React Router Pull Request Creatorremix-run/react-router57k—~2.5kAutomated safety check: PassMIT
Saleor Commit Workflowsaleor/saleor23k—~575Automated safety check: PassBSD-3-Clause
Emoji Commit ConventionsbaptisteArno/typebot.io11k—~424Automated safety check: PassCustom licence

Similar skills

  • Commits changes across ToolJet's root repo and its server/ee and frontend/ee submodules, writing messages from the diffs and updating submodule pointers in order.

    41k GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Git Workflow and Versioning

    addyosmani/agent-skills

    Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.

    104k GitHub starsUsed in 2 repos~3.5k tokens
    DevelopmentAuto-check: notes
  • React Router Pull Request Creator

    remix-run/react-router

    Packages finished React Router work into a draft pull request: branch, commit, push, a written PR body and the right GitHub labels.

    57k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Commits changes in the Saleor codebase and works through pre-commit hook failures from ruff, mypy, the GraphQL schema check and the migrations check.

    23k GitHub stars~575 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Emoji Commit Conventions

    baptisteArno/typebot.io

    Sets the repository's convention for commit messages and pull request titles: one emoji prefix for the main intent, a concise title and clean follow-up commits.

    11k GitHub stars~424 tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Draft Pull Request Creator

    wordpress-mobile/WordPress-Android

    Commits and pushes current changes, writes a pull request title and body from the branch history and template, and opens a draft PR on GitHub after you approve it.

    3.2k GitHub stars~881 tokensUpdated today
    DevelopmentAuto-check: notes

More from ryan4yin/nix-config

All 9 skills in this repo
  • Nix Config Umu Game

    ryan4yin/nix-config

    A skill your agent uses when installing a Windows game launcher (二次元 / gacha or any non-Steam game) on a NixOS desktop via umu-launcher, given an installer URL or an .exe, when such a launcher opens…

    2.1k GitHub stars~3.5k tokensUpdated today
    Auto-check passed
  • Nix Config Debug

    ryan4yin/nix-config

    A skill your agent uses when something here is broken or stops working: an eval or build error, a failed activation, a dead or restarting unit, a mihomo or DNS outage, an unreachable host or MicroVM…

    2.1k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Nix Config Desktop

    ryan4yin/nix-config

    A skill your agent uses when changing what the desktop shows or runs: Niri/Noctalia config, a window that is the wrong size, garbled, or missing after a reboot, autostart, fcitx5 or vinput input…

    2.1k GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Nix Config Secrets

    ryan4yin/nix-config

    A skill your agent uses when adding, changing, renaming, or removing an agenix secret, deciding whether a secret belongs to agenix or to the encrypted dotfiles sync, wiring a secret into a host, or…

    2.1k GitHub stars~2.9k tokensUpdated today
    Auto-check: notes
  • Nix Config Update

    ryan4yin/nix-config

    A skill your agent uses when a version changes here: upgrading or updating a package or nixpkgs, bumping or pinning a flake input (a tag or commit, not a branch), or deploying the result to hosts…

    2.1k GitHub stars~2.3k tokensUpdated today
    Auto-check: notes
  • Nixpkgs Patched

    ryan4yin/nix-config

    A skill your agent uses when temporarily carrying an unmerged nixpkgs pull request or commit in the personal ryan4yin/nixpkgs fork, updating the nixos-unstable-patched branch, or consuming that…

    2.1k GitHub stars~1.1k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Git Delivery

What does Git Delivery do?

Writes commit messages, pull/merge request and issue text, and review replies that follow the target repository's conventions, and cleans up after merge. Git Delivery is an agent skill from ryan4yin/nix-config. Writes commit messages, pull/merge request and issue text, and review replies that follow the target repository's conventions, and cleans up after merge.

When should I use Git Delivery?

Git Delivery fits situations like: updating a PR/MR; answering code review; finishing after a reviewed change merges.

How do I install Git Delivery in Claude Code?

Run `npx skills add ryan4yin/nix-config --skill git-delivery -a claude-code`. Or copy the skill folder (agents/skills/git-delivery in ryan4yin/nix-config) into .claude/skills/git-delivery in your project. Claude Code loads it when a task matches its description.

How do I install Git Delivery in Codex?

Run `npx skills add ryan4yin/nix-config --skill git-delivery -a codex`. Or copy the skill folder (agents/skills/git-delivery in ryan4yin/nix-config) into .agents/skills/git-delivery in your project. Codex loads it when a task matches its description.

Can I use Git Delivery in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ryan4yin/nix-config --skill git-delivery -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/git-delivery, .gemini/skills/git-delivery, .github/skills/git-delivery and .opencode/skills/git-delivery in your project.

What does Git Delivery need to run?

Going by SKILL.md and its folder, Git Delivery needs the command-line tools its instructions call (git and gh).

Does Git Delivery access the network?

SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Git Delivery safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Git Delivery use?

Git Delivery is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Git Delivery use?

About 1.9k tokens (SKILL.md is roughly 7.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Git Delivery?

Skills that share tags, products or a category with Git Delivery: ToolJet Multi-Repo Commit (ToolJet/ToolJet, 41k stars), Git Workflow and Versioning (addyosmani/agent-skills, 104k stars), React Router Pull Request Creator (remix-run/react-router, 57k stars) and Saleor Commit Workflow (saleor/saleor, 23k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Git Delivery?

ryan4yin (a GitHub user) maintains it in ryan4yin/nix-config, which has 2,092 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 10, 2026.

Source: ryan4yin/nix-config on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.