/git-github
Git workflow and GitHub collaboration patterns including conventional commits, branch naming, PR workflow, and gh CLI usage. Use when creating commits, branches, or pull requests. TRIGGER when: git commit, branch, PR, pull request, merge, gh cli. DO NOT TRIGGER when: code
$ npx -y skills add akaszubski/autonomous-dev --skill git-github --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/git-github
Context preview
The summary Claude sees to decide when to auto-load this skill.
Git workflow and GitHub collaboration patterns including conventional commits, branch naming, PR workflow, and gh CLI usage. Use when creating commits, branches, or pull requests. TRIGGER when: git commit, branch, PR, pull request, merge, gh cli. DO NOT TRIGGER when: code
SKILL.md
git-github.SKILL.mdname: git-github
description: "Git workflow and GitHub collaboration patterns including conventional commits, branch naming, PR workflow, and gh CLI usage. Use when creating commits, branches, or pull requests. TRIGGER when: git commit, branch, PR, pull request, merge, gh cli. DO NOT TRIGGER when: code implementation, testing, documentation without git operations."
allowed-tools: [Read, Bash]
Git and GitHub Workflow Skill
Comprehensive guide for Git version control and GitHub collaboration patterns.
When This Activates
- Creating commits or branches
- Opening or reviewing pull requests
- Managing GitHub issues
- Using the gh CLI
- Keywords: "git", "github", "commit", "branch", "pr", "pull request", "merge", "issue"
---
Conventional Commits
All commit messages follow the conventional commits specification:
<type>(<scope>): <description>
[optional body]
[optional footer(s)]
Types
| Type | When to Use | |------|-------------| | `feat` | New feature or capability | | `fix` | Bug fix | | `docs` | Documentation only changes | | `style` | Formatting, missing semicolons, etc. | | `refactor` | Code change that neither fixes a bug nor adds a feature | | `perf` | Performance improvement | | `test` | Adding or correcting tests | | `chore` | Build process, auxiliary tools, or maintenance | | `ci` | CI/CD configuration changes |
Examples
feat(auth): add JWT token refresh endpoint
fix(api): handle null response from upstream service
docs: update API reference for v2 endpoints
refactor(db): extract query builder into separate module
test(auth): add integration tests for OAuth flow
chore: upgrade dependencies to latest versions
Breaking Changes
Use `!` after type or add `BREAKING CHANGE:` footer:
feat(api)!: change response format from XML to JSON
---
Branch Naming Conventions
<type>/<issue-number>-<short-description>
Patterns
| Pattern | Example | |---------|---------| | Feature | `feat/123-add-user-auth` | | Bug fix | `fix/456-null-pointer-crash` | | Docs | `docs/789-update-api-reference` | | Refactor | `refactor/101-extract-helpers` |
Rules
- Use lowercase with hyphens (no underscores or spaces)
- Include issue number when applicable
- Keep descriptions under 5 words
- Delete branches after merging
---
PR Workflow with gh CLI
Creating Pull Requests
# Create PR with title and body
gh pr create --title "feat: add user authentication" --body "$(cat <<'EOF'
## Summary
- Add JWT-based authentication
- Implement login/logout endpoints
## Test plan
- [ ] Unit tests for token generation
- [ ] Integration tests for auth flow
EOF
)"
# Create draft PR
gh pr create --draft --title "wip: refactor database layer"
# Create PR targeting specific base branch
gh pr create --base develop --title "feat: new feature"
Reviewing Pull Requests
# List open PRs
gh pr list
# View PR details
gh pr view 123
# Check out PR locally
gh pr checkout 123
# Approve PR
gh pr review 123 --approve
# Request changes
gh pr review 123 --request-changes --body "Please fix the error handling"
# Merge PR
gh pr merge 123 --squash --delete-branch
PR Best Practices
1. **Keep PRs small** - Under 400 lines changed when possible 2. **One concern per PR** - Don't mix features with refactors 3. **Write descriptive titles** - Use conventional commit format 4. **Include test plan** - Checklist of what to verify 5. **Link issues** - Use "Closes #123" in body
---
Issue Management
Creating Issues
# Create issue with title and body
gh issue create --title "Bug: login fails on Safari" --body "Steps to reproduce..."
# Create with labels
gh issue create --title "feat: dark mode" --label "enhancement,ui"
# Create with assignee
gh issue create --title "fix: memory leak" --assignee "@me"
Issue Templates
Use labels to categorize:
| Label | Color | Purpose | |-------|-------|---------| | `bug` | red | Something broken | | `enhancement` | blue | New feature request | | `documentation` | green | Docs improvement | | `good first issue` | purple | Beginner friendly | | `priority: high` | orange | Needs immediate attention |
Linking Issues to PRs
# In PR body
Closes #123
Fixes #456
Resolves #789
---
Git Hooks Best Practices
Pre-commit
# Format code
black --check src/
isort --check src/
# Lint
flake8 src/
# Check for secrets
detect-secrets scan
Pre-push
# Run tests
pytest tests/ -x --timeout=60
# Type check
mypy src/
Commit-msg
# Validate conventional commit format
pattern="^(feat|fix|docs|style|refactor|perf|test|chore|ci)(\(.+\))?!?: .{1,72}"
if ! echo "$1" | grep -qE "$pattern"; then
echo "Invalid commit message format"
exit 1
fi---
Common Git Operations
Stashing Changes
git stash push -m "wip: authentication changes"
git stash list
git stash pop
Interactive Rebase (cleanup before PR)
git rebase -i HEAD~3 # Squash last 3 commits
Cherry-picking
git cherry-pick abc1234 # Apply specific commit
Resolving Conflicts
git merge main # Trigger merge
# Fix conflicts in editor
git add .
git commit # Complete merge
---
Key Takeaways
1. **Conventional commits** - Always use type(scope): description format 2. **Branch naming** - type/issue-description pattern 3. **Small PRs** - Under 400 lines, one concern each 4. **gh CLI** - Use for all GitHub operations 5. **Link issues** - Always connect PRs to issues 6. **Git hooks** - Automate quality checks 7. **Delete merged branches** - Keep repository clean
---
Hard Rules
**FORBIDDEN**:
- Force-pushing to main/master without explicit approval
- Committing secrets, API keys, or credentials (use `.env` files)
- Merge commits with failing CI checks
- PRs without linked issues or description
**REQUIRED**:
- All PRs MUST have a description explaining the "wh
Read more
name: git-github description: "Git workflow and GitHub collaboration patterns including conventional commits, branch naming, PR workflow, and gh CLI usage. Use when creating commits, branches, or pull requests. TRIGGER when: git commit, branch, PR, pull request, merge, gh cli. DO NOT TRIGGER when: code implementation, testing, documentation without git operations." allowed-tools: [Read, Bash]
Git and GitHub Workflow Skill
Comprehensive guide for Git version control and GitHub collaboration patterns.
When This Activates
- Creating commits or branches
- Opening or reviewing pull requests
- Managing GitHub issues
- Using the gh CLI
- Keywords: "git", "github", "commit", "branch", "pr", "pull request", "merge", "issue"
---
Conventional Commits
All commit messages follow the conventional commits specification:
<type>(<scope>): <description> [optional body] [optional footer(s)]
Types
| Type | When to Use | |------|-------------| | `feat` | New feature or capability | | `fix` | Bug fix | | `docs` | Documentation only changes | | `style` | Formatting, missing semicolons, etc. | | `refactor` | Code change that neither fixes a bug nor adds a feature | | `perf` | Performance improvement | | `test` | Adding or correcting tests | | `chore` | Build process, auxiliary tools, or maintenance | | `ci` | CI/CD configuration changes |
Examples
feat(auth): add JWT token refresh endpoint fix(api): handle null response from upstream service docs: update API reference for v2 endpoints refactor(db): extract query builder into separate module test(auth): add integration tests for OAuth flow chore: upgrade dependencies to latest versions
Breaking Changes
Use `!` after type or add `BREAKING CHANGE:` footer:
feat(api)!: change response format from XML to JSON
---
Branch Naming Conventions
<type>/<issue-number>-<short-description>
Patterns
| Pattern | Example | |---------|---------| | Feature | `feat/123-add-user-auth` | | Bug fix | `fix/456-null-pointer-crash` | | Docs | `docs/789-update-api-reference` | | Refactor | `refactor/101-extract-helpers` |
Rules
- Use lowercase with hyphens (no underscores or spaces)
- Include issue number when applicable
- Keep descriptions under 5 words
- Delete branches after merging
---
PR Workflow with gh CLI
Creating Pull Requests
# Create PR with title and body gh pr create --title "feat: add user authentication" --body "$(cat <<'EOF' ## Summary - Add JWT-based authentication - Implement login/logout endpoints ## Test plan - [ ] Unit tests for token generation - [ ] Integration tests for auth flow EOF )" # Create draft PR gh pr create --draft --title "wip: refactor database layer" # Create PR targeting specific base branch gh pr create --base develop --title "feat: new feature"
Reviewing Pull Requests
# List open PRs gh pr list # View PR details gh pr view 123 # Check out PR locally gh pr checkout 123 # Approve PR gh pr review 123 --approve # Request changes gh pr review 123 --request-changes --body "Please fix the error handling" # Merge PR gh pr merge 123 --squash --delete-branch
PR Best Practices
1. **Keep PRs small** - Under 400 lines changed when possible 2. **One concern per PR** - Don't mix features with refactors 3. **Write descriptive titles** - Use conventional commit format 4. **Include test plan** - Checklist of what to verify 5. **Link issues** - Use "Closes #123" in body
---
Issue Management
Creating Issues
# Create issue with title and body gh issue create --title "Bug: login fails on Safari" --body "Steps to reproduce..." # Create with labels gh issue create --title "feat: dark mode" --label "enhancement,ui" # Create with assignee gh issue create --title "fix: memory leak" --assignee "@me"
Issue Templates
Use labels to categorize:
| Label | Color | Purpose | |-------|-------|---------| | `bug` | red | Something broken | | `enhancement` | blue | New feature request | | `documentation` | green | Docs improvement | | `good first issue` | purple | Beginner friendly | | `priority: high` | orange | Needs immediate attention |
Linking Issues to PRs
# In PR body Closes #123 Fixes #456 Resolves #789
---
Git Hooks Best Practices
Pre-commit
# Format code black --check src/ isort --check src/ # Lint flake8 src/ # Check for secrets detect-secrets scan
Pre-push
# Run tests pytest tests/ -x --timeout=60 # Type check mypy src/
Commit-msg
# Validate conventional commit format
pattern="^(feat|fix|docs|style|refactor|perf|test|chore|ci)(\(.+\))?!?: .{1,72}"
if ! echo "$1" | grep -qE "$pattern"; then
echo "Invalid commit message format"
exit 1
fi---
Common Git Operations
Stashing Changes
git stash push -m "wip: authentication changes" git stash list git stash pop
Interactive Rebase (cleanup before PR)
git rebase -i HEAD~3 # Squash last 3 commits
Cherry-picking
git cherry-pick abc1234 # Apply specific commit
Resolving Conflicts
git merge main # Trigger merge # Fix conflicts in editor git add . git commit # Complete merge
---
Key Takeaways
1. **Conventional commits** - Always use type(scope): description format 2. **Branch naming** - type/issue-description pattern 3. **Small PRs** - Under 400 lines, one concern each 4. **gh CLI** - Use for all GitHub operations 5. **Link issues** - Always connect PRs to issues 6. **Git hooks** - Automate quality checks 7. **Delete merged branches** - Keep repository clean
---
Hard Rules
**FORBIDDEN**:
- Force-pushing to main/master without explicit approval
- Committing secrets, API keys, or credentials (use `.env` files)
- Merge commits with failing CI checks
- PRs without linked issues or description
**REQUIRED**:
- All PRs MUST have a description explaining the "wh
Showing the first part of this file.
A harness that wraps Claude Code with enforcement, specialist agents, and alignment gates to deliver consistent, production-grade software engineering outcomes.
Repo: akaszubski/autonomous-dev
Other skills on autonomous-dev.
- /api-design
REST API design best practices covering versioning, error handling, pagination, and OpenAPI documentation. Use when designing or implementing REST APIs or HTTP endpoints. TRIGGER when: API design, REST endpoint, HTTP route, OpenAPI, swagger, pagination. DO NOT TRIGGER when:
Open skill - /api-integration-patterns
Subprocess safety, GitHub CLI integration, retry logic, authentication, rate limiting, and timeout handling. Use when integrating external APIs or CLI tools. TRIGGER when: subprocess, gh cli, API call, retry logic, rate limiting, authentication. DO NOT TRIGGER when: internal
Open skill - /architecture-patterns
File-by-file architecture planning with ADR format, dependency ordering, and testability gates. Use when designing system architecture or creating ADRs. TRIGGER when: architecture plan, system design, ADR, file breakdown, component design. DO NOT TRIGGER when: simple config
Open skill - /code-review
10-point code review checklist covering correctness, tests, error handling, type hints, naming, security, and performance. Use when reviewing PRs or evaluating code quality. TRIGGER when: code review, PR review, review checklist, code quality check. DO NOT TRIGGER when: writing
Open skill - /content-allocation
One topic, one home. Routes content to its canonical store (CLAUDE.md, PROJECT.md, MEMORY.md, docs/, memory/) and audits for duplication. TRIGGER when: auditing CLAUDE.md/PROJECT.md/MEMORY.md sizes, deduplicating docs, applying the content-allocation pattern to a new repo,
Open skill - /debugging-workflow
Systematic debugging methodology — reproduce, isolate, bisect, fix, verify. Use when diagnosing failures, tracing errors, or investigating unexpected behavior. TRIGGER when: debug, error, traceback, stack trace, bisect, breakpoint, failing test, unexpected behavior. DO NOT
Open skill

