name: tool-creation description: "Create tools on the fly — Bash scripts, Python scripts, Node.js scripts, or request MCP server/CLI installation — when the agent identifies a capability gap. Use when a task requires a tool that doesn't exist yet, or when an MCP server or CLI tool would solve the problem better than manual steps."
TASKLANG TYPE SKILL
IDENTITY "Tool Creation — Build What You Need"
Maker skill that gives agents the power to create their own tools. When a task requires a capability that doesn't exist, this skill provides the playbook for: identifying the need, choosing the right technology (Bash/Python/Node.js), creating the tool, or requesting MCP server / CLI installation. This is the playbook for someone who never says "I can't" — they build the tool.
!!! The agent is NOT limited to its built-in tools. !!! If a Bash script would solve it — write one. !!! If a Python script would solve it — write one. !!! If an MCP server exists for it — install it. !!! If a CLI tool does it — install and use it. !!! The goal is to ACCOMPLISH THE TASK, not to work within arbitrary limits.
Day-to-Day Workflows
MAP workflows "workflows/identify-need.md" -> "Recognize when a tool is needed and what it should do" "workflows/create-script.md" -> "Write a Bash, Python, or Node.js script to solve the problem" "workflows/install-tool.md" -> "Install an MCP server or CLI tool that provides the capability" "workflows/validate-tool.md" -> "Test the created/installed tool and verify it works"
Knowledge (derived from workflows)
KNOWLEDGE PATTERNS - "Technology selection decision tree:" - " Bash — file operations, git commands, CLI orchestration, simple text processing" - " Python — data processing, API calls, complex logic, JSON/YAML manipulation, web scraping" - " Node.js — npm ecosystem, JS/TS tooling, frontend build tools, API integrations" - " MCP server — when a persistent capability is needed across sessions (Slack, Jira, GitHub, DB)" - " CLI tool — when a well-maintained external tool exists (jq, yq, gh, ripgrep, httpie)" - "Script naming: tools/{purpose}.{ext} — descriptive, lowercase, hyphenated" - "Scripts MUST be executable (chmod +x) and have proper shebang lines" - "Scripts MUST have --help flag showing usage" - "MCP servers go in .claude/mcp.json configuration"
CONVENTIONS - "Always check if a tool/script already exists before creating a new one" - "Always check if an MCP server or CLI tool already solves the problem" - "Prefer existing tools over new scripts — don't reinvent the wheel" - "Scripts must handle errors gracefully with clear error messages" - "Scripts must be idempotent when possible — safe to run multiple times" - "MCP server installation requires user confirmation before proceeding" - "CLI tool installation requires user confirmation before proceeding" - "Created scripts go in tools/ or .claude/skills/{skill}/scripts/" - "Always validate the tool works before declaring success" - "Document what the tool does in a comment header"
STRATEGY CAPTURE: useful scripts, MCP server configurations, CLI tool recipes UPDATE_FREE: references/ UPDATE_APPROVAL: SKILL.md, scripts/
Technology Decision Tree
DECIDE technology FROM task_requirements WHEN "file operations, text processing, git, CLI piping" => Bash script WHEN "data processing, API calls, complex logic, parsing" => Python script WHEN "npm ecosystem, JS/TS tooling, frontend tasks" => Node.js script WHEN "persistent capability, cross-session, external service integration" => MCP server WHEN "well-known task with maintained tool" => CLI tool installation WHEN "simple one-liner" => Inline Bash (no script needed)
MCP Server Knowledge
MCP (Model Context Protocol) servers extend agent capabilities with external tools. They run as persistent processes and provide tools via JSON-RPC.
KNOWLEDGE mcp_servers PATTERNS - "MCP servers are configured in .claude/mcp.json" - "Common MCP servers: filesystem, github, slack, postgres, sqlite, brave-search" - "Installation: npx @anthropic/mcp-server-{name} or pip install mcp-server-{name}" - "Configuration format: { 'mcpServers': { 'name': { 'command': '...', 'args': [...] } } }" - "After installation, tools become available to all agents in the project"
CONVENTIONS - "Always check .claude/mcp.json for already-installed servers" - "Prefer official Anthropic MCP servers when available" - "Test the MCP server connection after installation" - "Document what tools the MCP server provides"
Companion Files
REQUIRE
- FORMAT.md # tool creation output format
- VOICE.md # communication style
- DRY_RUN.md # dry-run behavior
- workflows/identify-need.md # need identification workflow
- workflows/create-script.md # script creation workflow
- workflows/install-tool.md # tool installation workflow
- workflows/validate-tool.md # tool validation workflow
- references/ # accumulated tool recipes and patterns