This guide starts with a small crew that summarizes a supplied project brief. The target output is a short summary plus a list of unanswered questions. It is deliberately narrower than an autonomous research system and does not need permission to publish or change external data.

1. Prepare the development environment

Follow CrewAI's current installation documentation for a supported Python version and the uv dependency tool. The installation page checked for this guide lists Python 3.10 or later, below 3.14. Install the CLI with the command below and record the version you use. [2]

uv tool install crewai

Use a separate project directory. Keep a copy of the chosen documentation version with your development notes, because generated scaffolds and configuration formats can change between releases.

2. Generate a starter crew

Create a project called brief_review and enter its directory. The current CLI documentation describes JSON-first crew scaffolding, with agent definitions under agents and crew settings in crew.jsonc. Older tutorials may show a different layout. [2]

crewai create crew brief_review

cd brief_review

Inspect the generated files before editing them. Keep the starter structure and change only what is needed for the exercise. Do not combine a JSON-first tutorial with an older Python/YAML scaffold without checking the matching documentation.

3. Give the agent a narrow responsibility

Edit the generated agent definition so its role is to summarize the supplied project brief. Define the goal as identifying the requested outcome, constraints, and unanswered questions. Avoid instructions that encourage filling gaps with plausible details. The agent documentation explains the available configuration fields. [4]

For the first attempt, provide a short non-sensitive brief with several facts you can verify manually. Include one missing detail on purpose, such as an unspecified launch date, so you can check whether the agent reports uncertainty.

4. Define the task and expected result

In the crew configuration, set one task with a clear expected output: a concise summary, the constraints explicitly stated in the brief, and questions that need a human answer. Use the task reference to match field names and output options to your installed version. [5]

Make the acceptance rule concrete. Every claimed fact must be traceable to the brief; the absent launch date must remain unknown. Do not add a second agent until you can explain what independent responsibility it would have.

5. Configure access and run locally

Configure the model provider and required credentials using the generated project's environment setup. The official quickstart explains that keys depend on the model and tools selected. This exercise does not require adding a search tool merely because a research example uses one. [3]

Install the project dependencies and run from its root using the documented CLI workflow. [3]

crewai install

crewai run

If execution fails, check provider configuration and the actual error before changing the task. Keep credentials out of shared output and source control.

6. Evaluate before expanding

Compare the result with the brief line by line. Repeat with a contradictory brief and an empty or incomplete input. Record factual errors, missing questions, and run cost. These are proposed checks; we did not execute this project for the article.

When the crew works consistently, consider a flow to manage surrounding state and execution. [6] Add ordinary code for input validation and output checks. Expand one responsibility at a time, keeping the original examples as regression cases.

Continue reading

CrewAI tool profile

Read the editorial review

Sources and verification

Official sources checked on September 19, 2026. Product plans and interfaces may change.

[1] CrewAI product overview

[2] Installation and project scaffolding

[3] CrewAI quickstart

[4] Agents

[5] Tasks

[6] Flows

[7] Platform pricing