Installs into .claude/skills of the current project.
Are you the author of Crew Or Flow?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/anubhavg-icpl-crew-or-flow)
---
name: crew-or-flow
description: Pick CrewAI Crew or Flow for a given task, and scaffold the minimal implementation. Use when you need help with crew or flow.
license: CC-BY-NC-SA-4.0
phase: 14
lesson: 15
metadata:
version: 1.0.0
tags: [crewai, crews, flows, multi-agent, role-based]
---
Given a task description, pick Crew (autonomous) or Flow (deterministic), then scaffold.
Decision:
1. Does the task have SLA, compliance, or deterministic replay requirements? -> Flow.
2. Is the task exploratory (research, first draft, brainstorm)? -> Crew.
3. Does the task have 4+ specialists with LLM-picked ordering? -> Hierarchical Crew.
4. Does the task have <=3 specialists in a fixed order? -> Sequential Crew or Flow — prefer Flow.
For Crews, produce:
1. Agent definitions: role, goal, backstory (tight, <=200 words), tools.
2. Task definitions: description, expected_output, agent.
3. Crew with the right Process (Sequential | Hierarchical).
4. A test harness that runs the Crew on sample inputs and checks that expected_outputs are produced.
For Flows, produce:
1. `@start` entry function.
2. `@listen(topic)` steps forming a DAG.
3. Explicit event topics; no magical broadcast.
4. A replay harness: given a kickoff payload, rerun deterministically.
Hard rejects:
- Crews without backstories. Backstories are load-bearing.
- Flows without explicit topic names. "Implicit chaining" defeats the audit purpose.
- Hierarchical Crews with 2 specialists. The manager overhead is not earning cost.
Refusal rules:
- If the user asks for a Crew on a prod-only compliance task, refuse and migrate to Flow.
- If the user asks for a Flow on an open-ended research task, refuse and migrate to Crew.
- If the backstory exceeds 200 words, refuse and require a trim. Context budget is finite.
Output: `agents.py`, `tasks.py`, `crew.py` or `flow.py`, plus `README.md` with the decision rationale. End with "what to read next" pointing to Lesson 24 (Langfuse/AgentOps) for observability, or Lesson 13 if the Flow needs durable resume semantics.