managing-git-workflow
Git workflow for HASH including branch naming, PR creation, and PR reviews. Use when creating branches, making commits, opening pull requests, or reviewing PRs.
When & Why to Use This Skill
This Claude skill provides a comprehensive framework for managing Git workflows, specifically optimized for teams using GitHub and Linear. It automates branch naming conventions, streamlines the creation of detailed Pull Requests, and enhances the code review process by integrating GitHub CLI commands with project management data to ensure traceability and code quality.
Use Cases
- Standardizing branch naming conventions to ensure every code change is automatically linked to a specific Linear ticket for better traceability.
- Automating the generation of structured Pull Requests using templates that include purpose, implementation details, and testing checklists.
- Conducting deep-dive code reviews by fetching full diffs and inline comments via GitHub CLI and cross-referencing them with original issue requirements.
- Maintaining a clean and searchable development history by enforcing consistent PR titles and commit structures across the engineering team.
| name | managing-git-workflow |
|---|---|
| description | Git workflow for HASH including branch naming, PR creation, and PR reviews. Use when creating branches, making commits, opening pull requests, or reviewing PRs. |
| license | AGPL-3.0 |
| type | domain |
| enforcement | suggest |
| priority | high |
Managing Git Workflow
Standardize git workflow for HASH development, ensuring traceability between code changes and Linear issues.
Branch Naming
Format: <shortname>/h-XXXX-description
shortname: Developer identifier (first initial, nickname, etc.)h-XXXX: Linear ticket number (lowercase 'h')description: Brief kebab-case description
Examples:
t/h-4892-support-baseurl-and-version-filteralice/h-1234-add-user-authenticationbob/h-5678-fix-database-connection
Why this matters:
- Links code changes to Linear issues
- Enables progress tracking on tickets
- Maintains clear development history
Pull Request Creation
PR Title Format
Format: H-XXXX: Description
- Use uppercase 'H' in PR titles (unlike branch names)
- Keep description clear and concise
Examples:
H-4922: Add branch naming instructionsH-1234: Implement user authentication systemH-5678: Fix database connection timeout
PR Template
Use the template at .github/pull_request_template.md. Key sections:
- Purpose - High-level explanation of what and why
- Related links - Linear issues, discussions, context
- What does this change? - Specific implementation details
- Pre-merge checklist:
- Publishable library changes (npm/Cargo)
- Documentation requirements
- Turbo Graph impact
- Known issues - Intentional omissions or limitations
- Next steps - Planned follow-ups
- Tests - Automated test coverage
- How to test - Manual testing instructions
- Demo - Screenshots or videos
PR Review Process
Step 1: Gather Information
Run these commands to get full context:
# View PR metadata, description, and comments
gh pr view <PR_NUMBER> --comments
# View ALL changes (do not truncate)
gh pr diff <PR_NUMBER>
# View inline diff comments
gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/hashintel/hash/pulls/<PR_NUMBER>/comments
Important: Always view the FULL diff. Do not pipe into head or use --name-only.
Step 2: Check Linear Issues
Look for H-XXXX references in the PR title/description, then fetch the issue:
# If Linear MCP is configured:
mcp__linear__get_issue --issueId "H-XXXX"
# Or use Linear web UI
Use the Linear issue requirements as baseline for the review.
Step 3: Provide Feedback
- Be precise about issue locations (file:line)
- Include suggestions for improvement
- Reference relevant code standards
- Distinguish blocking issues from suggestions
Quick Reference
| Action | Format |
|---|---|
| Branch name | <shortname>/h-XXXX-description |
| PR title | H-XXXX: Description |
| View PR | gh pr view <NUMBER> --comments |
| View diff | gh pr diff <NUMBER> |
| View comments | gh api /repos/hashintel/hash/pulls/<NUMBER>/comments |