Agent skill
git
Use when committing code, managing branches, pushing to remote, creating pull requests, or performing version control operations. Conforms to docs/reference/skill-routing-value-standard.md.
Install this agent skill to your Project
npx add-skill https://github.com/tao3k/xiuxian-artisan-workshop/tree/main/skills/git
Metadata
Additional technical details for this skill
- author
- xiuxian-artisan-workshop
- intents
-
[ "Hotfix changes", "Create pull request", "Manage branches", "Commit code", "Stash changes", "Merge branches", "Rebase branches", "Tag commits", "Check git status" ] - version
- 2.0.0
- routing keywords
-
[ "git", "commit", "push", "pull", "merge", "rebase", "checkout", "stash", "tag", "commit code", "save changes", "commit changes", "push code", "save work", "check in", "submit code", "version control", "branch", "repo", "repository", "history", "diff", "status", "log", "hotfix", "pr", "pull request", "code review", "smart commit", "smart commit workflow" ]
SKILL.md
Git Skill (Smart Commit Workflow)
Code is Mechanism, Prompt is Policy
Smart Commit Workflow (Primary Query Anchor)
smart commit is the canonical query phrase for this skill.
Use git.smart_commit to run the full smart commit workflow (stage -> scan -> approve -> commit).
Architecture
This skill keeps its runnable command functions in scripts/*.py.
Commands are exposed through the retained tool runtime as git.command_name.
Available Commands
| Command | Description |
|---|---|
git.status |
Show working tree status |
git.stage_all |
Stage all changes (with security scan) |
git.commit |
Commit staged changes |
git.smart_commit |
Smart Commit workflow (stage → scan → approve → commit) |
git.push |
Push to remote |
git.log |
Show commit logs |
Smart Commit Workflow
Use git.smart_commit for secure, human-in-the-loop commits:
# Step 1: Start workflow
git.smart_commit(action="start")
# Returns workflow_id and diff preview
# Step 2: After LLM analysis and user approval
git.smart_commit(action="approve", workflow_id="xxx", message="feat: description")
Flow: stage_and_scan → route_prepare → format_review → re_stage → interrupt → commit
Linked Notes
- Related: Smart Commit Workflow Reference
- Related: Skill Routing Value Standard
Staged Files Feature
Stage and Scan Workflow
The stage_and_scan function provides automatic staging with security validation:
Stage All Files → Security Scan → Lefthook Pre-commit → Finalize
Key Features
-
Automatic Staging
pythonstage_and_scan(project_root=".") # Returns: {staged_files, diff, security_issues, lefthook_error} -
Security Scanning
- Detects sensitive files (
.env*,*.pem,*.key,*.secret, etc.) - Automatically un-stages detected files
- Returns list of security issues
- Detects sensitive files (
-
Lefthook Integration
- Runs pre-commit hooks after staging
- Re-stages files modified by lefthook formatters
- Returns lefthook output for review
Staged Files Commands
| Command | Description |
|---|---|
git.stage_all() |
Stage all changes with security scan |
git.status() |
Show staged files and working tree status |
git.diff() |
Show staged diff |
Security Patterns Detected
.env*, *.env*, *.pem, *.key, *.secret, *.credentials*
id_rsa*, id_ed25519*, *.priv
secrets.yml, secrets.yaml, credentials.yml
Usage Guidelines
Read Operations (Safe - Use Claude-native bash)
git status
git diff --cached
git diff
git log --oneline
Write Operations (Use Tool Runtime Calls)
| Operation | Tool |
|---|---|
| Stage all | git.stage_all() (scans for secrets) |
| Commit | git.commit(message="...") |
| Push | git.push() |
| Smart Commit | git.smart_commit(action="start") |
Key Principle
Read = Claude-native bash. Write = tool runtime calls.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
research
paper-banana
forge-evolution
Autonomous persona evolution pipeline for failure-driven capability growth.
agenda-management
High-fidelity scheduling and cognitive alignment via the Triangular Synaptic Flow.
test
writer
Use when editing files or writing content.
Didn't find tool you were looking for?