Skip to main content

git-ship

Use this skill whenever the user wants to commit, push, or ship changes in a git repository. Triggers include: "commit changes", "push my changes", "ship it", "commit and push", "create a branch and commit", "make a PR", "open a pull request", "create draft PR", or any variation of committing/pushing work. Always use this skill when the user mentions committing — even casually — as it handles the full cycle: branch → add → commit → push → (optionally) PR, with Conventional Commits format and automatic area detection.

Zur Installation springen

Quellinformationen

Repository
epam/ai-dial-chat
Letzte Quellaktivität
31. August 2026 um 16:03
Erkannte Sprache von SKILL.md
Englisch
Sterne
503
Forks
62

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
4 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
git-ship
disable-model-invocation
true
model
claude-haiku-4-5-20251001
context
fork
effort
low
allowed-tools
Bash(git:*), Bash(gh:*), Bash(grep:*), Read, Edit(.agents/skills/git-ship/areas.md)
arguments
ticket area
argument-hint
[ticket] [area]
description
Use this skill whenever the user wants to commit, push, or ship changes in a git repository. Triggers include: "commit changes", "push my changes", "ship it", "commit and push", "create a branch and commit", "make a PR", "open a pull request", "create draft PR", or any variation of committing/pushing work. Always use this skill when the user mentions committing — even casually — as it handles the full cycle: branch → add → commit → push → (optionally) PR, with Conventional Commits format and automatic area detection.
# Git Ship Skill Full cycle for **ai-dial-chat**: checkout new branch from `development` → stage → commit (Conventional Commits) → push → optional PR. Base branch is **`development`**. Supporting files (read them when the step says so — don't inline everything up front): - `.agents/skills/git-ship/areas.md` — how to resolve the commit `area` (scope) for this repo. - `.agents/skills/git-ship/examples/commit-messages.md` — type table, message + branch examples. - `.agents/skills/git-ship/examples/pr-body.md` — PR body template, rules, and `gh pr create` usage. --- ## Step 0 — Detect mode (new branch vs. update existing) ```bash git rev-parse --abbrev-ref HEAD # current branch gh pr view --json number,url,state 2>/dev/null # open PR for current branch (if any) ``` - **New-branch mode** — current branch is `development` (or another base branch), or there's no PR for it. Run the full cycle: Steps 1–6. - **Update-existing mode** — you're already on a feature branch **and** it has an open PR (or the user says "push to the existing PR" / "update my PR"). **Do not** create a new branch and **do not** run `gh pr create`. Stay on the current branch, then: 1. Step 2 — review the changes. 2. Step 4 — generate the commit message (reuse the existing PR's ticket; keep the same area/type). 3. Step 5 — **skip the `git checkout` lines**; just `git add` → `git commit` → `git push`. 4. Skip Step 6's `gh pr create`. Pushing updates the open PR automatically. Only refresh the body (`gh pr edit --body`) if the user asks or the description is stale/missing. 5. Step 7 — report the existing PR link, not a new one. --- ## Step 1 — Gather required context - **Ticket number** — use the `ticket` argument if passed. Else look in conversation context. If still not found, ask: _"What is the ticket number?"_ - **Area** — if the `area` argument is passed, use it directly in Step 3. - **Draft PR?** — if the user said "draft", note it for Step 6. > This skill runs in a forked context (`context: fork`), so it does **not** see the main > conversation. Prefer passing arguments: `/git-ship 7432 catalog`. --- ## Step 2 — Understand the changes ```bash git status git diff HEAD ``` If there are no changes at all — report and stop. --- ## Step 3 — Determine `area` If the `area` argument was given, use it. Otherwise **read `.agents/skills/git-ship/areas.md`** and map the changed files to an area using its resolution rules. If the resolved area is new, follow that file's append-only self-extend rules so the taxonomy grows (the edit is staged in Step 5 and ships in the same commit). --- ## Step 4 — Generate commit message Format: `<type>(<area>): <short description> (Issue #<ticket>)`. **Read `.agents/skills/git-ship/examples/commit-messages.md`** for the type table, message examples, and the branch-name rule. Analyze the diff to pick the most accurate type and write a concise, imperative description. Breaking change → add `!` before the colon. --- ## Step 5 — Execute ```bash # 1. Create branch from base (skip in update-existing mode) git checkout development git checkout -b <type>/<short-slug> # 2. Stage all changes (includes any areas.md self-extend edit) git add . # 3. Commit git commit -m "<type>(<area>): <description> (Issue #<ticket>)" # 4. Push git push origin <type>/<short-slug> ``` If push fails (no permissions, rejected, conflict) — **report the full output and stop**. Do not force push or rebase automatically. --- ## Step 6 — Pull Request (if requested) If the user requested a PR or draft PR, **read `.agents/skills/git-ship/examples/pr-body.md`** and follow the repo PR template (`.github/pull_request_template.md`) — fill every placeholder, then run the `gh pr create` command shown there with `--base development`. --- ## Step 7 — Summary Always finish with a concise confirmation: ``` Branch: <type>/<short-slug> Commit: <type>(<area>): <description> (Issue #<ticket>) Push: ✅ succeeded / ❌ failed — <reason> PR: <link> (created) / <link> (updated existing) / skipped Area: <area> (note "added to taxonomy" if Step 3 self-extended areas.md) ```
Auf GitHub ansehen