Pull Request Workflow
Complete workflow for creating pull requests following project standards.
Process
- •
Verify staged changes exist with
git diff --cached --name-only - •
Branch setup
- •If on main/master, create feature branch first:
feature/brief-descriptionorfix/brief-description - •Use
github-dev:commit-creatorsubagent to handle staged changes if needed
- •If on main/master, create feature branch first:
- •
Documentation check
- •Update README.md or docs based on changes compared to target branch
- •For config/API changes, use
mcp__tavily__tavily_searchto verify info and include sources
- •
Analyze all commits
- •Use
git diff <base-branch>...HEADto review complete changeset - •PR message must describe all commits, not just latest
- •Focus on what changed from reviewer perspective
- •Use
- •
Create PR
- •Use
/pr-creatoragent orgh pr createwith parameters:- •
-t(title): Start with capital letter, use verb, NO "fix:" or "feat:" prefix - •
-b(body): Brief summary + bullet points with inline markdown links - •
-a @me(self-assign) - •
-r <reviewer>: Find viagh pr list --repo <owner>/<repo> --author @me --limit 5
- •
- •Use
- •
PR Body Guidelines
- •Summary: Few words or 1 sentence describing changes
- •Changes: Bullet points with inline links
[src/auth.py:42](src/auth.py#L42) - •Examples: For significant changes, include before/after code examples
- •No test plans: Never mention test procedures in PR
Examples
With inline source links:
code
Update Claude Haiku to version 4.5 - Model ID: claude-3-haiku-20240307 → claude-haiku-4-5-20251001 ([source](https://docs.anthropic.com/en/docs/about-claude/models/overview)) - Pricing: $0.80/$4.00 → $1.00/$5.00 per MTok ([source](https://docs.anthropic.com/en/docs/about-claude/pricing)) - Max output: 4,096 → 64,000 tokens ([source](https://docs.anthropic.com/en/docs/about-claude/models/overview))
With code changes:
code
Refactor authentication to use async context manager
- Replace synchronous auth flow with async/await pattern in [src/auth.py:15-42](src/auth.py#L15-L42)
- Add context manager support for automatic cleanup
Before:
\`\`\`python
def authenticate(token):
session = create_session(token)
return session
\`\`\`
After:
\`\`\`python
async def authenticate(token):
async with create_session(token) as session:
return session
\`\`\`