Skip to content

Skill · doctrine · framework-choice

Pick a framework

Pick the thinnest library that supplies a missing primitive (checkpoints, types, harness, MCP, documents, handoffs). Use when choosing LangGraph, CrewAI, OpenAI Agents SDK, Mastra, Pydantic AI, LlamaIndex, OpenHands, AutoGen, or the user is shopping by stars / asking LangGraph vs CrewAI.

GET /api/canon/skills/framework-choice?format=md

Stars are a floor, not a ranking. Contribution-free clones with disabled PRs exist. One orchestrator. Libraries for missing primitives only.

When

The raw loop works and you still need one primitive. Not before evals. Not because a README went viral.

Do

  1. 01

    Name the missing primitive

    Checkpoints → LangGraph or Mastra. Types → Pydantic AI. Handoffs → OpenAI Agents SDK. Code-act → smolagents+E2B. Documents → LlamaIndex. Coding/research product → a harness (Codex, OpenHands, Cline, Deep Agents). If none, stay on the raw loop.

  2. 02

    Keep ownership

    You can still print the prompt, pause the run, and swap the model. If not, you bought a box.

  3. 03

    One orchestrator

    Do not mix LangGraph plus CrewAI plus AutoGen in one process.

Don't

  • Pick the viral harness of the week.
  • Rewrite the company around a framework before the golden set exists.
  • Run two prompt stacks and two retry policies.

Hard rules

  • Evals first. Raw loop second. Framework last.
  • Coding work starts from a harness, not a blank graph.
  • Read the atlas contribution, not the star count.

Refuse

Load with this

Load next

Trigger tests

Should fire

  • LangGraph vs CrewAI vs Agents SDK?
  • Which framework should we use?
  • Is AutoGen production ready?

Should not

  • Which frontend framework?
  • Should we use Redis?