tool-design
This skill should be used when the user asks to "design agent tools", "create tool descriptions", "reduce tool complexity", "implement MCP tools", or mentions…
Skill by mouadja02
Chalk Labs
Need help deploying tool-design?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/mouadja02-tool-design
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/tool-design
What's inside
- Skill name
tool-design- Description
- This skill should be used when the user asks to "design agent tools", "create tool descriptions", "reduce tool complexity", "implement MCP tools", or mentions tool consolidation, architectural reduction, tool naming conventions, or agent-tool interfaces.
- License
- MIT
- Instructions
- 270 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (5)
- LICENSE
- SKILL.md
- architectural_reduction.md · references/
- best_practices.md · references/
- description_generator.py · scripts/
SKILL.md (first lines)
> **Attribution:** Sourced from [muratcankoylan/Agent-Skills-for-Context-Engineering](https://github.com/muratcankoylan/Agent-Skills-for-Context-Engineering) by [Muratcan Koylan](https://github.com/muratcankoylan).
# Tool Design for Agents
Design every tool as a contract between a deterministic system and a non-deterministic agent. Unlike human-facing APIs, agent-facing tools must make the contract unambiguous through the description alone -- agents infer intent from descriptions and generate calls that must match expected formats. Every ambiguity becomes a potential failure mode that no amount of prompt engineering can fix.
## When to Activate
Activate this skill when:
- Creating new tools for agent systems
- Debugging tool-related failures or misuse
- Optimizing existing tool sets for better agent performance
- Designing tool APIs from scratch
- Evaluating third-party tools for agent integration
- Standardizing tool conventions across a codebase
## Core Concepts
Design tools around the consolidation principle: if a human engineer cannot definitively say which tool should be used in a given situation, an agent cannot be expected to do better. Reduce the tool set until each tool has one unambiguous purpose, because agents select tools by comparing descriptions and any overlap introduces selection errors.
Treat every tool description as prompt engineering that shapes agent behavior. The description is not documentation for humans -- it is injected into the agent's context and directly steers reasoning. Write descriptions that answer what the tool does, when to use it, and what it returns, because these three questions are exactly what agents evaluate during tool selection.
## Detailed Topics
### The Tool-Agent Interface
**Tools as Contracts**
Design each tool as a self-contained contract. When humans call APIs, they read docs, understand conventions, and make appropriate requests. Agents must infer the entire contract from a single description block. Make the contract unambiguous by including format examples, expected patterns, and explicit constraints. Omit nothing that a caller needs to know, because agents cannot ask clarifying questions before making a call.
**Tool Description as Prompt**
Write tool descriptions knowing they load directly into agent context and collectively steer behavior. A vague description like "Search the database" with cryptic parameter names forces the agent to guess -- and guessing produces incorrect calls. Instead, include usage context, parameter format examples, and sensible defaults. Every word in the description either helps or hurts tool selection accuracy.
**Namespacing and Organization**
Namespace tools under common prefixes as the collection grows, because agents benefit from hierarchical grouping. When an agent needs database operations, it routes to the `db_*` namespace; when it needs web interactions, it routes to `web_*`. Without namespacing, agents must evaluate every tool in a flat list, which degrades selection accuracy as the count grows.
### The Consolidation Principle
**Single Comprehensive Tools**
Build single comprehensive tools instead of multiple narrow tools that overlap. Rather than implementing `list_users`, `list_events`, and `create_event` separately, implement `schedule_event` that finds availability and schedules in one call. The comprehensive tool handles the full workflow internally, removing the agent's burden of chaining calls in the correct order.
**Why Consolidation Works**
Apply consolidation because agents have limited context and attention. Each tool in the collection competes for attention during tool selection, each description consumes context budget tokens, and overlapping functionality creates ambiguity. Consolidation eliminates redundant descriptions, removes selection ambiguity, and shrinks the effective tool set. Vercel demonstrated this principle by reducing their agent from 17 specialized tools to 2 general-purpose tools and achieving better performance -- fewer tools meant less confusion and more reliable tool selection.
**When Not to Consolidate**
Keep tools separate when they have fundamentally different behaviors, serve different contexts, or must be callable independently. Over-consolidation creates a different problem: a single tool with too many parameters and modes becomes hard for agents to parameterize correctly.
### Architectural Reduction
Push the consolidation principle to its logical extreme by removing most specialized tools in favor of primitive, general-purpose capabilities. Production evidence shows this approach can outperform sophisticated multi-tool architectures.
**The File System Agent Pattern**
Provide direct file system access through a single command execution tool instead of building custom tools for data exploration, schema lookup, and query validation. The agent uses standard Unix utilities (grep, cat, find, ls) to explore and operate on the system. This works because file systems are a proven abstraction that models understand deeply, standard tools have predictable behavior, agents can chain primitives flexibly rather than being constrained to predefined workflows, and good documentation in files replaces summarization tools.
**When Reduction Outperforms Complexity**
Choose reduction when the data layer is well-documented and consistently structured, the model has sufficient reasoning capability, specialized tools were constraining rather than enabling the model, or more time is spent maintaining scaffolding than improving outcomes. Avoid reduction when underlying data is messy or poorly documented, the domain requires specialized knowledge the model lacks, safety constraints must limit agent actions, or operations genuinely benefit from structured workflows.
**Build for Future Models**
Design minimal architectures that benefit from model improvements rather than sophisticated architectures that lock in current limitations. Ask whether each tool enables new capabilities or constrains reasoning the model could handle on its own -- tools built as "guardrails" often become liabilities as models improve.
See [Architectural Reduction Case Study](./references/architectural_reduction.md) for production evidence.
### Tool Description Engineering
**Description Structure**
Structure every tool description to answer four questions:
1. What does the tool do? State exactly what the tool accomplishes -- avoid vague language like "helps with" or "can be used for."
2. When should it be used? Specify direct triggers ("User asks about pricing") and indirect signals ("Need current market rates").
3. What inputs does it accept? Describe each parameter with types, constraints, defaults, and format examples.
4. What does it return? Document the output format, structure, successful response examples, and error conditions.
**Default Parameter Selection**
Set defaults to reflect common use cases. Defaults reduce agent burden by eliminating unnecessary parameter specification and prevent errors from omitted parameters. Choose defaults that produce useful results without requiring the agent to understand every option.
### Response Format Optimization
Offer response format options (concise vs. detailed) because tool response size significantly impacts context usage. Concise format returns essential fields only, suitable for confirmations. Detailed format returns complete objects, suitable when full context drives decisions. Document when to use each format in the tool description so agents learn to select appropriately.
### Error Message Design
Design error messages for two audiences: developers debugging issues and agents recovering from failures. For agents, every error message must be actionable -- it must state what went wrong and how to correct it. Include retry guidance for retryable errors, corrected format examples for input errors, and specific missing fields for incomplete requests. An error that says only "failed" provides zero recovery signal.
### Tool Definition Schema
Establish a consistent schema across all tools. Use verb-noun pattern for tool names (`get_customer`, `create_order`), consistent parameter names across tools (always `customer_id`, never sometimes `id` and sometimes `identifier`), and consistent return field names. Consistency reduces the cognitive load on agents and improves cross-tool generalization.
### Tool Collection Design
Limit tool collections to 10-20 tools for most applications, because research shows description overlap causes model confusion and more tools do not always lead to better outcomes. When more tools are genuinely needed, use namespacing to create logical groupings. Implement selection mechanisms: tool grouping by domain, example-based selection hints, and umbrella tools that route to specialized sub-tools.
### MCP Tool Naming Requirements
Always use fully qualified tool names with MCP (Model Context Protocol) to avoid "tool not found" errors.
Format: `ServerName:tool_name`
```python
# Correct: Fully qualified names
"Use the BigQuery:bigquery_schema tool to retrieve table schemas."
"Use the GitHub:create_issue tool to create issues."
# Incorrect: Unqualified names
"Use the bigquery_schema tool..." # May fail with multiple servers
```
Without the server prefix, agents may fail to locate tools when multiple MCP servers are available. Establish naming conventions that include server context in all tool references.
### Using Agents to Optimize Tools
Feed observed tool failures back to an agent to diagnose issues and improve descriptions. Production testing shows this approach achieves 40% reduction in task completion time by helping future agents avoid mistakes.
**The Tool-Testing Agent Pattern**:
```python
def optimize_tool_description(tool_spec, failure_examples):
"""
Use an agent to analyze tool failures and improve descriptions.
Process:From mouadja02/skills, MIT.
More from mouadja02/skills
- 0.637score
eval-driven-dev
mouadja02
Improve AI application with evaluation-driven development.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
semantic-kernel
mouadja02
Create, update, refactor, explain, or review Semantic Kernel solutions using shared guidance plus language-specific references for .NET and Python.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
python-pypi-package-builder
mouadja02
End-to-end skill for building, testing, linting, versioning, and publishing a production-grade Python library to PyPI.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
ai-team-orchestration
mouadja02
Bootstraps and runs a multi-agent development team with roles (dev, QA, DevOps), parallel work, and sprint plans that survive context resets.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
gdpr-compliant
mouadja02
Apply GDPR-compliant engineering practices across your codebase.
SkillAFreshness: A★ 11Claude Code +9 - 0.634score
nano-banana-pro-openrouter
mouadja02
Generate or edit images via OpenRouter with the Gemini 3 Pro Image model.
SkillAFreshness: A★ 11Claude Code +9 - 0.632score
structured-autonomy-plan
mouadja02
Use when an autonomous agent run needs a plan before execution — decomposing the goal, setting explicit boundaries and stop conditions, and defining what the…
SkillAFreshness: A★ 11Claude Code +9 - 0.632score
memory-merger
mouadja02
Merges mature lessons from a domain memory file into its instruction file.
SkillAFreshness: A★ 11Claude Code +9 - 0.632score
autoresearch
luiscantero
Runs an autonomous experiment loop on any programming task: you define the goal, metric, and eval command; the agent edits code, measures, and keeps or…
SkillAFreshness: A★ 11Claude Code +9 - 0.632score
create-agentsmd
mouadja02
Generates a complete AGENTS.md at the repository root following the agents.md format: setup, build, test, style, and PR conventions coding agents need.
SkillAFreshness: A★ 11Claude Code +9 - 0.632score
rich-claude-code-tui-clone
mouadja02
Use when building a Python terminal UI inspired by Claude Code with Rich.
SkillAFreshness: A★ 11Claude Code +9 - 0.632score
bmm-skills
mouadja02
Routes requests to the BMad Method (v6.12.4) agile framework: persona agents, planning skills (brief, PRFAQ, PRD, UX, spec, architecture, epics, sprint…
SkillAFreshness: A★ 11Claude Code +9
Signals
- Stars
- 11
- Forks
- 5
- Open issues
- 25
- Last commit (this folder)
- Oct 16, 2026 (14 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/mouadja02/skills
- Website
- mouadja02.github.io/skills/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from mouadja02
- 0.637score
python-pypi-package-builder
mouadja02
End-to-end skill for building, testing, linting, versioning, and publishing a production-grade Python library to PyPI.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
gdpr-compliant
mouadja02
Apply GDPR-compliant engineering practices across your codebase.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
eval-driven-dev
mouadja02
Improve AI application with evaluation-driven development.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
semantic-kernel
mouadja02
Create, update, refactor, explain, or review Semantic Kernel solutions using shared guidance plus language-specific references for .NET and Python.
SkillAFreshness: A★ 11Claude Code +9 - 0.637score
ai-team-orchestration
mouadja02
Bootstraps and runs a multi-agent development team with roles (dev, QA, DevOps), parallel work, and sprint plans that survive context resets.
SkillAFreshness: A★ 11Claude Code +9 - 0.634score
nano-banana-pro-openrouter
mouadja02
Generate or edit images via OpenRouter with the Gemini 3 Pro Image model.
SkillAFreshness: A★ 11Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get tool-design running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
tool-design skill. Agent Mart. https://agentmart.dev/skills/mouadja02-tool-design (last updated 2026-10-24)