Agent skill
research-git-patterns
Git-aware skill for finding implementation patterns and retrieving story context from git history. Use when searching for similar implementations or understanding how a feature was built. To use this skill, you must have a story ID (e.g., "US-001-auth-login-admin"). Use research-user-stories skill to find the story ID.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/research-git-patterns-shredbx-demo-3d-model
SKILL.md
Research Git Patterns
When to Use
INVOKE when user asks about:
- How a feature was implemented
- Finding similar code patterns
- Understanding implementation history
- Retrieving story context
Git Commands for Story Retrieval
Find All Commits for a Story
# Get full implementation history
git log --grep="US-001-auth-login-admin" --oneline --graph
# Get detailed changes with code
git log --grep="US-001-auth-login-admin" -p --follow
# Get just the files changed
git diff --name-only main...$(git log --grep="US-001-auth-login-admin" -1 --format=%H)
Analyze Implementation Patterns
# Find similar authentication implementations
git log --grep="auth\|login\|clerk" --oneline
# See how rate limiting was implemented across stories
git log -S"RateLimiter" -p
# Find all FastAPI endpoint additions
git log --diff-filter=A -- "apps/server/src/api/**/*.py"
Extract Story Context
# Get story implementation timeline
git log --grep="US-001-auth-login-admin" --format="%ai %s" | sort
# Calculate implementation time
git log --grep="US-001-auth-login-admin" --format="%at" | awk 'NR==1{first=$1} END{print (last-first)/3600 " hours"}'
# Get test coverage evolution
git log --grep="US-001-auth-login-admin" --format="%h" | xargs -I {} sh -c 'git show {}:coverage.json 2>/dev/null | jq .total'
Build Complete Context
# Create story summary
story="US-001-auth-login-admin"
echo "=== Story $story Implementation ==="
echo "\nš Commits:"
git log --grep="$story" --oneline
echo "\nš Files Modified:"
git diff --name-status main...$(git log --grep="$story" -1 --format=%H)
echo "\nā
Tests Added:"
git diff main...$(git log --grep="$story" -1 --format=%H) -- "*test*.py" --name-only
echo "\nš Statistics:"
git log --grep="$story" --shortstat | grep -E "files? changed"
Pattern Mining
Find Reusable Patterns
# Example: Find all endpoint security patterns
patterns = {
"auth": "git log -S'@router.post.*Depends.*get_current_user' -p",
"rate_limit": "git log -S'RateLimiter' -p",
"validation": "git log -S'@validator' -p",
"error_handling": "git log -S'HTTPException' -p"
}
Generate Implementation Template
# Extract common backend structure from story
git show --format="" --name-only $(git log --grep="US-001-auth-login-admin" --format=%H) |
grep "apps/server" |
sed 's|apps/server/||' |
sort -u
Context Building for Claude
When building context from git:
-
Start with story commits
bashgit log --grep="US-XXX" --oneline -
Get implementation details
bashgit show <commit-hash> -
Find related patterns
bashgit log -S"<key-concept>" --oneline -
Build file history
bashgit log --follow -p -- <file-path>
Integration with User Stories
The minimal user story files reference git commits. Use these commands to expand context:
# From user story: "Implementation: git log --grep='US-001-auth-login-admin'"
# Expand to full context:
git log --grep="US-001-auth-login-admin" --stat --format=fuller
Efficiency Tips
-
Use git aliases for common patterns:
bashgit config --global alias.story 'log --grep' git config --global alias.pattern 'log -S' -
Cache results in Memory MCP:
- Story implementation summaries
- Common patterns
- Reusable code blocks
-
Batch operations for multiple stories:
bashfor story in US-001-auth-login-admin US-002 US-003; do echo "=== $story ===" git log --grep="$story" --oneline done
Error Recovery
If git history is unclear:
- Check commit message conventions
- Use broader search patterns
- Fallback to file-based search
- Ask user for clarification
Performance Metrics
Git operations are typically:
git log --grep: <100msgit show: <50ms per commitgit diff: <200ms for feature branch- Full story context: <2 seconds
Compare to file reading:
- Multiple file reads: 500ms-2s
- Context building: 2-5s
- Pattern searching: 1-3s
Git approach is 3-5x faster for context retrieval
Didn't find tool you were looking for?