> crewai

You are an expert in CrewAI, the framework for orchestrating autonomous AI agents working together as a crew. You help developers define agents with specific roles, goals, and tools, then organize them into crews that collaborate on complex tasks — with sequential, parallel, and hierarchical process types, memory, delegation between agents, and integration with LangChain tools.

fetch
$curl "https://skillshub.wtf/TerminalSkills/skills/crewai?format=md"
SKILL.mdcrewai

CrewAI — Multi-Agent Orchestration

You are an expert in CrewAI, the framework for orchestrating autonomous AI agents working together as a crew. You help developers define agents with specific roles, goals, and tools, then organize them into crews that collaborate on complex tasks — with sequential, parallel, and hierarchical process types, memory, delegation between agents, and integration with LangChain tools.

Core Capabilities

Agents and Crews

from crewai import Agent, Task, Crew, Process
from crewai_tools import SerperDevTool, WebsiteSearchTool, FileReadTool

# Define specialized agents
researcher = Agent(
    role="Senior Research Analyst",
    goal="Find comprehensive, accurate data about the given topic",
    backstory="""You are an expert researcher with 15 years of experience
    in technology analysis. You are meticulous about data accuracy and
    always cross-reference multiple sources.""",
    tools=[SerperDevTool(), WebsiteSearchTool()],
    llm="gpt-4o",
    verbose=True,
    allow_delegation=True,                  # Can ask other agents for help
    memory=True,
)

writer = Agent(
    role="Content Writer",
    goal="Write engaging, well-structured content based on research",
    backstory="""You are a skilled technical writer who transforms complex
    research into clear, engaging articles. You write for a developer audience.""",
    tools=[FileReadTool()],
    llm="gpt-4o",
    verbose=True,
)

editor = Agent(
    role="Editor",
    goal="Ensure content is polished, accurate, and publication-ready",
    backstory="""You are a demanding editor who ensures every piece
    meets the highest standards of clarity, accuracy, and engagement.""",
    llm="gpt-4o",
)

# Define tasks
research_task = Task(
    description="""Research the topic: {topic}
    Find at least 5 credible sources, key statistics, expert opinions,
    and recent developments. Focus on practical implications.""",
    expected_output="Comprehensive research report with citations",
    agent=researcher,
)

writing_task = Task(
    description="""Write a 1500-word article based on the research.
    Include: introduction, 3-4 key sections with examples, conclusion.
    Target audience: senior developers and tech leads.""",
    expected_output="Well-structured article in markdown format",
    agent=writer,
    context=[research_task],               # Uses research output as input
)

editing_task = Task(
    description="""Review and polish the article. Fix grammar, improve flow,
    verify claims against the research, add missing context.
    Return the final publication-ready article.""",
    expected_output="Final polished article ready for publication",
    agent=editor,
    context=[research_task, writing_task],
)

# Create and run crew
crew = Crew(
    agents=[researcher, writer, editor],
    tasks=[research_task, writing_task, editing_task],
    process=Process.sequential,            # Or Process.hierarchical
    memory=True,                           # Shared crew memory
    verbose=True,
)

result = crew.kickoff(inputs={"topic": "AI agents in production: best practices for 2026"})
print(result.raw)                          # Final article
print(result.token_usage)                  # Total tokens used

Custom Tools

from crewai.tools import BaseTool
from pydantic import BaseModel, Field

class DatabaseQueryInput(BaseModel):
    query: str = Field(description="SQL query to execute")

class DatabaseQueryTool(BaseTool):
    name: str = "database_query"
    description: str = "Execute SQL queries against the analytics database"
    args_schema: type[BaseModel] = DatabaseQueryInput

    def _run(self, query: str) -> str:
        results = db.execute(query)
        return json.dumps(results, default=str)

# Use in agent
analyst = Agent(
    role="Data Analyst",
    goal="Extract insights from the database",
    tools=[DatabaseQueryTool()],
    llm="gpt-4o",
)

Hierarchical Process

# Manager agent delegates to specialists
crew = Crew(
    agents=[researcher, writer, editor, analyst],
    tasks=[complex_report_task],
    process=Process.hierarchical,          # Manager auto-created, delegates subtasks
    manager_llm="gpt-4o",
    memory=True,
)

Installation

pip install crewai crewai-tools

Best Practices

  1. Clear roles — Each agent needs a specific role, goal, and backstory; specificity improves output quality
  2. Task dependencies — Use context=[task1, task2] to pass output between tasks; explicit data flow
  3. Sequential for reliability — Use Process.sequential for predictable, ordered execution
  4. Hierarchical for complex — Use Process.hierarchical when tasks need dynamic delegation
  5. Custom tools — Wrap your APIs as CrewAI tools; agents use them autonomously
  6. Memory — Enable memory=True for long-running crews; agents remember previous interactions
  7. Delegation — Set allow_delegation=True for agents that should ask others for help
  8. Token tracking — Check result.token_usage to monitor costs; optimize agent instructions to reduce tokens

> related_skills --same-repo

> zustand

You are an expert in Zustand, the small, fast, and scalable state management library for React. You help developers manage global state without boilerplate using Zustand's hook-based stores, selectors for performance, middleware (persist, devtools, immer), computed values, and async actions — replacing Redux complexity with a simple, un-opinionated API in under 1KB.

> zoho

Integrate and automate Zoho products. Use when a user asks to work with Zoho CRM, Zoho Books, Zoho Desk, Zoho Projects, Zoho Mail, or Zoho Creator, build custom integrations via Zoho APIs, automate workflows with Deluge scripting, sync data between Zoho apps and external systems, manage leads and deals, automate invoicing, build custom Zoho Creator apps, set up webhooks, or manage Zoho organization settings. Covers Zoho CRM, Books, Desk, Projects, Creator, and cross-product integrations.

> zod

You are an expert in Zod, the TypeScript-first schema declaration and validation library. You help developers define schemas that validate data at runtime AND infer TypeScript types at compile time — eliminating the need to write types and validators separately. Used for API input validation, form validation, environment variables, config files, and any data boundary.

> zipkin

Deploy and configure Zipkin for distributed tracing and request flow visualization. Use when a user needs to set up trace collection, instrument Java/Spring or other services with Zipkin, analyze service dependencies, or configure storage backends for trace data.

┌ stats

installs/wk0
░░░░░░░░░░
github stars17
███░░░░░░░
first seenMar 17, 2026
└────────────

┌ repo

TerminalSkills/skills
by TerminalSkills
└────────────

┌ tags

└────────────