Files
magnus919_agent-skills/crewai/references/tool-integration.md
T
Magnus Hedemark 48a67bb0a1 feat: add crewai — expert skill for role-based multi-agent teams
Greenfield SkillOpt: 3 epochs for CrewAI skill.
Role/Goal/Backstory agent model, sequential/hierarchical processes.

11 files: SKILL.md, 6 references, 3 templates, 1 script.
2026-07-09 14:55:42 -04:00

1.4 KiB

CrewAI Tool Integration

@tool Decorator

from crewai.tools import tool

@tool("search_web")
def search_web(query: str) -> str:
    """Search the web for current information."""
    return f"Results for: {query}"

@tool("calculate")
def calculate(expression: str) -> str:
    """Evaluate a mathematical expression."""
    return str(eval(expression))

Assigning Tools

Tools are assigned to agents:

agent = Agent(
    role="Researcher",
    goal="Find information",
    backstory="Expert researcher",
    tools=[search_web, calculate],  # Agent-level tools
)

# Or task-level (overrides agent tools)
task = Task(
    description="Research and compute",
    agent=agent,
    tools=[search_web],  # Task-specific — only this tool is available
)

Built-in Tools

CrewAI ships tool packages: crewai-tools with SerperDevTool, ScrapeWebsiteTool, etc. Install separately:

pip install crewai-tools

Tool Design Guidelines

  • Docstring matters. The docstring/description is what the LLM sees to decide when to use the tool.
  • Type hints required. Tool parameters use type hints for schema generation.
  • Handle errors gracefully. Tool failures mark tasks as failed but don't raise exceptions.
  • Return strings. Keep return values as strings for consistent handling.
  • Cache results. Same input → same cached output (controlled by cache parameter).