Agent skill · Backend & API

tool-design

This skill should be used for the tool-interface layer of an agent system specifically: writing tool descriptions agents can route on, designing tool schemas and response formats, naming conventions, actionable error recovery messages, MCP server design, tool-set consolidation, and deciding when to add or remove an individual tool. Use this when the unit of work is a single tool or a set of tools. Route project-shape, pipeline architecture, and task-model-fit decisions to project-development; route deciding whether to introduce sub-agents to multi-agent-patterns.

guanyanggithub.com/guanyangGitHub ↗
claude-codeships scriptsMIT
Install
npx skills add guanyang/open-agent-hub --skill tool-design --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 4
SKILL.md size: 20 KB
Bundled scripts: yes
Path: skills/tool-design/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 940
Language: TypeScript

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# 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. The unit of work for this skill is a single tool or a tool catalog. Project-shape, pipeline architecture, task-model-fit, and cost-at-the-project-level decisions belong to `project-development`. Deciding whether to introduce sub-agents belongs to `multi-agent-patterns`. This skill owns the interface layer that connects deterministic code to the agent. ## When to Activate Activate this skill when the unit of work is a tool: - Writing a new tool description, schema, or response format. - Debugging cases where the agent picked the wrong tool or generated malformed calls. - Consolidating an overlapping tool catalog (the classic "we have 17 tools, the agent picks wrong half the time" case). - Designing actionable error messages so the agent can self-correct. - Naming tools and p

What's inside
Steps it walks through
  1. When to Activate
  2. Core Concepts
  3. Detailed Topics
  4. The Tool-Agent Interface
  5. The Consolidation Principle
  6. Architectural Reduction
  7. Tool Description Engineering
  8. Response Format Optimization
  9. Error Message Design
  10. Tool Definition Schema
  11. Tool Collection Design
  12. MCP Tool Naming Requirements
  13. Using Agents to Optimize Tools
  14. Testing Tool Design
Ships with 3 files
  • references/architectural_reduction.md
  • references/best_practices.md
  • scripts/description_generator.py
More from open-agent-hub
All skills →
About this skill
What does the tool-design skill do?

This skill should be used for the tool-interface layer of an agent system specifically: writing tool descriptions agents can route on, designing tool schemas and response formats, naming conventions, actionable error recovery messages, MCP server design, tool-set consolidation, and deciding when to add or remove an individual tool. Use this when the unit of work is a single tool or a set of tools. Route project-shape, pipeline architecture, and task-model-fit decisions to project-development; route deciding whether to introduce sub-agents to multi-agent-patterns.

How do I install it?

Run `npx skills add guanyang/open-agent-hub --skill tool-design --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From guanyang/open-agent-hub, a repository with 940 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going