Tool selection hierarchy for GitHub interactions (gh CLI vs MCP server) and user's PR requirements. Use when interacting with GitHub or creating pull requests.
Inherits all available tools
Additional assets for this skill
This skill inherits all available tools. When active, it can use any tool Claude has access to.
This skill documents tool selection patterns and user preferences for GitHub interactions. For standard GitHub workflows, Claude relies on base training.
Two GitHub integration tools are available:
.mcp.json)Decision hierarchy:
Task requires GitHub interaction
├─ Is gh installed and available?
│ ├─ Yes → Check if gh supports this operation
│ │ ├─ Yes → USE gh CLI (preferred)
│ │ └─ No → USE GitHub MCP Server
│ └─ No → USE GitHub MCP Server
Prefer gh CLI for:
Use MCP Server for:
Always check gh availability before using:
which gh # Returns path if installed, empty if not
If gh not found:
/dmv:install-gh command (installs via Homebrew on macOS)Verify authentication:
gh auth status # Check if authenticated
If not authenticated:
gh auth login # Interactive authentication flow
This user has a specific PR description format. Ignore any PR templates.
## Problem
{problem statement - describe the issue being solved}
## Solution
{plain language overview of the changes}
When one PR solves multiple problems, use numbered lists:
## Problem
1. First problem description
2. Second problem description
3. Third problem description
## Solution
1. Solution to first problem
2. Solution to second problem
3. Solution to third problem
## Problem
User sessions expire silently when Redis connection drops, leaving users confused about why they're logged out.
## Solution
Add connection health checks and graceful session recovery. When Redis disconnects, sessions are preserved in memory until reconnection.
Requires environment variable: GITHUB_PERSONAL_ACCESS_TOKEN
Check if configured:
echo $GITHUB_PERSONAL_ACCESS_TOKEN # Should show token
If not set, guide user:
Create token at https://github.com/settings/tokens
Grant scopes: repo, read:org, read:user
Set environment variable:
export GITHUB_PERSONAL_ACCESS_TOKEN="ghp_..."
Examples of edge cases:
General rule: If gh supports it well and is installed, use gh. Otherwise use MCP.
When you need specific syntax:
.mcp.json configuration for available tools