slamb2k-graphite-skill
npx skills add https://smithery.ai
Agent 安装分布
Skill 文档
Graphite Skill – Context-Efficient Git/Graphite Workflows
Stop drowning in verbose git/Graphite output. This skill automatically enables context-efficient workflows for all git and Graphite CLI operations in Claude Code through automatic delegation patterns.
Core Principles
- Automatic Delegation: Verbose git/Graphite operations are automatically delegated to Task subagents
- Context Isolation: Raw CLI output (15KB+) is processed in isolated context, summaries (<50 tokens) returned
- Zero Friction: SessionStart hooks inject patterns automatically – no manual invocation needed
- Team-Ready: Git-trackable configuration for team-wide distribution
- 225x Efficiency: Dramatic context window improvements (4,108 tokens â 18 tokens)
Problem Statement
Before Graphite Skill (Context Pollution)
You: "Check my Graphite stack"
Claude: [Returns 15KB of JSON â 4,000+ tokens consumed]
Result: Context polluted, reasoning degraded, 2-3 operations max
Traditional git/Graphite operations flood context:
gt stackâ 15KB JSON (4,108 tokens)git log --graphâ 50KB output (12,000+ tokens)gt pr infoâ 20KB JSON (5,000+ tokens)- Multiple queries â Context window exhaustion
After Graphite Skill (Context Efficiency)
You: "Check my Graphite stack"
Claude: [Automatically delegates to Task subagent]
Subagent: [Processes 15KB in isolated context]
Claude: "â feature/auth | 3 PRs | Review #456"
Result: Clean context, 18 tokens used, 100+ operations possible
Installation
Auto-Detection (Recommended)
The skill automatically detects if setup is needed!
When you have the carbon-flow plugin installed globally but haven’t set up Graphite Skill in your project, the SessionStart hook will automatically prompt you with:
â ï¸ Graphite Skill Setup Required
Would you like to set up Graphite Skill in this project now?
If yes, run: bash ~/.claude/plugins/mad-skills/graphite-skill/install.sh --project
Simply run the provided command and the skill activates immediately. No need to remember or look up installation steps.
Prerequisites
- Git repository
- Claude Code 2.0+
- (Optional) Graphite CLI for Graphite-specific workflows
- (Optional) jq for JSON processing in hooks
Manual Installation
# Navigate to your project
cd /path/to/your/project
# Run the installer
bash ~/.claude/plugins/mad-skills/graphite-skill/install.sh --project
# The installer will:
# - Copy hooks to .claude/plugins/graphite-skill/
# - Configure SessionStart hook
# - Set up agent templates
# - Make scripts executable
Manual Installation
# In your project
mkdir -p .claude/plugins/graphite-skill/hooks
# Copy files from the carbon skill directory
cp ~/.claude/plugins/mad-skills/graphite-skill/hooks/session-start.sh .claude/plugins/graphite-skill/hooks/
cp ~/.claude/plugins/mad-skills/graphite-skill/settings.json .claude/plugins/graphite-skill/
# Make hook executable
chmod +x .claude/plugins/graphite-skill/hooks/session-start.sh
# Optional: Copy agent template
mkdir -p .claude/agents
cp ~/.claude/plugins/mad-skills/graphite-skill/agents/graphite-ops-template.md .claude/agents/
Verification
# Test hook execution
bash .claude/plugins/graphite-skill/hooks/session-start.sh
# Should output JSON with hookSpecificOutput
# Test in Claude Code
claude --debug hooks
# Look for:
# [SessionStart] Executing hook: session-start.sh
# [SessionStart] Hook completed successfully
How It Works
SessionStart Hook Mechanism
The skill uses a SessionStart hook to inject context-optimization patterns automatically:
1. Session starts â SessionStart hook fires
2. Hook detects: git repo, project setup status, Graphite CLI, custom agent
3a. If not set up â Prompts user to run install.sh (auto-detection)
3b. If set up â Hook injects ~800 tokens of delegation patterns into context
4. Claude knows: Use Task delegation for verbose operations automatically
5. User benefits: Automatic context efficiency, zero manual effort
Auto-Detection Logic:
The hook intelligently detects whether per-project setup has been completed by checking for the existence of .claude/plugins/graphite-skill/hooks/session-start.sh in your project directory.
- Not set up: Hook displays setup prompt with installation instructions
- Set up: Hook injects delegation patterns and activates context optimization
This means you never have to remember installation steps – the skill tells you exactly what to do.
Automatic Delegation Pattern
When you request git/Graphite operations, Claude automatically:
- Recognizes the operation will return verbose output
- Delegates to Task subagent with explicit instructions:
- Use
--jsonflags for structured output - Redirect errors with
2>/dev/null - Parse and summarize results
- Use
- Subagent executes in isolated context (absorbs verbose output)
- Subagent returns concise summary (<50 tokens)
- You receive actionable summary without context pollution
No manual invocation needed – patterns apply automatically!
Workflows
Basic Git Operations
Checking status:
You: "Check git status"
Claude: [Delegates automatically]
â "3 modified, 2 staged, 1 untracked | Ready to commit"
Viewing commit history:
You: "Show me recent commits"
Claude: [Delegates automatically]
â "Last 10: abc123 Feature, def456 Fix, ... | 3 authors, 2 days"
Reviewing changes:
You: "Show git diff"
Claude: [Delegates automatically]
â "+47/-12 across 3 files | auth.ts, api.ts, tests/ | No conflicts"
Graphite Workflows
Stack status:
You: "Check my Graphite stack"
Claude: [Delegates automatically]
â "â feature/auth | 3 PRs | #456 (needs review), #457 (approved), #458 (draft)"
PR management:
You: "Show PRs needing review"
Claude: [Delegates automatically]
â "ð 2 PRs: #456 (Auth - awaiting review), #459 (Docs - changes requested)"
Submitting stack:
You: "Submit my stack for review"
Claude: [Delegates automatically]
â "â 3 PRs created | CI running on all | Ready for review"
Stack navigation:
You: "Navigate to next branch in stack"
Claude: [Delegates automatically]
â "Switched to feature/auth-ui (3/5 in stack)"
Supported Operations
Git Commands (auto-delegated):
git log --graph– Commit history with summarizationgit diff– Changes with statisticsgit status– Status with file groupinggit branch– Branch listing with current indicator- All other verbose git commands
Graphite CLI Commands (auto-delegated):
gt stack– Stack status with PR summariesgt pr list– PR listing with filteringgt pr info– Detailed PR data with parsinggt submit– Submission with confirmationgt log– Stack history with formatting- All other verbose gt commands
Two Approaches: Task Tool vs Custom Agent
Task Tool (Default – Recommended)
Zero setup, works immediately with automatic delegation:
You: "Check my stack"
Claude: [Uses Task delegation automatically]
â Concise summary
Characteristics:
- â¡ No configuration needed
- ð¦ Works universally
- ð¯ Full context isolation
- ⪠Standard terminal output
- â Recommended for most users
Custom Agent (Optional – Power Users)
Enhanced UX with colored terminal output:
# One-time setup in Claude Code
/agents create
Name: graphite-ops
Color: cyan
Scope: project
Prompt: Load from .claude/agents/graphite-ops-template.md
# Use with color
You: "graphite-ops check my stack"
graphite-ops [cyan]: â feature/auth | 3 PRs | Review #456
Characteristics:
- ð¨ Colored terminal output (cyan)
- ð¤ Consistent persona
- ð Git-tracked definition
- ð¯ Same context isolation
- ð§ Requires one-time agent creation
Agent Template Location: graphite-skill/agents/graphite-ops-template.md
Team Distribution
Graphite Skill is designed for team-wide adoption:
# One team member sets up
./install.sh --project
git add .claude/
git commit -m "Add Graphite Skill context-optimization for git/Graphite"
git push
# Other team members pull and get:
# â Automatic context optimization
# â Consistent behavior across team
# â Zero per-developer setup
Team benefits:
- Consistent git/Graphite workflows
- Automatic efficiency for all developers
- Git-tracked configuration (no separate distribution)
- SessionStart hook activates automatically
Configuration
Default Configuration
The skill works out-of-box with sensible defaults. No configuration required.
Custom Configuration
Adjust behavior by editing .claude/plugins/graphite-skill/settings.json:
{
"contextTokens": 800,
"delegationThreshold": 100,
"autoDetectGraphite": true,
"autoDetectCustomAgent": true,
"enableTaskDelegation": true,
"enableCustomAgent": true
}
Settings explanation:
contextTokens: Amount of pattern context injected (default: 800)delegationThreshold: Token size to trigger delegation (default: 100)autoDetectGraphite: Automatically detect Graphite CLI presence (default: true)autoDetectCustomAgent: Detect and suggest custom agent if available (default: true)enableTaskDelegation: Enable automatic Task delegation (default: true)enableCustomAgent: Enable custom agent support (default: true)
Efficiency Metrics
| Metric | Before (Raw CLI) | After (Graphite Skill) | Improvement |
|---|---|---|---|
| Tokens consumed | 4,108 | 18 | 225x |
| Context pollution | High | Minimal | 99.6% reduction |
| Response quality | Degraded | Optimal | Focused reasoning |
| User effort | Manual patterns | Zero | Automatic |
| Operations before exhaustion | 2-3 | 100+ | 50x |
Troubleshooting
Hook not firing
# Check permissions
chmod +x .claude/plugins/graphite-skill/hooks/session-start.sh
# Check settings.json exists
ls -la .claude/settings.json
# Test manually
bash .claude/plugins/graphite-skill/hooks/session-start.sh | jq .
Context not appearing
# Verify hook returns correct JSON
bash .claude/plugins/graphite-skill/hooks/session-start.sh | \
jq '.hookSpecificOutput.hookEventName'
# Should output: "SessionStart"
Patterns not applied
Start Claude with debug mode:
claude --debug hooks
# Check for:
# - Hook execution confirmation
# - Context injection success
# - Any error messages
Delegation not automatic
If Claude doesn’t delegate automatically:
- Verify SessionStart hook is active:
claude --debug hooks - Check hook output contains delegation patterns
- Manually request delegation: “Use Task delegation for this”
- Review hook configuration in
settings.json
Files and Structure
graphite-skill/
âââ SKILL.md # This file - complete skill reference
âââ install.sh # Automated installation script
âââ settings.json # Configuration settings
âââ hooks/
â âââ session-start.sh # SessionStart hook for pattern injection
âââ agents/
â âââ graphite-ops-template.md # Custom agent template (optional)
âââ examples/
â âââ team-configuration.md # Example team configurations
âââ test/
â âââ verify-installation.sh # Installation verification script
âââ QUICKSTART.md # Quick start guide
âââ README.md # Detailed documentation
References (from root skill directory):
- QUICKSTART.md - 5-minute setup guide
- README.md - Complete documentation
- examples/team-configuration.md - Team setup examples
When to Use This Skill
Always active – The SessionStart hook applies patterns automatically, so you don’t need to manually invoke this skill. Just use git/Graphite naturally:
- Checking stack status
- Reviewing PRs
- Viewing commit history
- Managing branches
- Submitting for review
- Any git/Graphite operation
The skill is already working if:
- SessionStart hook is installed
- Claude automatically delegates verbose operations
- You receive concise summaries instead of raw output
References
For detailed information:
- Quick Start:
graphite-skill/QUICKSTART.md– 5-minute setup guide - Installation:
graphite-skill/install.sh– Automated installation - Team Setup:
graphite-skill/examples/team-configuration.md– Team configuration examples - Agent Template:
graphite-skill/agents/graphite-ops-template.md– Custom agent definition
Status
- â Production-ready
- â Tested with Claude Code 2.0+
- â Compatible with Graphite CLI 1.0+
- â Team-ready with git-tracked configuration
- â Zero-friction automatic activation