Tools expert
Skill victorgrein/spec-crew/templates/shared/skills/tools-expert
Spec Crew is a spec-driven CrewAI toolkit for Claude Code and OpenCode, with canonical commands, agents and skills.
npx -y skills add victorgrein/spec-crew --skill tools-expertAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
This skill should be used when selecting CrewAI built-in tools, composing agent toolchains, or creating production-ready custom tools with BaseTool or @tool, including schema validation, dependency management, caching, async support, and testing.
SKILL.md
6.1 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
CrewAI Tools Expert
Purpose
Enable expert-level tool decisions in CrewAI projects by prioritizing built-in tools first and creating custom tools only when a capability gap is explicit.
When To Use
- Select tools for a new or existing agent
- Convert requirements into a minimal and reliable tool stack
- Decide between built-in tools,
@tool,BaseTool, orRagToolpatterns - Implement custom tools with robust validation, error handling, and async support
- Integrate external APIs, MCP servers, and enterprise systems
Operating Principles
- Prefer built-in tools before writing custom code
- Minimize tool count per agent to reduce tool-selection ambiguity
- Match tool outputs to task contracts and downstream consumers
- Validate credentials, dependencies, and failure modes early
- Keep tool outputs concise, deterministic, and directly usable by agents
Execution Workflow
1) Profile the Request
- Extract inputs, expected outputs, latency constraints, security constraints, and external systems
- Classify the dominant tool domain using
references/tools-landscape.md - Record hard constraints such as offline execution, strict schemas, or approved vendors
2) Attempt Built-In Coverage
- Identify candidate tools by category from
references/tools-landscape.md - Confirm setup requirements (API keys, package extras, authentication)
- Compose the smallest viable built-in stack to satisfy requirements
- Cap noisy tools with
max_usage_countwhen repeated calls add little value
3) Choose Build Path
- Use
references/selection-and-architecture.mdto choose among:- Built-in only
- Hybrid (built-in + one custom tool)
- Fully custom (rare; use only when required)
- Choose custom style:
- Use
@toolfor lightweight, stateless transforms - Use
BaseToolfor configurable/stateful tools with env vars or dependencies - Use
RagToolor adapter patterns for retrieval-oriented sources
- Use
4) Scaffold and Implement Custom Tool
- Generate starter files with
scripts/scaffold_custom_tool.py - Use templates in
assets/templates/for manual edits or fast bootstrap - Apply standards in
references/custom-tool-playbook.md - Enforce:
- Explicit
args_schemawith PydanticFielddescriptions - Clear
nameand action-orienteddescription - Deterministic
_runoutput - Optional
_arunfor true async I/O - Actionable errors without stack-trace leakage
- Explicit
5) Validate Quality
- Run the implementation checklist in
references/custom-tool-playbook.md - Verify tests cover:
- Missing/invalid environment variables
- Input validation boundaries
- Happy path output shape
- External failures (timeouts, HTTP errors, empty payloads)
- Confirm docs include usage, env vars, install extras, and examples
6) Integrate Into Agent Design
- Attach tools by role specialization, not by convenience
- Keep each agent toolset domain-coherent
- Document why each tool exists and when to call it
- Prefer orchestration with specialized worker tools for complex crews
YAML Agent Example
# agents.yaml
research_tools_agent:
role: Tooling Research Analyst
goal: Select the smallest reliable built-in CrewAI tool stack for each request.
backstory: Expert in built-in tools, API setup constraints, and capability-gap detection.
verbose: true
tools:
- SerperDevTool
- WebsiteSearchTool
- FileReadTool
tool_engineer_agent:
role: CrewAI Tool Engineer
goal: Define production-ready custom tool specs only when built-ins do not satisfy requirements.
backstory: Specialist in BaseTool patterns, input schema design, and failure-safe integration rules.
verbose: true
tools:
- DirectoryReadTool
- FileReadTool
YAML Task Example
# tasks.yaml
tool_gap_analysis_task:
description: >
Evaluate whether built-in CrewAI tools can satisfy the request.
Produce a capability matrix and justify every selected built-in tool.
expected_output: >
Markdown table listing selected tools, required credentials,
setup notes, and explicit capability gaps.
agent: research_tools_agent
custom_tool_spec_task:
description: >
If a capability gap exists, define a custom tool specification
with args_schema fields, env vars, package dependencies,
caching policy, async policy, and error-handling strategy.
expected_output: >
Structured spec and acceptance checklist for implementation and tests.
agent: tool_engineer_agent
context:
- tool_gap_analysis_task
Custom Tool Scaffolding
- Use
scripts/scaffold_custom_tool.pywhen implementation boilerplate is needed.
Resource Map
references/tools-landscape.md: Built-in tool categories, quick picks, and coverage mapreferences/selection-and-architecture.md: Built-in vs custom decision frameworkreferences/custom-tool-playbook.md: Production implementation standardsreferences/repo-notes.md: zread findings from CrewAI tools repository and maintenance notesscripts/scaffold_custom_tool.py: Deterministic custom-tool starter generatorassets/templates/agents-tools-expert.yaml: Agent template for built-in tool strategyassets/templates/tasks-tools-selection.yaml: Task template for built-in selection and gap analysisassets/templates/agents-custom-tooling.yaml: Agent template for custom-tool specification workassets/templates/tasks-custom-tooling.yaml: Task template for custom-tool implementation planning
Source-of-Truth Notes
- Treat CrewAI docs as primary guidance, especially
https://docs.crewai.com/en/tools/overview - Use
references/repo-notes.mdfor repository conventions validated via zread MCP - Recheck upstream changes regularly because the historical
crewAI-toolsrepository is marked deprecated and points to a maintained monorepo location