smithery.ai

managing-git-workflow

Safely inspects repository state and executes explicitly authorized commits, pushes, and pull-request creation through a constrained runner.

First seen Mar 26, 2026

Installation

$ npx skills add https://smithery.ai

Summary

  • Safely inspects repository state and executes explicitly authorized commits, pushes, and pull-request creation through a constrained runner.
  • Use when the user asks to commit selected work, push existing commits, create or inspect a pull request, save changes in Git, or publish a branch to GitHub.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsEdit(//**/.git/skill-set/inputs/commit-message.*/content) Edit(//**/.git/worktrees/*/skill-set/inputs/commit-message.*/content) Edit(//**/.git/skill-set/inputs/pr-body.*/content) Edit(//**/.git/worktrees/*/skill-set/inputs/pr-body.*/content)

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,542 B
  • docs SUMMARY.md 248 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2 installs

SKILL.md

Managing Git Workflow

Overview

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.

Authorization Boundary

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.

Workflow Selection

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

Common Contract

  1. Parse successful stdout as one JSON object.
  2. Parse a nonzero command's stderr as a recoverable JSON error.
  3. Stop on stale index_fingerprint, changed remote SHA, behind/diverged history, or ambiguous scope.
  4. Use --dry-run before a mutation when the requested scope is not already fully confirmed.
  5. Ask input-prepare for a managed path, replace its exact SKILLSETINPUTREPLACEME sentinel through the scoped Edit capability, then pass it as --message-file or --body-file.
  6. Preserve staged, unstaged, and untracked distinctions in every user-facing summary.

Commit Scope Rules

  • With no paths, commit the current index only.
  • With user-named paths, pass one --path per path. The runner rejects staged paths outside that scope.
  • Pass --all only when the user explicitly requested every current change.
  • If the index is empty and no scope was named, ask for paths. Do not infer them from nearby files.
  • Generate the message from commitcontext.stageddiff or the staged_preview returned by commit dry-run, not from a general working-tree summary.

Language Detection

Detect the user's language from the current conversation, project instructions, and recent commit subjects returned by inspect. Default to English. Adapt user-facing messages, commit messages, and PR text; keep commands, paths, and technical identifiers in English.

Safety Invariants

  • Never publish from commit.
  • Never create a commit from push or pr-create.
  • Never include dirty files in a PR implicitly.
  • Require explicit confirmation before proceeding with dirty files excluded from a new PR.
  • Return an existing PR URL instead of creating a duplicate.
  • Use the committed PR range origin/<base>...HEAD reported by the runner.
  • Do not resolve divergence or remote races automatically; report the recovery decision to the user.
  • If the user cancels after preparing text, remove its managed allocation with input-discard.
  • Never pass an unchanged sentinel; the runner rejects it before any commit, push, or PR creation.

References

  • reference/commit.md — index/path scope, message generation, and index CAS
  • reference/push.md — expected remote SHA and existing-commit publication
  • reference/pr.md — committed PR scope, dirty exclusion, and existing PR detection