Automates git commits, push, and PR creation with context-aware messages and ticket extraction...
Turn an explicit Git or pull-request request into one bounded operation. Resolve scripts/skill-set-git relative to the directory containing this SKILL.md, then invoke that absolute path directly for all Git and GitHub activity. Do not depend on a host-specific plugin-root environment variable or a shell variable persisting across tool calls. References use <git-runner> as a non-executable placeholder; replace it with the resolved absolute path in every invocation. The runner returns JSON, preserves shell metacharacters through file arguments, and applies index and remote compare-and-swap checks before mutation.
Inspection is read-only. Run inspect whenever repository state may have changed.
Treat each mutation as a separate capability:
commit: authorized only by a request to create a commit; never pushes.push: authorized only by a request to push; publishes existing commits only.pr-create: authorized only by a request to create a PR; may push existing commits when the PR branch is not current remotely.Do not infer one capability from another. A commit request does not authorize push, and a push request does not authorize creating a commit. Never execute direct Git or GitHub commands from this skill.
| Request | Reference | Runner operation |
|---|---|---|
| Inspect or commit | reference/commit.md |
inspect, commit |
| Push existing commits | reference/push.md |
inspect, push |
| Create or find a PR | reference/pr.md |
inspect, pr-create |
index_fingerprint, changed remote SHA, behind/diverged history, or ambiguous scope.--dry-run before a mutation when the requested scope is not already fully confirmed.input-prepare for a managed path, replace its exact SKILL_SET_INPUT_REPLACE_ME sentinel through the scoped Edit capability, then pass it as --message-file or --body-file.--path per path. The runner rejects staged paths outside that scope.--all only when the user explicitly requested every current change.commit_context.staged_diff or the staged_preview returned by commit dry-run, not from a general working-tree summary.Use the user's language for conversation. For commit messages and PR titles/bodies, follow an explicit artifact-language instruction or the repository's language policy first; otherwise use the user's language, then recent repository convention, then English. Match recent commit style without overriding the applicable language policy. Keep commands, paths, and technical identifiers exact.
commit.push or pr-create.origin/<base>...HEAD reported by the runner.input-discard.reference/commit.md — index/path scope, message generation, and index CASreference/push.md — expected remote SHA and existing-commit publicationreference/pr.md — committed PR scope, dirty exclusion, and existing PR detection