Get information about the state of a git repo, get diffs, make commits, make PRs, etc.. Use this skill when the user needs to accomplish git tasks.
View on GitHubdaturkel/dt-cc
dt-git
plugins/dt-git/skills/git-ops/SKILL.md
January 20, 2026
Select agents to install to:
npx add-skill https://github.com/daturkel/dt-cc/blob/main/plugins/dt-git/skills/git-ops/SKILL.md -a claude-code --skill git-opsInstallation paths:
.claude/skills/git-ops/# Git & GitHub Workflow
## User Confirmation Required
**Use `AskUserQuestion` before these potentially destructive operations**:
- Creating commits (`git commit`)
- Pushing to remote (`git push`)
- Creating pull requests (`gh pr create`)
- Merging PRs (`gh pr merge`)
- Any destructive operation (hard reset, force push, delete branch)
**No confirmation needed for read-only or local operations**:
- `git status`, `git diff`, `git log`, `git branch`
- `git add` (staging)
- `git checkout`, `git switch` (switching branches)
- `git fetch`
- `gh pr view`, `gh pr list`, `gh issue list`
## Conventions
### Commits
- Messages: 1-2 sentences describing the change
- If many changes, break into multiple atomic commits
- Use imperative mood ("Add feature" not "Added feature")
- Never use `--amend` unless explicitly requested
### Branches
- Simple hyphenated names describing purpose
- Examples: `add-user-auth`, `fix-null-pointer`, `refactor-api-client`
### Pull Requests
- Title: concise summary of the change
- Description must include:
1. **What**: Simple explanation of changes
2. **Testing**: How changes were tested
3. **Deploy**: Steps to deploy
## Common Workflows
### Check repo state
```bash
git status
git log --oneline -10
git branch -a
```
### View diffs
Staged changes (ready to commit):
```bash
git diff --cached # full diff
git diff --cached --stat # summary
```
Unstaged changes (modified but not staged):
```bash
git diff # full diff
git diff --stat # summary
```
All changes in current branch vs base (for PR context):
```bash
git diff main...HEAD --stat # summary
git diff main...HEAD # full diff
git log main..HEAD --oneline # commits that would be in PR
```
### Create a commit
```bash
git add <files>
git commit -m "Commit message here."
```
For multi-line messages:
```bash
git commit -m "$(cat <<'EOF'
Short summary of changes.
Additional context if needed.
EOF
)"
```
### Create a branch and PR
```bash
g