{
  "meta": {
    "name": "best-of-Agent-Harnesses",
    "description": "Hand-curated, ranked list of AI agent harnesses, orchestration frameworks, and harness techniques.",
    "url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses",
    "site_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/",
    "llms_txt_url": "https://raw.githubusercontent.com/RyanAlberts/best-of-Agent-Harnesses/main/llms.txt",
    "jsonld_url": "https://raw.githubusercontent.com/RyanAlberts/best-of-Agent-Harnesses/main/harnesses.jsonld",
    "feed_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/feed.json",
    "license": "CC-BY-SA-4.0",
    "stars_captured": "2026-06-21",
    "project_count": 110,
    "tiers": [
      "super simple",
      "mostly simple",
      "slightly complex",
      "complex"
    ],
    "tier_help": "Adoption surface area, least to most: tier_rank 1 = format-only/single concept, 4 = platform with its own runtime and ecosystem.",
    "autonomy_tiers": [
      "step-gated",
      "checkpoint-gated",
      "bounded",
      "headless"
    ],
    "autonomy_help": "Designed autonomy regime, least to most: rank 1 = human approves each action, 4 = built for unattended runs and fleets. rank 0 / 'n/a' = doesn't own an agent loop.",
    "recovery_tiers": [
      "none",
      "retry",
      "resumable",
      "durable"
    ],
    "recovery_help": "Behavior when a run dies mid-task, weakest to strongest: rank 1 = start over, 4 = persisted execution state survives restarts. rank 0 / 'n/a' = doesn't execute."
  },
  "categories": [
    {
      "id": "progressive-disclosure",
      "title": "Progressive disclosure harnesses",
      "subtitle": "Formats, runtimes, and patterns that reveal context, tools, or instructions in layers—index first, details on demand—to control tokens and improve agent focus (the \"map, not encyclopedia\" principle)."
    },
    {
      "id": "coding-agent-products",
      "title": "Coding agent products (IDEs, CLIs, full suites)",
      "subtitle": "Turnkey coding agents you install and run: IDE extensions, terminal CLIs, Dockerized workspaces. Each entry notes which part is the harness (the agent loop, tool wiring, approval model) versus the UI shell (VS Code extension, TUI, browser client)."
    },
    {
      "id": "coding-harness-configs",
      "title": "Coding harness configs and SDKs",
      "subtitle": "Skill packs, slash-command libraries, meta-prompting frameworks, and official SDKs that give you the harness (the agent loop, planning, memory, hooks) without bundling a specific IDE or CLI shell."
    },
    {
      "id": "personal-agent-runtimes",
      "title": "Personal agent runtimes",
      "subtitle": "Always-on, self-hosted agents you run as a daemon and talk to from chat apps: gateway runtimes, second brains, and self-improving assistants. The agent as a product you operate, not a library you build with."
    },
    {
      "id": "frameworks",
      "title": "Frameworks",
      "subtitle": "General-purpose agent and LLM application frameworks (the app layer, not harnesses per se)."
    },
    {
      "id": "multi-agent",
      "title": "Multi-agent and orchestration",
      "subtitle": "Harnesses and patterns for multi-agent coordination and handoffs."
    },
    {
      "id": "plugins-mcp-cli",
      "title": "Plugins, MCPs, CLI tools",
      "subtitle": "IDE plugins, concrete MCP servers, and CLI tools that give agents tools and context."
    },
    {
      "id": "evaluation",
      "title": "Evaluation and benchmarking harnesses",
      "subtitle": "Agentic eval systems, reasoning benchmarks, and open agent benchmarks."
    },
    {
      "id": "research-task",
      "title": "Research and task-specific harnesses",
      "subtitle": "Deep research, document QA, and domain-specific agent loops."
    },
    {
      "id": "libraries-sdks",
      "title": "Libraries and SDKs",
      "subtitle": "Lightweight runtimes, tool loops, and provider-agnostic harness primitives."
    }
  ],
  "use_cases": [
    {
      "intent": "I want a turnkey coding agent today",
      "picks": [
        "anomalyco/opencode",
        "cline/cline",
        "openai/codex",
        "google-gemini/gemini-cli",
        "OpenHands/OpenHands",
        "charmbracelet/crush",
        "RooCodeInc/Roo-Code"
      ],
      "category_title": "Coding agent products (IDEs, CLIs, full suites)"
    },
    {
      "intent": "I want an always-on personal agent that lives in my chat apps",
      "picks": [
        "openclaw/openclaw",
        "NousResearch/hermes-agent",
        "khoj-ai/khoj",
        "agent0ai/agent-zero",
        "HKUDS/OpenHarness"
      ],
      "category_title": "Personal agent runtimes"
    },
    {
      "intent": "I want to extend Claude Code, Codex, or OpenCode with skills and slash commands",
      "picks": [
        "anthropics/skills",
        "affaan-m/ECC",
        "obra/superpowers",
        "garrytan/gstack",
        "RyanAlberts/pmstack"
      ],
      "category_title": "Coding harness configs and SDKs"
    },
    {
      "intent": "I want to build my own coding harness from scratch",
      "picks": [
        "anthropics/claude-agent-sdk-python",
        "google/adk-python",
        "aiming-lab/AutoHarness",
        "SWE-agent/SWE-agent",
        "QuantaAlpha/RepoMaster",
        "HarnessLab/claw-code-agent"
      ],
      "category_title": "Coding harness configs and SDKs"
    },
    {
      "intent": "I want a drop-in memory layer for agents",
      "picks": [
        "mem0ai/mem0",
        "thedotmack/claude-mem",
        "RyanAlberts/agentlog",
        "agno-agi/agno",
        "letta-ai/letta"
      ],
      "category_title": "Plugins, MCPs, CLI tools"
    },
    {
      "intent": "I want to plug hundreds to thousands of tools without context bloat",
      "picks": [
        "xfey/MCP-Zero",
        "Reason-Wang/ToolGen",
        "antl3x/ToolRAG",
        "langchain-ai/langgraph-bigtool",
        "spring-ai-community/spring-ai-tool-search-tool"
      ],
      "category_title": "Progressive disclosure harnesses"
    },
    {
      "intent": "I want multi-agent orchestration",
      "picks": [
        "openai/openai-agents-python",
        "crewAIInc/crewAI",
        "microsoft/autogen",
        "microsoft/agent-framework",
        "MervinPraison/PraisonAI",
        "2FastLabs/agent-squad"
      ],
      "category_title": "Multi-agent and orchestration"
    },
    {
      "intent": "I want a general LLM app framework",
      "picks": [
        "langchain-ai/langgraph",
        "langchain-ai/langchain",
        "run-llama/llama_index",
        "pydantic/pydantic-ai",
        "agno-agi/agno"
      ],
      "category_title": "Frameworks"
    },
    {
      "intent": "I want low-code / visual workflows",
      "picks": [
        "langflow-ai/langflow",
        "FlowiseAI/Flowise",
        "langgenius/dify",
        "n8n-io/n8n"
      ],
      "category_title": "Frameworks"
    },
    {
      "intent": "I want browser-using agents",
      "picks": [
        "browser-use/browser-use",
        "MinorJerry/WebVoyager",
        "withLinda/puppeteer-real-browser-mcp-server"
      ],
      "category_title": "Plugins, MCPs, CLI tools"
    },
    {
      "intent": "I want sandboxed code execution for agent-generated code",
      "picks": [
        "e2b-dev/E2B",
        "daytonaio/daytona",
        "huggingface/smolagents",
        "OpenHands/OpenHands"
      ],
      "category_title": "Libraries and SDKs"
    },
    {
      "intent": "I want to evaluate or benchmark agents",
      "picks": [
        "SWE-bench/SWE-bench",
        "GAIR-NLP/AgencyBench",
        "UKGovernmentBEIS/inspect_ai",
        "web-arena-x/webarena",
        "arcprize/ARC-AGI-2",
        "meituan-longcat/vitabench"
      ],
      "category_title": "Evaluation and benchmarking harnesses"
    },
    {
      "intent": "I want a deep research / autonomous research agent",
      "picks": [
        "langchain-ai/deepagents",
        "assafelovic/gpt-researcher",
        "OpenAgentsInc/openagents"
      ],
      "category_title": "Research and task-specific harnesses"
    },
    {
      "intent": "I want a provider-agnostic LLM pipe (not a framework)",
      "picks": [
        "BerriAI/litellm",
        "vercel/ai"
      ],
      "category_title": "Libraries and SDKs"
    }
  ],
  "faq": [
    {
      "kind": "use-case",
      "q": "What is the best agent harness if I want a turnkey coding agent today?",
      "a": "Top picks: opencode, Cline, Codex. See the “Coding agent products (IDEs, CLIs, full suites)” category for the full ranked list.",
      "slug": "what-is-the-best-agent-harness-if-i-want-a-turnkey-coding-agent-today"
    },
    {
      "kind": "use-case",
      "q": "What is the best agent harness if I want an always-on personal agent that lives in my chat apps?",
      "a": "Top picks: OpenClaw, Hermes, Khoj. See the “Personal agent runtimes” category for the full ranked list.",
      "slug": "what-is-the-best-agent-harness-if-i-want-an-always-on-personal-agent-that-lives-in-my-chat-apps"
    },
    {
      "kind": "use-case",
      "q": "What is the best agent harness if I want to extend Claude Code, Codex, or OpenCode with skills and slash commands?",
      "a": "Top picks: Anthropic Skills, everything-claude-code, superpowers. See the “Coding harness configs and SDKs” category for the full ranked list.",
      "slug": "what-is-the-best-agent-harness-if-i-want-to-extend-claude-code-codex-or-opencode-with-skills-and-slash-commands"
    },
    {
      "kind": "use-case",
      "q": "What is the best agent harness if I want to build my own coding harness from scratch?",
      "a": "Top picks: Claude Agent SDK, Google ADK, AutoHarness. See the “Coding harness configs and SDKs” category for the full ranked list.",
      "slug": "what-is-the-best-agent-harness-if-i-want-to-build-my-own-coding-harness-from-scratch"
    },
    {
      "kind": "use-case",
      "q": "What is the best agent harness if I want a drop-in memory layer for agents?",
      "a": "Top picks: Mem0, claude-mem, agentlog. See the “Plugins, MCPs, CLI tools” category for the full ranked list.",
      "slug": "what-is-the-best-agent-harness-if-i-want-a-drop-in-memory-layer-for-agents"
    },
    {
      "kind": "use-case",
      "q": "What is the best agent harness if I want to plug hundreds to thousands of tools without context bloat?",
      "a": "Top picks: MCP-Zero, ToolGen, ToolRAG. See the “Progressive disclosure harnesses” category for the full ranked list.",
      "slug": "what-is-the-best-agent-harness-if-i-want-to-plug-hundreds-to-thousands-of-tools-without-context-bloat"
    },
    {
      "kind": "use-case",
      "q": "What is the best agent harness if I want multi-agent orchestration?",
      "a": "Top picks: openai-agents-python, crewAI, autogen. See the “Multi-agent and orchestration” category for the full ranked list.",
      "slug": "what-is-the-best-agent-harness-if-i-want-multi-agent-orchestration"
    },
    {
      "kind": "use-case",
      "q": "What is the best agent harness if I want a general LLM app framework?",
      "a": "Top picks: langgraph, langchain, llama-index. See the “Frameworks” category for the full ranked list.",
      "slug": "what-is-the-best-agent-harness-if-i-want-a-general-llm-app-framework"
    },
    {
      "kind": "use-case",
      "q": "What is the best agent harness if I want low-code / visual workflows?",
      "a": "Top picks: langflow, Flowise, Dify. See the “Frameworks” category for the full ranked list.",
      "slug": "what-is-the-best-agent-harness-if-i-want-low-code-visual-workflows"
    },
    {
      "kind": "use-case",
      "q": "What is the best agent harness if I want browser-using agents?",
      "a": "Top picks: browser-use, WebVoyager, puppeteer-real-browser-mcp. See the “Plugins, MCPs, CLI tools” category for the full ranked list.",
      "slug": "what-is-the-best-agent-harness-if-i-want-browser-using-agents"
    },
    {
      "kind": "use-case",
      "q": "What is the best agent harness if I want sandboxed code execution for agent-generated code?",
      "a": "Top picks: E2B, Daytona, smolagents. See the “Libraries and SDKs” category for the full ranked list.",
      "slug": "what-is-the-best-agent-harness-if-i-want-sandboxed-code-execution-for-agent-generated-code"
    },
    {
      "kind": "use-case",
      "q": "What is the best agent harness if I want to evaluate or benchmark agents?",
      "a": "Top picks: SWE-bench, AgencyBench, inspect_ai. See the “Evaluation and benchmarking harnesses” category for the full ranked list.",
      "slug": "what-is-the-best-agent-harness-if-i-want-to-evaluate-or-benchmark-agents"
    },
    {
      "kind": "use-case",
      "q": "What is the best agent harness if I want a deep research / autonomous research agent?",
      "a": "Top picks: deepagents, gpt-researcher, openagents. See the “Research and task-specific harnesses” category for the full ranked list.",
      "slug": "what-is-the-best-agent-harness-if-i-want-a-deep-research-autonomous-research-agent"
    },
    {
      "kind": "use-case",
      "q": "What is the best agent harness if I want a provider-agnostic LLM pipe (not a framework)?",
      "a": "Top picks: LiteLLM, vercel/ai. See the “Libraries and SDKs” category for the full ranked list.",
      "slug": "what-is-the-best-agent-harness-if-i-want-a-provider-agnostic-llm-pipe-not-a-framework"
    },
    {
      "kind": "derived",
      "q": "Which agent harnesses can run unattended (headless)?",
      "a": "Harnesses designed for unattended runs, batches, and fleets: opencode, OpenHands, goose, SWE-agent, Claude Agent SDK, RepoMaster, OpenClaw, Hermes.",
      "slug": "which-agent-harnesses-can-run-unattended-headless"
    },
    {
      "kind": "derived",
      "q": "Which agent harnesses survive a crash mid-task (durable)?",
      "a": "Harnesses whose execution state persists across restarts: langgraph-bigtool, n8n, langgraph, mastra, letta, deepagents, pydantic-ai, Cloudflare Agents.",
      "slug": "which-agent-harnesses-survive-a-crash-mid-task-durable"
    },
    {
      "kind": "derived",
      "q": "How many of these agent harnesses are open source?",
      "a": "96 of 110 carry a standard open-source license; the rest are source-available or unclear, and flagged per row.",
      "slug": "how-many-of-these-agent-harnesses-are-open-source"
    },
    {
      "kind": "concept",
      "q": "What is an agent harness?",
      "a": "The runtime that turns a model into an agent: it decides what the model's reasoning is allowed to touch, and supplies the orchestration, tool wiring, memory, error recovery, and guardrails around per-turn inference.",
      "slug": "what-is-an-agent-harness"
    },
    {
      "kind": "concept",
      "q": "How is this list ranked?",
      "a": "By relevance to harness concerns (environment, orchestration, lifecycle, guardrails) and by GitHub stars (captured 2026-06-21); each project also carries an adoption-surface tier and autonomy/recovery scores.",
      "slug": "how-is-this-list-ranked"
    },
    {
      "kind": "concept",
      "q": "How can an AI agent use this list directly?",
      "a": "Three machine-readable surfaces: harnesses.json (structured), llms.txt (one file), and an MCP server (uvx agent-harnesses-mcp) exposing pick_harness and search_harnesses.",
      "slug": "how-can-an-ai-agent-use-this-list-directly"
    }
  ],
  "comparisons": [
    {
      "slug": "how-to-pick-a-harness",
      "title": "How to pick a harness",
      "summary": "Six questions, in order. Each one eliminates most of the list; by the end you should be choosing between two or three projects, not 103. The [use-case index](../README.md#pick-by-use-case), the [landscape charts](../README.md#the-landscape-at-a-glance), and the head-to-head pages do the heavy liftin",
      "url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses/blob/main/comparisons/how-to-pick-a-harness.md",
      "raw_url": "https://raw.githubusercontent.com/RyanAlberts/best-of-Agent-Harnesses/main/comparisons/how-to-pick-a-harness.md"
    },
    {
      "slug": "memory-layers",
      "title": "Agent memory layers: Mem0 vs Letta vs claude-mem",
      "summary": "\"Add memory to my agent\" hides three different products: a **memory API** you call from any agent (Mem0), an **agent runtime** where memory is the core abstraction (Letta), and a **plugin** that gives one specific harness perfect recall (claude-mem). They're barely competitors — the comparison that ",
      "url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses/blob/main/comparisons/memory-layers.md",
      "raw_url": "https://raw.githubusercontent.com/RyanAlberts/best-of-Agent-Harnesses/main/comparisons/memory-layers.md"
    },
    {
      "slug": "multi-agent-orchestration",
      "title": "Multi-agent orchestration: OpenAI Agents SDK vs CrewAI vs AutoGen vs LangGraph",
      "summary": "Four very different answers to \"how should multiple agents coordinate?\" — and the differences are architectural, not cosmetic. Picking wrong here is expensive: the coordination model shapes your whole codebase.",
      "url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses/blob/main/comparisons/multi-agent-orchestration.md",
      "raw_url": "https://raw.githubusercontent.com/RyanAlberts/best-of-Agent-Harnesses/main/comparisons/multi-agent-orchestration.md"
    },
    {
      "slug": "openclaw-vs-hermes",
      "title": "OpenClaw vs Hermes: the always-on personal-agent debate",
      "summary": "The loudest harness argument of 2026. Both are open-source (MIT), self-hosted, always-on personal agents you talk to from chat apps — and they're two of the most-starred projects on this entire list. The flame war treats them as rivals; the architecture says they're opposite design philosophies that",
      "url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses/blob/main/comparisons/openclaw-vs-hermes.md",
      "raw_url": "https://raw.githubusercontent.com/RyanAlberts/best-of-Agent-Harnesses/main/comparisons/openclaw-vs-hermes.md"
    },
    {
      "slug": "terminal-coding-agents",
      "title": "Terminal coding agents: opencode vs Codex vs Gemini CLI vs crush vs goose",
      "summary": "The most-asked pick in this list: *\"I want a turnkey coding agent in my terminal today.\"* These five are the open(ish)-source field. The closed first-party products (Claude Code, Cursor's agent) aren't list entries, but they define the workflow all five implement: a tool-call loop with file edit, sh",
      "url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses/blob/main/comparisons/terminal-coding-agents.md",
      "raw_url": "https://raw.githubusercontent.com/RyanAlberts/best-of-Agent-Harnesses/main/comparisons/terminal-coding-agents.md"
    }
  ],
  "projects": [
    {
      "name": "awesome-cursorrules",
      "github_id": "PatrickJS/awesome-cursorrules",
      "url": "https://github.com/PatrickJS/awesome-cursorrules",
      "slug": "awesome-cursorrules",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#awesome-cursorrules",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/awesome-cursorrules/",
      "description": "Curated .cursorrules and skills that leverage Cursor's index-then-load model; the canonical collection for rules-as-progressive-disclosure in the IDE.",
      "category": "progressive-disclosure",
      "category_title": "Progressive disclosure harnesses",
      "stars": 40047,
      "tier": "super simple",
      "tier_rank": 1,
      "axis": "super simple (content bundle)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "ide"
      ],
      "example": {
        "label": "PyTorch cursorrules",
        "url": "https://github.com/PatrickJS/awesome-cursorrules/blob/main/rules/pytorch-scikit-learn-cursorrules-prompt-file.mdc"
      }
    },
    {
      "name": "agents.md",
      "github_id": "agentsmd/agents.md",
      "url": "https://github.com/agentsmd/agents.md",
      "slug": "agentsmd",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#agentsmd",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/agentsmd/",
      "description": "Open format for repo-scoped agent briefings; v1.1 adds hierarchical scope and progressive disclosure so agents get a map of what exists, then load only what's relevant.",
      "category": "progressive-disclosure",
      "category_title": "Progressive disclosure harnesses",
      "stars": 22377,
      "tier": "super simple",
      "tier_rank": 1,
      "axis": "super simple (format only)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "typescript"
      ],
      "example": {
        "label": "Self-hosting AGENTS.md",
        "url": "https://github.com/agentsmd/agents.md/blob/main/AGENTS.md"
      }
    },
    {
      "name": "langgraph-bigtool",
      "github_id": "langchain-ai/langgraph-bigtool",
      "url": "https://github.com/langchain-ai/langgraph-bigtool",
      "slug": "langgraph-bigtool",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#langgraph-bigtool",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/langgraph-bigtool/",
      "description": "Build LangGraph agents with large tool sets; retrieval and on-demand tool loading so agents scale beyond context without stuffing every schema upfront.",
      "category": "progressive-disclosure",
      "category_title": "Progressive disclosure harnesses",
      "stars": 542,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (large tool sets)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "durable",
      "recovery_rank": 4,
      "license_signal": "open-source",
      "tags": [
        "tool-discovery",
        "python"
      ],
      "example": {
        "label": "Math-library tool agent",
        "url": "https://github.com/langchain-ai/langgraph-bigtool#quickstart"
      }
    },
    {
      "name": "MCP-Zero",
      "github_id": "xfey/MCP-Zero",
      "url": "https://github.com/xfey/MCP-Zero",
      "slug": "mcp-zero",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#mcp-zero",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/mcp-zero/",
      "description": "Active tool discovery for autonomous agents: model requests tools by requirement; hierarchical semantic routing over 308 servers / 2,797 tools with ~98% token reduction (APIBank).",
      "category": "progressive-disclosure",
      "category_title": "Progressive disclosure harnesses",
      "stars": 489,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (3k tools, full routing)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "open-source",
      "tags": [
        "tool-discovery"
      ],
      "example": {
        "label": "APIBank experiment",
        "url": "https://github.com/xfey/MCP-Zero/blob/master/MCP-zero/experiment_apibank.py"
      }
    },
    {
      "name": "ToolGen",
      "github_id": "Reason-Wang/ToolGen",
      "url": "https://github.com/Reason-Wang/ToolGen",
      "slug": "toolgen",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#toolgen",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/toolgen/",
      "description": "ICLR 2025: unified tool retrieval and calling via generation; 47k+ tools without context stuffing—retrieval and invocation in one generative step.",
      "category": "progressive-disclosure",
      "category_title": "Progressive disclosure harnesses",
      "stars": 180,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (47k+ tools)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "unknown",
      "tags": [
        "tool-discovery",
        "python"
      ],
      "example": {
        "label": "Full eval pipeline",
        "url": "https://github.com/Reason-Wang/ToolGen/blob/master/scripts/eval_full_pipeline.sh"
      }
    },
    {
      "name": "spring-ai-tool-search-tool",
      "github_id": "spring-ai-community/spring-ai-tool-search-tool",
      "url": "https://github.com/spring-ai-community/spring-ai-tool-search-tool",
      "slug": "spring-ai-tool-search-tool",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#spring-ai-tool-search-tool",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/spring-ai-tool-search-tool/",
      "description": "Dynamic tool discovery for Spring AI: model gets a search tool first, then pulls definitions for relevant tools; 34–64% token reduction across providers.",
      "category": "progressive-disclosure",
      "category_title": "Progressive disclosure harnesses",
      "stars": 74,
      "tier": "mostly simple",
      "tier_rank": 2,
      "axis": "mostly simple (search-then-load)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "tool-discovery"
      ],
      "example": {
        "label": "Tool Search demo app",
        "url": "https://github.com/spring-ai-community/spring-ai-tool-search-tool/tree/main/examples/tool-search-tool-demo"
      }
    },
    {
      "name": "ToolRAG",
      "github_id": "antl3x/ToolRAG",
      "url": "https://github.com/antl3x/ToolRAG",
      "slug": "toolrag",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#toolrag",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/toolrag/",
      "description": "Semantic tool retrieval for LLMs; serves only the tools the user query demands (MCP-compatible), unlimited tool sets with zero context penalty.",
      "category": "progressive-disclosure",
      "category_title": "Progressive disclosure harnesses",
      "stars": 28,
      "tier": "mostly simple",
      "tier_rank": 2,
      "axis": "mostly simple (query-driven retrieval)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "mcp",
        "tool-discovery"
      ],
      "example": {
        "label": "MCP server retrieval",
        "url": "https://github.com/antl3x/ToolRAG/blob/main/packages/%40antl3x-toolrag/README.md"
      }
    },
    {
      "name": "opencode",
      "github_id": "anomalyco/opencode",
      "url": "https://github.com/anomalyco/opencode",
      "slug": "opencode",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#opencode",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/opencode/",
      "description": "Open-source terminal coding agent (formerly `sst/opencode`; transferred to anomalyco). The **harness** is a multi-provider tool-call loop (Claude, OpenAI, Gemini, local) with strong plugin and MCP support; the TUI is the shell. 100% OSS, very actively shipped.",
      "category": "coding-agent-products",
      "category_title": "Coding agent products (IDEs, CLIs, full suites)",
      "stars": 176860,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (multi-provider, plugins, MCP)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "mcp",
        "provider-agnostic",
        "cli",
        "tui",
        "typescript"
      ],
      "example": {
        "label": "Agent system page",
        "url": "https://opencode.ai/docs/agents/"
      }
    },
    {
      "name": "Gemini CLI",
      "github_id": "google-gemini/gemini-cli",
      "url": "https://github.com/google-gemini/gemini-cli",
      "slug": "gemini-cli",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#gemini-cli",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/gemini-cli/",
      "description": "Google's first-party terminal agent for Gemini. The **harness** is the plugin/MCP tool-call loop; the terminal is the shell—Google's parallel to Claude Code / Codex, not just an API.",
      "category": "coding-agent-products",
      "category_title": "Coding agent products (IDEs, CLIs, full suites)",
      "stars": 105466,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (official CLI, plugins, MCP)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "mcp",
        "cli",
        "typescript"
      ],
      "example": {
        "label": "MCP server setup",
        "url": "https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/mcp-server.md"
      }
    },
    {
      "name": "Codex",
      "github_id": "openai/codex",
      "url": "https://github.com/openai/codex",
      "slug": "codex",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#codex",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/codex/",
      "description": "OpenAI's terminal coding agent. The **harness** is the sandboxed tool-call loop with multi-provider support; the CLI is the shell. Reference implementation for \"official CLI that ships code.\"",
      "category": "coding-agent-products",
      "category_title": "Coding agent products (IDEs, CLIs, full suites)",
      "stars": 92433,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (reference CLI, sandboxed)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "sandbox",
        "provider-agnostic",
        "cli"
      ],
      "example": {
        "label": "Sandboxing concept",
        "url": "https://developers.openai.com/codex/concepts/sandboxing"
      }
    },
    {
      "name": "OpenHands",
      "github_id": "OpenHands/OpenHands",
      "url": "https://github.com/OpenHands/OpenHands",
      "slug": "openhands",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#openhands",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/openhands/",
      "description": "Dockerized software-engineering agent. The **harness** is the bash/editor/browser toolset with micro-agents and event-stream session bridging; Docker is the sandbox. Main OSS choice for teams self-hosting autonomous repo work.",
      "category": "coding-agent-products",
      "category_title": "Coding agent products (IDEs, CLIs, full suites)",
      "stars": 77890,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (Docker runtime, multi-surface agent — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "restricted ((multi-license))",
      "tags": [
        "memory",
        "browser",
        "sandbox",
        "python"
      ],
      "example": {
        "label": "Repository microagents",
        "url": "https://docs.all-hands.dev/usage/prompting/microagents-repo"
      }
    },
    {
      "name": "Open Interpreter",
      "github_id": "openinterpreter/openinterpreter",
      "url": "https://github.com/openinterpreter/openinterpreter",
      "slug": "openinterpreter",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#openinterpreter",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/openinterpreter/",
      "description": "Lightweight terminal coding agent oriented to open models (DeepSeek, Kimi, Qwen). The **harness** is a code-execution loop — the model writes code, the harness executes it with confirmation gates; the CLI is the shell. The original \"let the LLM run code on my machine\" project, reborn for open weights.",
      "category": "coding-agent-products",
      "category_title": "Coding agent products (IDEs, CLIs, full suites)",
      "stars": 64074,
      "tier": "mostly simple",
      "tier_rank": 2,
      "axis": "mostly simple (lean code-exec loop)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "cli",
        "python"
      ],
      "example": {
        "label": "Quick start",
        "url": "https://github.com/openinterpreter/openinterpreter#readme"
      }
    },
    {
      "name": "Cline",
      "github_id": "cline/cline",
      "url": "https://github.com/cline/cline",
      "slug": "cline",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#cline",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/cline/",
      "description": "VS Code extension whose **harness** is a plan-then-act loop with per-step human approval and cost transparency; the VS Code integration is the UI shell. Open-source counterweight to Cursor.",
      "category": "coding-agent-products",
      "category_title": "Coding agent products (IDEs, CLIs, full suites)",
      "stars": 63602,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (plan-then-act, approval gates)",
      "autonomy": "step-gated",
      "autonomy_rank": 1,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "ide",
        "typescript"
      ],
      "example": {
        "label": "Plan & Act mode",
        "url": "https://docs.cline.bot/features/plan-and-act"
      }
    },
    {
      "name": "goose",
      "github_id": "aaif-goose/goose",
      "url": "https://github.com/aaif-goose/goose",
      "slug": "goose",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#goose",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/goose/",
      "description": "Block-originated Rust agent, now stewarded by the Linux Foundation's Agentic AI Foundation (`aaif-goose/goose`). The **harness** is the MCP/ACP extension model with recipes and provider choice; there's no fixed UI slot—you bolt it into whatever shell you use.",
      "category": "coding-agent-products",
      "category_title": "Coding agent products (IDEs, CLIs, full suites)",
      "stars": 49959,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (extensions, MCP/ACP)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "mcp",
        "rust"
      ],
      "example": {
        "label": "Goose recipes guide",
        "url": "https://block.github.io/goose/docs/guides/recipes/"
      }
    },
    {
      "name": "crush",
      "github_id": "charmbracelet/crush",
      "url": "https://github.com/charmbracelet/crush",
      "slug": "crush",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#crush",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/crush/",
      "description": "Charm's terminal coding agent (Charm's fork of the original OpenCode). The **harness** is the tool-calling loop with session persistence; the Bubble Tea TUI is the shell.",
      "category": "coding-agent-products",
      "category_title": "Coding agent products (IDEs, CLIs, full suites)",
      "stars": 25547,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (terminal agent, TUI)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "restricted (FSL-1.1-MIT)",
      "tags": [
        "memory",
        "cli",
        "tui"
      ],
      "example": {
        "label": "Crush launch post",
        "url": "https://charm.land/blog/crush-comes-home/"
      }
    },
    {
      "name": "Roo Code",
      "github_id": "RooCodeInc/Roo-Code",
      "url": "https://github.com/RooCodeInc/Roo-Code",
      "slug": "roo-code",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#roo-code",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/roo-code/",
      "description": "VS Code/Cursor extension in the Cline lineage. The **harness** is the approval-gated agent with custom modes and a strong MCP story; the IDE is the UI. Popular community fork when you want that workflow without the upstream extension.",
      "category": "coding-agent-products",
      "category_title": "Coding agent products (IDEs, CLIs, full suites)",
      "stars": 24250,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (IDE extension, MCP-first)",
      "autonomy": "step-gated",
      "autonomy_rank": 1,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "mcp",
        "workflow",
        "ide",
        "typescript"
      ],
      "example": {
        "label": "Custom modes guide",
        "url": "https://docs.roocode.com/features/custom-modes"
      }
    },
    {
      "name": "claw-code-agent",
      "github_id": "HarnessLab/claw-code-agent",
      "url": "https://github.com/HarnessLab/claw-code-agent",
      "slug": "claw-code-agent",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#claw-code-agent",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/claw-code-agent/",
      "description": "Python reimplementation of the Claude Code agent architecture with zero external dependencies; interactive chat, streaming, plugin runtime, nested agent delegation, cost tracking, MCP transport—portable harness without the Rust/TS toolchain.",
      "category": "coding-agent-products",
      "category_title": "Coding agent products (IDEs, CLIs, full suites)",
      "stars": 515,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (pure Python, plugin runtime)",
      "autonomy": "checkpoint-gated",
      "autonomy_rank": 2,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "unknown",
      "tags": [
        "mcp",
        "rust",
        "python",
        "typescript"
      ],
      "example": {
        "label": "Quick Start guide",
        "url": "https://github.com/HarnessLab/claw-code-agent#-quick-start"
      }
    },
    {
      "name": "coderClaw",
      "github_id": "SeanHogg/BuilderForceAgents",
      "url": "https://github.com/SeanHogg/BuilderForceAgents",
      "slug": "builderforceagents",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#builderforceagents",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/builderforceagents/",
      "description": "Self-hosted multi-role coding system (Creator, Reviewer, Test, Refactor, etc.) with AST and semantic maps; IDE-agnostic, chat-channel triggers.",
      "category": "coding-agent-products",
      "category_title": "Coding agent products (IDEs, CLIs, full suites)",
      "stars": 3,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (multi-role, AST/semantic)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "unknown",
      "tags": [
        "ide",
        "typescript"
      ],
      "example": {
        "label": "Multi-agent README",
        "url": "https://github.com/SeanHogg/BuilderForceAgents#readme"
      }
    },
    {
      "name": "superpowers",
      "github_id": "obra/superpowers",
      "url": "https://github.com/obra/superpowers",
      "slug": "superpowers",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#superpowers",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/superpowers/",
      "description": "Performance-oriented harness pack for Claude Code, Codex, OpenCode, Cursor: skills, instincts, memory, security, research-first workflows. Treats harness engineering itself as the performance lever.",
      "category": "coding-harness-configs",
      "category_title": "Coding harness configs and SDKs",
      "stars": 234709,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (multi-IDE skill stack — product suite)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "memory",
        "ide"
      ],
      "example": {
        "label": "TDD skill",
        "url": "https://github.com/obra/superpowers/blob/main/skills/test-driven-development/SKILL.md"
      }
    },
    {
      "name": "everything-claude-code",
      "github_id": "affaan-m/ECC",
      "url": "https://github.com/affaan-m/ECC",
      "slug": "ecc",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#ecc",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/ecc/",
      "description": "The breakout 2026 harness pack for Claude Code: 28 specialized subagents, 119 reusable skills, 60 slash commands, 34 rules, 20+ automated hooks. Ships a full \"AI engineering team\" as config.",
      "category": "coding-harness-configs",
      "category_title": "Coding harness configs and SDKs",
      "stars": 219099,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (subagents + skills + hooks — product suite)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "multi-agent"
      ],
      "example": {
        "label": "autonomous-agent-harness skill",
        "url": "https://github.com/affaan-m/ECC/blob/main/skills/autonomous-agent-harness/SKILL.md"
      }
    },
    {
      "name": "Anthropic Skills",
      "github_id": "anthropics/skills",
      "url": "https://github.com/anthropics/skills",
      "slug": "skills",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#skills",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/skills/",
      "description": "Anthropic's official Agent Skills repository: SKILL.md-based folders (instructions, scripts, resources) Claude dynamically loads on Claude Code, Claude.ai, and the API. The reference for progressive-disclosure skill packs in 2026.",
      "category": "coding-harness-configs",
      "category_title": "Coding harness configs and SDKs",
      "stars": 153410,
      "tier": "mostly simple",
      "tier_rank": 2,
      "axis": "mostly simple (official skills format)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [],
      "example": {
        "label": "docx skill",
        "url": "https://github.com/anthropics/skills/blob/main/skills/docx/SKILL.md"
      }
    },
    {
      "name": "GStack",
      "github_id": "garrytan/gstack",
      "url": "https://github.com/garrytan/gstack",
      "slug": "gstack",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#gstack",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/gstack/",
      "description": "Garry Tan's Claude Code skill stack: 23 slash-command modes (CEO/eng/design review, QA, ship, browse, retro, …) that structure one assistant as a virtual engineering team. Daily driver while running YC.",
      "category": "coding-harness-configs",
      "category_title": "Coding harness configs and SDKs",
      "stars": 112152,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (multi-role slash-command harness)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "typescript"
      ],
      "example": {
        "label": "/ship SKILL.md",
        "url": "https://github.com/garrytan/gstack/blob/main/ship/SKILL.md"
      }
    },
    {
      "name": "get-shit-done",
      "github_id": "gsd-build/get-shit-done",
      "url": "https://github.com/gsd-build/get-shit-done",
      "slug": "get-shit-done",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#get-shit-done",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/get-shit-done/",
      "description": "Goal-backward planning and wave-based execution over fresh context windows; avoids context rot by design. Python/JS meta-prompting for Claude Code, OpenCode, Gemini CLI.",
      "category": "coding-harness-configs",
      "category_title": "Coding harness configs and SDKs",
      "stars": 64408,
      "tier": "mostly simple",
      "tier_rank": 2,
      "axis": "mostly simple (meta-prompting, you own stack)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "cli",
        "python"
      ],
      "example": {
        "label": "gsd:ship command",
        "url": "https://github.com/gsd-build/get-shit-done/blob/main/commands/gsd/ship.md"
      }
    },
    {
      "name": "SWE-agent",
      "github_id": "SWE-agent/SWE-agent",
      "url": "https://github.com/SWE-agent/SWE-agent",
      "slug": "swe-agent",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#swe-agent",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/swe-agent/",
      "description": "LM-driven harness built for SWE-bench: edit state, command execution, and issue-focused loop—the reference agent stack next to the benchmark itself.",
      "category": "coding-harness-configs",
      "category_title": "Coding harness configs and SDKs",
      "stars": 19578,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (SWE-bench pairing, stateful edits)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "memory",
        "evals",
        "python"
      ],
      "example": {
        "label": "Default agent config",
        "url": "https://github.com/SWE-agent/SWE-agent/blob/main/config/default.yaml"
      }
    },
    {
      "name": "Claude Agent SDK",
      "github_id": "anthropics/claude-agent-sdk-python",
      "url": "https://github.com/anthropics/claude-agent-sdk-python",
      "slug": "claude-agent-sdk-python",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#claude-agent-sdk-python",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/claude-agent-sdk-python/",
      "description": "Official Anthropic SDK (Python + [TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript), [demos](https://github.com/anthropics/claude-agent-sdk-demos), [quickstarts](https://github.com/anthropics/claude-quickstarts)): built-in tools, MCP, long-running coding agents with session bridging.",
      "category": "coding-harness-configs",
      "category_title": "Coding harness configs and SDKs",
      "stars": 7372,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (full SDK, session bridging — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "mcp",
        "memory",
        "python",
        "typescript"
      ],
      "example": {
        "label": "Research agent demo",
        "url": "https://github.com/anthropics/claude-agent-sdk-demos/blob/main/research-agent/research_agent/agent.py"
      }
    },
    {
      "name": "RepoMaster",
      "github_id": "QuantaAlpha/RepoMaster",
      "url": "https://github.com/QuantaAlpha/RepoMaster",
      "slug": "repomaster",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#repomaster",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/repomaster/",
      "description": "Repo-scoped research harness: builds function-call and module-dependency graphs to explore only what's needed; large relative gains on MLE-bench and GitTaskBench with lower token use.",
      "category": "coding-harness-configs",
      "category_title": "Coding harness configs and SDKs",
      "stars": 529,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (graph-based exploration)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "unknown",
      "tags": [
        "workflow",
        "python"
      ],
      "example": {
        "label": "PDF-parse case study",
        "url": "https://github.com/QuantaAlpha/RepoMaster/blob/main/example/pdf_parse.md"
      }
    },
    {
      "name": "AutoHarness",
      "github_id": "aiming-lab/AutoHarness",
      "url": "https://github.com/aiming-lab/AutoHarness",
      "slug": "autoharness",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#autoharness",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/autoharness/",
      "description": "Lightweight governance harness: wraps any LLM client in ~2 lines for automated harness engineering—6–14 step pipeline, YAML constitution, risk-pattern matching, session persistence with cost tracking, multi-agent profiles.",
      "category": "coding-harness-configs",
      "category_title": "Coding harness configs and SDKs",
      "stars": 326,
      "tier": "super simple",
      "tier_rank": 1,
      "axis": "super simple (2-line wrapper, YAML gov)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "open-source",
      "tags": [
        "memory",
        "multi-agent",
        "provider-agnostic",
        "python"
      ],
      "example": {
        "label": "Full pipeline demo",
        "url": "https://github.com/aiming-lab/AutoHarness/blob/main/examples/full_pipeline_demo.py"
      }
    },
    {
      "name": "pmstack",
      "github_id": "RyanAlberts/pmstack",
      "url": "https://github.com/RyanAlberts/pmstack",
      "slug": "pmstack",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#pmstack",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/pmstack/",
      "description": "Claude Code config for AI product managers: CLAUDE.md plus skills for competitive analysis, PRD-from-signal, metric frameworks, stakeholder briefs, and agent eval design. \"GStack for PMs.\"",
      "category": "coding-harness-configs",
      "category_title": "Coding harness configs and SDKs",
      "stars": 2,
      "tier": "super simple",
      "tier_rank": 1,
      "axis": "super simple (skills bundle, PM-focused)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "evals"
      ],
      "example": {
        "label": "PRD-from-signal skill",
        "url": "https://github.com/RyanAlberts/pmstack/blob/main/skills/prd-from-signal.md"
      }
    },
    {
      "name": "OpenClaw",
      "github_id": "openclaw/openclaw",
      "url": "https://github.com/openclaw/openclaw",
      "slug": "openclaw",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#openclaw",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/openclaw/",
      "description": "Self-hosted, always-on personal agent (formerly Clawdbot/Moltbot): a gateway + event-loop runtime that treats messages, heartbeats, crons, and webhooks as one input queue, persists state to local files, and lives in your chat apps (WhatsApp, Telegram, Slack, Discord). 13,700+ community skills; the fastest-growing repo in GitHub history.",
      "category": "personal-agent-runtimes",
      "category_title": "Personal agent runtimes",
      "stars": 379767,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (always-on runtime, channels, skill ecosystem — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "typescript",
        "multi-agent"
      ],
      "example": {
        "label": "Agent runtime architecture",
        "url": "https://github.com/openclaw/openclaw/blob/main/docs/agent-runtime-architecture.md"
      }
    },
    {
      "name": "Hermes",
      "github_id": "NousResearch/hermes-agent",
      "url": "https://github.com/NousResearch/hermes-agent",
      "slug": "hermes-agent",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#hermes-agent",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/hermes-agent/",
      "description": "Nous Research's self-improving agent: a learning loop turns experience into reusable skills, builds a persistent user model across sessions, and checkpoints state to disk with rollback; lean enough for a $5 VPS, driven from chat, and model-agnostic (Nous Portal, OpenRouter, OpenAI, or any endpoint).",
      "category": "personal-agent-runtimes",
      "category_title": "Personal agent runtimes",
      "stars": 198701,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (lean runtime, learning loop, disk-first memory)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "memory",
        "python",
        "provider-agnostic"
      ],
      "example": {
        "label": "Built-in skills",
        "url": "https://github.com/NousResearch/hermes-agent/tree/main/skills"
      }
    },
    {
      "name": "Khoj",
      "github_id": "khoj-ai/khoj",
      "url": "https://github.com/khoj-ai/khoj",
      "slug": "khoj",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#khoj",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/khoj/",
      "description": "Self-hostable \"AI second brain\": answers over your docs and the web, custom agents, scheduled automations, and multi-client reach (web, Obsidian, Emacs, WhatsApp). A personal-agent harness with retrieval at the core.",
      "category": "personal-agent-runtimes",
      "category_title": "Personal agent runtimes",
      "stars": 35229,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (server + clients — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "python"
      ],
      "example": {
        "label": "Feature tour",
        "url": "https://github.com/khoj-ai/khoj#readme"
      }
    },
    {
      "name": "Eliza",
      "github_id": "elizaOS/eliza",
      "url": "https://github.com/elizaOS/eliza",
      "slug": "eliza",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#eliza",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/eliza/",
      "description": "Open \"agentic operating system\" (elizaOS): persistent multi-agent runtime with character files, a plugin ecosystem, and social/platform integrations — the harness behind a large share of autonomous social agents.",
      "category": "personal-agent-runtimes",
      "category_title": "Personal agent runtimes",
      "stars": 18609,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (runtime + plugin ecosystem — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "memory",
        "multi-agent",
        "typescript"
      ],
      "example": {
        "label": "Agent quickstart",
        "url": "https://github.com/elizaOS/eliza#readme"
      }
    },
    {
      "name": "Agent Zero",
      "github_id": "agent0ai/agent-zero",
      "url": "https://github.com/agent0ai/agent-zero",
      "slug": "agent-zero",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#agent-zero",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/agent-zero/",
      "description": "Organic, prompt-defined personal agent framework: hierarchical sub-agents, persistent memory, browser and code tools, and self-modifying behavior; runs in Docker with a web UI.",
      "category": "personal-agent-runtimes",
      "category_title": "Personal agent runtimes",
      "stars": 18141,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (prompt-defined, Docker + web UI)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "unknown",
      "tags": [
        "memory",
        "multi-agent",
        "browser",
        "sandbox",
        "python"
      ],
      "example": {
        "label": "Framework tour",
        "url": "https://github.com/agent0ai/agent-zero#readme"
      }
    },
    {
      "name": "OpenHarness (HKUDS)",
      "github_id": "HKUDS/OpenHarness",
      "url": "https://github.com/HKUDS/OpenHarness",
      "slug": "openharness",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#openharness",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/openharness/",
      "description": "Open agent harness with a built-in personal agent (\"Ohmo\") that runs across Feishu, Slack, Telegram, and Discord; core tool-use, skills, memory, multi-agent coordination with auto-compaction for multi-day sessions.",
      "category": "personal-agent-runtimes",
      "category_title": "Personal agent runtimes",
      "stars": 14036,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (personal agent + multi-channel — product suite)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "memory",
        "multi-agent"
      ],
      "example": {
        "label": "harness-eval skill",
        "url": "https://github.com/HKUDS/OpenHarness/blob/main/.claude/skills/harness-eval/SKILL.md"
      }
    },
    {
      "name": "AIlice",
      "github_id": "myshell-ai/AIlice",
      "url": "https://github.com/myshell-ai/AIlice",
      "slug": "ailice",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#ailice",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/ailice/",
      "description": "Fully autonomous general-purpose agent; one binary, Docker-ready, for when you want \"set goal and walk away\" without a framework.",
      "category": "personal-agent-runtimes",
      "category_title": "Personal agent runtimes",
      "stars": 1408,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (autonomous, one binary)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "open-source",
      "tags": [
        "sandbox",
        "python"
      ],
      "example": {
        "label": "Task showcase",
        "url": "https://github.com/myshell-ai/AIlice#cool-things-we-can-do"
      }
    },
    {
      "name": "n8n",
      "github_id": "n8n-io/n8n",
      "url": "https://github.com/n8n-io/n8n",
      "slug": "n8n",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#n8n",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/n8n/",
      "description": "Fair-code workflow engine with 400+ nodes and native AI nodes; the self-hosted Zapier that actually does agents and LangChain.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 193435,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (400+ nodes, workflow engine — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "durable",
      "recovery_rank": 4,
      "license_signal": "restricted (Fair-code)",
      "tags": [
        "workflow",
        "local",
        "typescript"
      ],
      "example": {
        "label": "Agent vs chain workflow",
        "url": "https://github.com/n8n-io/n8n-docs/blob/main/docs/advanced-ai/examples/agent-chain-comparison.md"
      }
    },
    {
      "name": "AutoGPT",
      "github_id": "Significant-Gravitas/AutoGPT",
      "url": "https://github.com/Significant-Gravitas/AutoGPT",
      "slug": "autogpt",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#autogpt",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/autogpt/",
      "description": "The original autonomous loop: goal in, agent iterates with tools and memory; Forge is the dev framework, Benchmark the eval harness.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 185053,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (autonomous loop, tools, memory — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "restricted (Polyform-SU)",
      "tags": [
        "memory",
        "evals",
        "python"
      ],
      "example": {
        "label": "Medium blogger graph",
        "url": "https://github.com/Significant-Gravitas/AutoGPT/blob/master/autogpt_platform/graph_templates/Medium%20Blogger_v28.json"
      }
    },
    {
      "name": "langflow",
      "github_id": "langflow-ai/langflow",
      "url": "https://github.com/langflow-ai/langflow",
      "slug": "langflow",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#langflow",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/langflow/",
      "description": "Low-code UI to build and deploy LangChain/LangGraph flows; visual DAG editor and one-click run.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 149901,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (low-code, visual — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "retry",
      "recovery_rank": 2,
      "license_signal": "open-source",
      "tags": [
        "low-code",
        "python"
      ],
      "example": {
        "label": "Chat with RAG flow",
        "url": "https://github.com/langflow-ai/langflow/blob/main/docs/docs/Tutorials/chat-with-rag.mdx"
      }
    },
    {
      "name": "Dify",
      "github_id": "langgenius/dify",
      "url": "https://github.com/langgenius/dify",
      "slug": "dify",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#dify",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/dify/",
      "description": "One-stop LLM app platform: visual workflows, RAG pipeline, 50+ tools, model management; \"ship from prototype to prod\" in a single UI.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 146034,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (one-stop platform — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "retry",
      "recovery_rank": 2,
      "license_signal": "restricted (Fair-code)",
      "tags": [
        "low-code",
        "rag",
        "python"
      ],
      "example": {
        "label": "Customer-service bot",
        "url": "https://github.com/langgenius/dify-docs/blob/main/en/use-dify/tutorials/customer-service-bot.mdx"
      }
    },
    {
      "name": "langchain",
      "github_id": "langchain-ai/langchain",
      "url": "https://github.com/langchain-ai/langchain",
      "slug": "langchain",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#langchain",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/langchain/",
      "description": "Chains, tools, retrievers, and agents; the usual entry point for \"add tools to an LLM\" in Python/JS.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 139807,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (kitchen-sink ecosystem — product suite)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "retry",
      "recovery_rank": 2,
      "license_signal": "open-source",
      "tags": [
        "python"
      ],
      "example": {
        "label": "Build an agent notebook",
        "url": "https://github.com/langchain-ai/langchain-academy/blob/main/module-1/agent.ipynb"
      }
    },
    {
      "name": "browser-use",
      "github_id": "browser-use/browser-use",
      "url": "https://github.com/browser-use/browser-use",
      "slug": "browser-use",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#browser-use",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/browser-use/",
      "description": "Python layer over Playwright: natural-language goals become browser actions—web-agent loop without hand-rolling MCP or a custom driver for every site.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 99855,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (LLM + browser, Playwright)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "retry",
      "recovery_rank": 2,
      "license_signal": "open-source",
      "tags": [
        "mcp",
        "browser",
        "python"
      ],
      "example": {
        "label": "Grocery shopping agent",
        "url": "https://github.com/browser-use/browser-use/blob/main/examples/use-cases/shopping.py"
      }
    },
    {
      "name": "Flowise",
      "github_id": "FlowiseAI/Flowise",
      "url": "https://github.com/FlowiseAI/Flowise",
      "slug": "flowise",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#flowise",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/flowise/",
      "description": "Drag-and-drop LangChain UI; deploy flows without code. The low-code sibling to Langflow, with a different component and hosting story.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 53865,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (low-code, drag-drop — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "retry",
      "recovery_rank": 2,
      "license_signal": "restricted (Apache+CLA)",
      "tags": [
        "low-code",
        "typescript"
      ],
      "example": {
        "label": "Agentic RAG flow",
        "url": "https://github.com/FlowiseAI/Flowise/blob/main/packages/server/marketplaces/agentflowsv2/Agentic%20RAG.json"
      }
    },
    {
      "name": "llama-index",
      "github_id": "run-llama/llama_index",
      "url": "https://github.com/run-llama/llama_index",
      "slug": "llama_index",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#llama_index",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/llama_index/",
      "description": "Data-centric: indexing, RAG, and query engines; agent abstractions sit on top of your data pipelines.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 50250,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (RAG + agents — product suite)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "retry",
      "recovery_rank": 2,
      "license_signal": "open-source",
      "tags": [
        "rag",
        "python"
      ],
      "example": {
        "label": "Research assistant workflow",
        "url": "https://github.com/run-llama/llama_index/blob/main/docs/examples/agent/agent_workflow_research_assistant.ipynb"
      }
    },
    {
      "name": "agno",
      "github_id": "agno-agi/agno",
      "url": "https://github.com/agno-agi/agno",
      "slug": "agno",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#agno",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/agno/",
      "description": "Python agents with memory, knowledge bases, tools, and structured outputs; continues the PhiData-era product line under the Agno name—production apps, evals, and pipelines.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 40785,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (memory, KB, observability — product suite)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "memory",
        "evals",
        "python"
      ],
      "example": {
        "label": "Agent with tools",
        "url": "https://github.com/agno-agi/agno/blob/main/cookbook/02_agents/01_quickstart/agent_with_tools.py"
      }
    },
    {
      "name": "langgraph",
      "github_id": "langchain-ai/langgraph",
      "url": "https://github.com/langchain-ai/langgraph",
      "slug": "langgraph",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#langgraph",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/langgraph/",
      "description": "State-machine graphs over LLM steps; checkpointing, human-in-the-loop, and durable execution so workflows survive restarts.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 35345,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (graphs, checkpointing, durable exec)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "durable",
      "recovery_rank": 4,
      "license_signal": "open-source",
      "tags": [
        "workflow",
        "python"
      ],
      "example": {
        "label": "Customer support agent",
        "url": "https://github.com/langchain-ai/langgraph/blob/main/examples/customer-support/customer-support.ipynb"
      }
    },
    {
      "name": "semantic-kernel",
      "github_id": "microsoft/semantic-kernel",
      "url": "https://github.com/microsoft/semantic-kernel",
      "slug": "semantic-kernel",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#semantic-kernel",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/semantic-kernel/",
      "description": "Microsoft's plugin and planner layer for LLMs; C#, Python, Java; strong on enterprise auth and orchestration.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 28170,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (enterprise, multi-language — product suite)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "retry",
      "recovery_rank": 2,
      "license_signal": "open-source",
      "tags": [
        "python"
      ],
      "example": {
        "label": "Chat completion agent",
        "url": "https://github.com/microsoft/semantic-kernel/blob/main/python/samples/getting_started_with_agents/chat_completion/step01_chat_completion_agent_simple.py"
      }
    },
    {
      "name": "mastra",
      "github_id": "mastra-ai/mastra",
      "url": "https://github.com/mastra-ai/mastra",
      "slug": "mastra",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#mastra",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/mastra/",
      "description": "TypeScript-first; agents, tools, and workflows with a single runtime and minimal boilerplate.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 25292,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (TS-first, minimal boilerplate)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "durable",
      "recovery_rank": 4,
      "license_signal": "restricted (Elastic-2.0)",
      "tags": [
        "typed",
        "typescript"
      ],
      "example": {
        "label": "Durable research agent",
        "url": "https://github.com/mastra-ai/mastra/tree/main/examples/durable-agents"
      }
    },
    {
      "name": "letta",
      "github_id": "letta-ai/letta",
      "url": "https://github.com/letta-ai/letta",
      "slug": "letta",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#letta",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/letta/",
      "description": "Python agent runtime with tool use and control flow; lean API; stateful agents with long-horizon memory.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 23444,
      "tier": "mostly simple",
      "tier_rank": 2,
      "axis": "mostly simple (lean API)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "durable",
      "recovery_rank": 4,
      "license_signal": "open-source",
      "tags": [
        "memory",
        "python"
      ],
      "example": {
        "label": "Loop .af agent file",
        "url": "https://github.com/letta-ai/agent-file/tree/main/agents/%40letta-ai/loop"
      }
    },
    {
      "name": "rasa",
      "github_id": "RasaHQ/rasa",
      "url": "https://github.com/RasaHQ/rasa",
      "slug": "rasa",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#rasa",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/rasa/",
      "description": "Conversational AI stack (NLU, dialogue, actions); long-standing OSS choice for chat and voice bots.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 21217,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (full stack — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "voice",
        "python"
      ],
      "example": {
        "label": "Sara conversational demo",
        "url": "https://github.com/RasaHQ/rasa-demo"
      }
    },
    {
      "name": "Google ADK",
      "github_id": "google/adk-python",
      "url": "https://github.com/google/adk-python",
      "slug": "adk-python",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#adk-python",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/adk-python/",
      "description": "Google's official Agent Development Kit: code-first Python toolkit for building, evaluating, and deploying agents. Optimized for Gemini but model-agnostic; deploys to Cloud Run / Vertex AI; ships a dev UI with eval and a code-execution sandbox.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 20208,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (official Google SDK, eval, deploy — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "evals",
        "sandbox",
        "python"
      ],
      "example": {
        "label": "Travel concierge agent",
        "url": "https://github.com/google/adk-samples/tree/main/python/agents/travel-concierge"
      }
    },
    {
      "name": "botpress",
      "github_id": "botpress/botpress",
      "url": "https://github.com/botpress/botpress",
      "slug": "botpress",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#botpress",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/botpress/",
      "description": "Visual bot builder and runtime; multi-channel, open-source alternative to commercial bot platforms.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 14748,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (visual builder, multi-channel — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "low-code",
        "typescript"
      ],
      "example": {
        "label": "Inter-bot delegation",
        "url": "https://github.com/botpress/v12/tree/master/examples/interbot"
      }
    },
    {
      "name": "R2R",
      "github_id": "SciPhi-AI/R2R",
      "url": "https://github.com/SciPhi-AI/R2R",
      "slug": "r2r",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#r2r",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/r2r/",
      "description": "RAG-first: hybrid search, knowledge graphs, multimodal; the framework for \"production RAG\" when you care more about retrieval than chat UI.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 7891,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (production RAG — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "retry",
      "recovery_rank": 2,
      "license_signal": "open-source",
      "tags": [
        "vision",
        "rag",
        "workflow",
        "python"
      ],
      "example": {
        "label": "hello_r2r RAG example",
        "url": "https://github.com/SciPhi-AI/R2R/blob/main/py/core/examples/hello_r2r.py"
      }
    },
    {
      "name": "agent-squad",
      "github_id": "2FastLabs/agent-squad",
      "url": "https://github.com/2FastLabs/agent-squad",
      "slug": "agent-squad",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#agent-squad",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/agent-squad/",
      "description": "AWS-originated orchestrator (now under 2FastLabs): intent classification, streaming, SupervisorAgent; \"agent-as-tools\" so one agent delegates to a squad.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 7662,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (squad orchestration)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "multi-agent"
      ],
      "example": {
        "label": "E-commerce support sim",
        "url": "https://github.com/2FastLabs/agent-squad/tree/main/examples/ecommerce-support-simulator"
      }
    },
    {
      "name": "AgentVerse",
      "github_id": "OpenBMB/AgentVerse",
      "url": "https://github.com/OpenBMB/AgentVerse",
      "slug": "agentverse",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#agentverse",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/agentverse/",
      "description": "Task-solving and simulation envs for multi-LLM agents; deploy many agents in custom environments without building infra from scratch.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 5065,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (simulation envs, multi-agent — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "open-source",
      "tags": [
        "multi-agent",
        "python"
      ],
      "example": {
        "label": "NLP classroom sim",
        "url": "https://github.com/OpenBMB/AgentVerse/blob/main/agentverse/tasks/simulation/nlp_classroom_9players/config.yaml"
      }
    },
    {
      "name": "Bee Agent Framework",
      "github_id": "i-am-bee/beeai-framework",
      "url": "https://github.com/i-am-bee/beeai-framework",
      "slug": "beeai-framework",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#beeai-framework",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/beeai-framework/",
      "description": "Python + TypeScript, LF AI–backed; MCP/ACP, workflows, Requirement Agent; the one that pushes \"production multi-agent\" without LangChain.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 3301,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (production multi-agent — product suite)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "mcp",
        "multi-agent",
        "python",
        "typescript"
      ],
      "example": {
        "label": "ReAct agent example",
        "url": "https://github.com/i-am-bee/beeai-framework/blob/main/python/examples/agents/react.py"
      }
    },
    {
      "name": "AgentStack",
      "github_id": "agentstack-ai/AgentStack",
      "url": "https://github.com/agentstack-ai/AgentStack",
      "slug": "agentstack",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#agentstack",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/agentstack/",
      "description": "Scaffolds full agent projects; plugs in CrewAI, LangGraph, OpenAI Swarm, LlamaStack and wires AgentOps observability from day one.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 2165,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (scaffold, multi-backend)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [],
      "example": {
        "label": "Research assistant crew",
        "url": "https://github.com/agentstack-ai/AgentStack/tree/main/examples/research_assistant"
      }
    },
    {
      "name": "AgentSilex",
      "github_id": "howl-anderson/agentsilex",
      "url": "https://github.com/howl-anderson/agentsilex",
      "slug": "agentsilex",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#agentsilex",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/agentsilex/",
      "description": "~300 lines of readable agent code on top of LiteLLM; the \"I want to see the whole loop\" option for learning or minimal production.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 451,
      "tier": "super simple",
      "tier_rank": 1,
      "axis": "super simple (~300 LOC)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "open-source",
      "tags": [
        "python"
      ],
      "example": {
        "label": "Simple weather agent",
        "url": "https://github.com/howl-anderson/agentsilex/blob/main/demo/simple_agent.py"
      }
    },
    {
      "name": "SuperAgentX",
      "github_id": "superagentxai/superagentx",
      "url": "https://github.com/superagentxai/superagentx",
      "slug": "superagentx",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#superagentx",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/superagentx/",
      "description": "Lightweight multi-agent orchestrator with an AGI-angle; minimal surface, docs-first, for teams that want orchestration without the kitchen sink.",
      "category": "frameworks",
      "category_title": "Frameworks",
      "stars": 200,
      "tier": "mostly simple",
      "tier_rank": 2,
      "axis": "mostly simple (minimal surface)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "open-source",
      "tags": [
        "multi-agent",
        "python"
      ],
      "example": {
        "label": "Parallel marketing agents",
        "url": "https://github.com/superagentxai/superagentx/blob/master/examples/agents/parallel_agents.py"
      }
    },
    {
      "name": "MetaGPT",
      "github_id": "FoundationAgents/MetaGPT",
      "url": "https://github.com/FoundationAgents/MetaGPT",
      "slug": "metagpt",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#metagpt",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/metagpt/",
      "description": "The \"AI software company\" multi-agent framework: role-played PM, architect, and engineer agents turn a one-line requirement into specs, designs, and code along an SOP assembly line. The landmark of the genre; development pace has slowed in 2026.",
      "category": "multi-agent",
      "category_title": "Multi-agent and orchestration",
      "stars": 68935,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (role pipeline, SOPs — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "multi-agent",
        "python"
      ],
      "example": {
        "label": "Build a customized agent",
        "url": "https://github.com/FoundationAgents/MetaGPT/blob/main/examples/build_customized_agent.py"
      }
    },
    {
      "name": "autogen",
      "github_id": "microsoft/autogen",
      "url": "https://github.com/microsoft/autogen",
      "slug": "autogen",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#autogen",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/autogen/",
      "description": "Conversable agents and group chats; code execution and human-in-the-loop; Microsoft origin, AG2 ecosystem.",
      "category": "multi-agent",
      "category_title": "Multi-agent and orchestration",
      "stars": 59102,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (group chat, code exec, AG2 — product suite)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "multi-agent",
        "python"
      ],
      "example": {
        "label": "Distributed group chat",
        "url": "https://github.com/microsoft/autogen/tree/main/python/samples/core_distributed-group-chat"
      }
    },
    {
      "name": "crewAI",
      "github_id": "crewAIInc/crewAI",
      "url": "https://github.com/crewAIInc/crewAI",
      "slug": "crewai",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#crewai",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/crewai/",
      "description": "Role-based agents (roles, goals, backstories) in Crews; Flows add event-driven and hierarchical control for production.",
      "category": "multi-agent",
      "category_title": "Multi-agent and orchestration",
      "stars": 54070,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (roles, Flows, production — product suite)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "python"
      ],
      "example": {
        "label": "Trip planner crew",
        "url": "https://github.com/crewAIInc/crewAI-examples/blob/main/crews/trip_planner/trip_agents.py"
      }
    },
    {
      "name": "ChatDev",
      "github_id": "OpenBMB/ChatDev",
      "url": "https://github.com/OpenBMB/ChatDev",
      "slug": "chatdev",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#chatdev",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/chatdev/",
      "description": "Multi-agent software-company simulation (CEO, CTO, programmer, tester) built on chat chains with communicative dehallucination; ChatDev 2.0 continues the line. MetaGPT's conversational sibling.",
      "category": "multi-agent",
      "category_title": "Multi-agent and orchestration",
      "stars": 33516,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (chat-chain simulation)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "open-source",
      "tags": [
        "python"
      ],
      "example": {
        "label": "Company simulation quickstart",
        "url": "https://github.com/OpenBMB/ChatDev#readme"
      }
    },
    {
      "name": "openai-agents-python",
      "github_id": "openai/openai-agents-python",
      "url": "https://github.com/openai/openai-agents-python",
      "slug": "openai-agents-python",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#openai-agents-python",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/openai-agents-python/",
      "description": "Handoffs, guardrails, and multi-LLM routing; minimal surface so you own the loop.",
      "category": "multi-agent",
      "category_title": "Multi-agent and orchestration",
      "stars": 27294,
      "tier": "mostly simple",
      "tier_rank": 2,
      "axis": "mostly simple (minimal surface)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "python"
      ],
      "example": {
        "label": "Airline customer service handoffs",
        "url": "https://github.com/openai/openai-agents-python/blob/main/examples/customer_service/main.py"
      }
    },
    {
      "name": "Microsoft Agent Framework",
      "github_id": "microsoft/agent-framework",
      "url": "https://github.com/microsoft/agent-framework",
      "slug": "agent-framework",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#agent-framework",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/agent-framework/",
      "description": "Microsoft's convergence of AutoGen and Semantic Kernel: build, orchestrate, and deploy agents and multi-agent workflows in Python and .NET, with graph-based workflows and checkpointing — the designated successor harness for both lines.",
      "category": "multi-agent",
      "category_title": "Multi-agent and orchestration",
      "stars": 11515,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (Python/.NET SDK, graph workflows)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "multi-agent",
        "workflow",
        "python"
      ],
      "example": {
        "label": "Python samples",
        "url": "https://github.com/microsoft/agent-framework/tree/main/python/samples"
      }
    },
    {
      "name": "PraisonAI",
      "github_id": "MervinPraison/PraisonAI",
      "url": "https://github.com/MervinPraison/PraisonAI",
      "slug": "praisonai",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#praisonai",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/praisonai/",
      "description": "Autonomous multi-agent teams with a single entry point; emphasis on minimal config.",
      "category": "multi-agent",
      "category_title": "Multi-agent and orchestration",
      "stars": 8201,
      "tier": "mostly simple",
      "tier_rank": 2,
      "axis": "mostly simple (single entry, minimal config)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "open-source",
      "tags": [
        "multi-agent",
        "python"
      ],
      "example": {
        "label": "Orchestrator-workers pattern",
        "url": "https://github.com/MervinPraison/PraisonAI/blob/main/examples/python/general/orchestrator-workers.py"
      }
    },
    {
      "name": "AgentRL",
      "github_id": "THUDM/AgentRL",
      "url": "https://github.com/THUDM/AgentRL",
      "slug": "agentrl",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#agentrl",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/agentrl/",
      "description": "Multitask, multiturn RL for LLM agents; Ray-based scaling, rollout/actor workers—for teams that want to train agents, not just run them.",
      "category": "multi-agent",
      "category_title": "Multi-agent and orchestration",
      "stars": 302,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (RL, Ray, train agents — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "training",
        "python"
      ],
      "example": {
        "label": "Async GRPO trainer",
        "url": "https://github.com/THUDM/AgentRL/blob/main/examples/training/async_trainer.py"
      }
    },
    {
      "name": "claude-mem",
      "github_id": "thedotmack/claude-mem",
      "url": "https://github.com/thedotmack/claude-mem",
      "slug": "claude-mem",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#claude-mem",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/claude-mem/",
      "description": "Claude Code plugin that captures everything an agent does during a session, AI-compresses it (via claude-agent-sdk), and injects the relevant context into future sessions—session-to-session memory as a drop-in.",
      "category": "plugins-mcp-cli",
      "category_title": "Plugins, MCPs, CLI tools",
      "stars": 83509,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (session capture + compression)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "memory"
      ],
      "example": {
        "label": "Lifecycle hooks config",
        "url": "https://github.com/thedotmack/claude-mem/blob/main/plugin/hooks/hooks.json"
      }
    },
    {
      "name": "aider",
      "github_id": "Aider-AI/aider",
      "url": "https://github.com/Aider-AI/aider",
      "slug": "aider",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#aider",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/aider/",
      "description": "Git-aware CLI pair programmer; edits in-repo, supports multiple models and MCP so agents see version control and tools.",
      "category": "plugins-mcp-cli",
      "category_title": "Plugins, MCPs, CLI tools",
      "stars": 46527,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (CLI, git-aware, MCP)",
      "autonomy": "checkpoint-gated",
      "autonomy_rank": 2,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "mcp",
        "cli",
        "python"
      ],
      "example": {
        "label": "Repo map source",
        "url": "https://github.com/Aider-AI/aider/blob/main/aider/repomap.py"
      }
    },
    {
      "name": "continue",
      "github_id": "continuedev/continue",
      "url": "https://github.com/continuedev/continue",
      "slug": "continue",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#continue",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/continue/",
      "description": "Open-source IDE extension (VS Code, JetBrains); in-editor completion and chat with local or API models.",
      "category": "plugins-mcp-cli",
      "category_title": "Plugins, MCPs, CLI tools",
      "stars": 34221,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (IDE extension, multi-editor — product suite)",
      "autonomy": "checkpoint-gated",
      "autonomy_rank": 2,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "ide",
        "typescript"
      ],
      "example": {
        "label": "VS Code extension demos",
        "url": "https://github.com/continuedev/continue/blob/main/extensions/vscode/README.md"
      }
    },
    {
      "name": "github-mcp-server",
      "github_id": "github/github-mcp-server",
      "url": "https://github.com/github/github-mcp-server",
      "slug": "github-mcp-server",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#github-mcp-server",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/github-mcp-server/",
      "description": "GitHub's official MCP server (Go): repos, issues, PRs, code search, Actions. Replaces the older community `cyanheads/github-mcp-server` as the canonical way to give agents GitHub access.",
      "category": "plugins-mcp-cli",
      "category_title": "Plugins, MCPs, CLI tools",
      "stars": 30856,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (official GitHub MCP)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "mcp"
      ],
      "example": {
        "label": "Remote server toolsets",
        "url": "https://github.com/github/github-mcp-server/blob/main/docs/remote-server.md"
      }
    },
    {
      "name": "MCP Python SDK",
      "github_id": "modelcontextprotocol/python-sdk",
      "url": "https://github.com/modelcontextprotocol/python-sdk",
      "slug": "python-sdk",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#python-sdk",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/python-sdk/",
      "description": "Official SDK to build and consume MCP servers/clients in Python; stdio and SSE transports.",
      "category": "plugins-mcp-cli",
      "category_title": "Plugins, MCPs, CLI tools",
      "stars": 23386,
      "tier": "mostly simple",
      "tier_rank": 2,
      "axis": "mostly simple (SDK only)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "mcp",
        "python"
      ],
      "example": {
        "label": "Website fetcher server",
        "url": "https://github.com/modelcontextprotocol/python-sdk/blob/main/examples/servers/simple-tool/mcp_simple_tool/server.py"
      }
    },
    {
      "name": "MCP TypeScript SDK",
      "github_id": "modelcontextprotocol/typescript-sdk",
      "url": "https://github.com/modelcontextprotocol/typescript-sdk",
      "slug": "typescript-sdk",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#typescript-sdk",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/typescript-sdk/",
      "description": "Official MCP implementation for Node/TS; reference for the protocol.",
      "category": "plugins-mcp-cli",
      "category_title": "Plugins, MCPs, CLI tools",
      "stars": 12704,
      "tier": "mostly simple",
      "tier_rank": 2,
      "axis": "mostly simple (protocol reference)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "mcp",
        "typescript"
      ],
      "example": {
        "label": "Streamable HTTP server",
        "url": "https://github.com/modelcontextprotocol/typescript-sdk/blob/main/examples/server/src/simpleStreamableHttp.ts"
      }
    },
    {
      "name": "MCP Inspector",
      "github_id": "modelcontextprotocol/inspector",
      "url": "https://github.com/modelcontextprotocol/inspector",
      "slug": "inspector",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#inspector",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/inspector/",
      "description": "GUI to test and debug MCP servers; inspect tools, resources, and prompts.",
      "category": "plugins-mcp-cli",
      "category_title": "Plugins, MCPs, CLI tools",
      "stars": 10143,
      "tier": "super simple",
      "tier_rank": 1,
      "axis": "super simple (debug GUI)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "mcp",
        "typescript"
      ],
      "example": {
        "label": "Inspector UI walkthrough",
        "url": "https://github.com/modelcontextprotocol/inspector/blob/main/README.md"
      }
    },
    {
      "name": "MCP Registry",
      "github_id": "modelcontextprotocol/registry",
      "url": "https://github.com/modelcontextprotocol/registry",
      "slug": "registry",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#registry",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/registry/",
      "description": "Official, community-driven registry for MCP servers—the \"app store\" MCP clients use to discover servers. Maintained by Anthropic + ecosystem maintainers; v0.1 API frozen, production-grade.",
      "category": "plugins-mcp-cli",
      "category_title": "Plugins, MCPs, CLI tools",
      "stars": 6944,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (official discovery layer)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "mcp"
      ],
      "example": {
        "label": "Registry seed entries",
        "url": "https://github.com/modelcontextprotocol/registry/blob/main/data/seed.json"
      }
    },
    {
      "name": "Docker MCP Gateway",
      "github_id": "docker/mcp-gateway",
      "url": "https://github.com/docker/mcp-gateway",
      "slug": "mcp-gateway",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#mcp-gateway",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/mcp-gateway/",
      "description": "Docker's official MCP CLI plugin / gateway; container-aware MCP tooling from Docker (replaces deprecated `docker/mcp-servers` path).",
      "category": "plugins-mcp-cli",
      "category_title": "Plugins, MCPs, CLI tools",
      "stars": 1463,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (Docker-aware MCPs)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "mcp",
        "sandbox",
        "cli"
      ],
      "example": {
        "label": "Gateway usage walkthrough",
        "url": "https://github.com/docker/mcp-gateway/blob/main/docs/mcp-gateway.md"
      }
    },
    {
      "name": "puppeteer-real-browser-mcp",
      "github_id": "withLinda/puppeteer-real-browser-mcp-server",
      "url": "https://github.com/withLinda/puppeteer-real-browser-mcp-server",
      "slug": "puppeteer-real-browser-mcp-server",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#puppeteer-real-browser-mcp-server",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/puppeteer-real-browser-mcp-server/",
      "description": "Puppeteer MCP with real-browser and anti-detection; for agents that need to drive sites that block headless.",
      "category": "plugins-mcp-cli",
      "category_title": "Plugins, MCPs, CLI tools",
      "stars": 23,
      "tier": "mostly simple",
      "tier_rank": 2,
      "axis": "mostly simple (real browser, anti-detect)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "unknown",
      "tags": [
        "mcp",
        "browser",
        "typescript"
      ],
      "example": {
        "label": "11 anti-detection tools",
        "url": "https://github.com/withLinda/puppeteer-real-browser-mcp-server/blob/main/README.md"
      }
    },
    {
      "name": "Better-OpenCodeMCP",
      "github_id": "ajhcs/Better-OpenCodeMCP",
      "url": "https://github.com/ajhcs/Better-OpenCodeMCP",
      "slug": "better-opencodemcp",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#better-opencodemcp",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/better-opencodemcp/",
      "description": "MCP server for OpenCode/Crush: async task execution, model bridging (e.g. Claude→Gemini), process pooling.",
      "category": "plugins-mcp-cli",
      "category_title": "Plugins, MCPs, CLI tools",
      "stars": 8,
      "tier": "mostly simple",
      "tier_rank": 2,
      "axis": "mostly simple (MCP server, model bridging)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "mcp",
        "typescript"
      ],
      "example": {
        "label": "opencode delegate tool",
        "url": "https://github.com/ajhcs/Better-OpenCodeMCP/blob/main/src/tools/opencode.tool.ts"
      }
    },
    {
      "name": "agentlog",
      "github_id": "RyanAlberts/agentlog",
      "url": "https://github.com/RyanAlberts/agentlog",
      "slug": "agentlog",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#agentlog",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/agentlog/",
      "description": "Persistent decision memory for any project: `remember`, `recall`, `reflect`. Single-file Python CLI that stores decisions as JSONL and uses Claude or Gemini to retrieve and synthesize patterns—Karpathy's LLM Wiki concept as a CLI.",
      "category": "plugins-mcp-cli",
      "category_title": "Plugins, MCPs, CLI tools",
      "stars": 0,
      "tier": "super simple",
      "tier_rank": 1,
      "axis": "super simple (one file, three commands)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "memory",
        "cli",
        "python"
      ],
      "example": {
        "label": "Sample decisions.jsonl",
        "url": "https://github.com/RyanAlberts/agentlog/blob/main/example-log/decisions.jsonl"
      }
    },
    {
      "name": "Agent Lightning",
      "github_id": "microsoft/agent-lightning",
      "url": "https://github.com/microsoft/agent-lightning",
      "slug": "agent-lightning",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#agent-lightning",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/agent-lightning/",
      "description": "Microsoft's training-oriented harness: optimization loops for agent behavior—when you need to improve policies over rollouts, not only score a fixed prompt.",
      "category": "evaluation",
      "category_title": "Evaluation and benchmarking harnesses",
      "stars": 17322,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (agent training, Microsoft stack — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "evals",
        "training",
        "python"
      ],
      "example": {
        "label": "APO room-booking example",
        "url": "https://github.com/microsoft/agent-lightning/blob/main/examples/apo/README.md"
      }
    },
    {
      "name": "SWE-bench",
      "github_id": "SWE-bench/SWE-bench",
      "url": "https://github.com/SWE-bench/SWE-bench",
      "slug": "swe-bench",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#swe-bench",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/swe-bench/",
      "description": "LMs resolve real GitHub issues; Docker harness, instance IDs; standard for code-agent evals.",
      "category": "evaluation",
      "category_title": "Evaluation and benchmarking harnesses",
      "stars": 5218,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (real GitHub issues, standard)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "evals",
        "sandbox",
        "python"
      ],
      "example": {
        "label": "SWE-bench Verified leaderboard",
        "url": "https://www.swebench.com/verified.html"
      }
    },
    {
      "name": "AgentBench",
      "github_id": "THUDM/AgentBench",
      "url": "https://github.com/THUDM/AgentBench",
      "slug": "agentbench",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#agentbench",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/agentbench/",
      "description": "ICLR'24 benchmark: agents across AlfWorld, DB, knowledge graphs, OS, webshop; Docker Compose, function-calling interface.",
      "category": "evaluation",
      "category_title": "Evaluation and benchmarking harnesses",
      "stars": 3507,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (multi-env, Docker Compose — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "open-source",
      "tags": [
        "evals",
        "sandbox",
        "rag",
        "workflow",
        "python"
      ],
      "example": {
        "label": "AgentBench ICLR'24 paper",
        "url": "https://arxiv.org/abs/2308.03688"
      }
    },
    {
      "name": "inspect_ai",
      "github_id": "UKGovernmentBEIS/inspect_ai",
      "url": "https://github.com/UKGovernmentBEIS/inspect_ai",
      "slug": "inspect_ai",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#inspect_ai",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/inspect_ai/",
      "description": "Inspect AI core: composable eval tasks, sandboxes, scorers, and multi-model runs; the framework behind inspect_evals, not just the task bundle.",
      "category": "evaluation",
      "category_title": "Evaluation and benchmarking harnesses",
      "stars": 2228,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (eval framework, AISI stack — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "evals",
        "sandbox",
        "python"
      ],
      "example": {
        "label": "Inspect tutorial example",
        "url": "https://inspect.aisi.org.uk/tutorial.html"
      }
    },
    {
      "name": "WebArena",
      "github_id": "web-arena-x/webarena",
      "url": "https://github.com/web-arena-x/webarena",
      "slug": "webarena",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#webarena",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/webarena/",
      "description": "Realistic web env (e.g. e‑commerce, CMS, dev tools); 812 tasks; measures end-to-end web agent success.",
      "category": "evaluation",
      "category_title": "Evaluation and benchmarking harnesses",
      "stars": 1522,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (812 tasks, web env — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "open-source",
      "tags": [
        "python"
      ],
      "example": {
        "label": "WebArena leaderboard",
        "url": "https://docs.google.com/spreadsheets/d/1M801lEpBbKSNwP-vDBkC_pF7LdyGU1f_ufZb_NWNBZQ/edit"
      }
    },
    {
      "name": "WebVoyager",
      "github_id": "MinorJerry/WebVoyager",
      "url": "https://github.com/MinorJerry/WebVoyager",
      "slug": "webvoyager",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#webvoyager",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/webvoyager/",
      "description": "End-to-end web agent with LMMs: screenshots + actions on real sites; benchmark on 15 sites, GPT-4V for automatic eval.",
      "category": "evaluation",
      "category_title": "Evaluation and benchmarking harnesses",
      "stars": 1096,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (LMMs, screenshots, 15 sites)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "open-source",
      "tags": [
        "evals",
        "vision"
      ],
      "example": {
        "label": "643 web tasks dataset",
        "url": "https://github.com/MinorJerry/WebVoyager/blob/main/data/WebVoyager_data.jsonl"
      }
    },
    {
      "name": "ARC-AGI-2",
      "github_id": "arcprize/ARC-AGI-2",
      "url": "https://github.com/arcprize/ARC-AGI-2",
      "slug": "arc-agi-2",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#arc-agi-2",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/arc-agi-2/",
      "description": "ARC Prize task set: grid-based abstraction/reasoning; public and private splits for generalization.",
      "category": "evaluation",
      "category_title": "Evaluation and benchmarking harnesses",
      "stars": 715,
      "tier": "super simple",
      "tier_rank": 1,
      "axis": "super simple (task set)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [],
      "example": {
        "label": "ARC Prize leaderboard",
        "url": "https://arcprize.org/leaderboard"
      }
    },
    {
      "name": "SWE-Gym",
      "github_id": "SWE-Gym/SWE-Gym",
      "url": "https://github.com/SWE-Gym/SWE-Gym",
      "slug": "swe-gym",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#swe-gym",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/swe-gym/",
      "description": "Training and evaluation for SWE agents and verifiers (ICML 2025).",
      "category": "evaluation",
      "category_title": "Evaluation and benchmarking harnesses",
      "stars": 694,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (training + eval, ICML)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "open-source",
      "tags": [
        "evals",
        "training",
        "python"
      ],
      "example": {
        "label": "SWE-Gym ICML 2025 paper",
        "url": "https://arxiv.org/abs/2412.21139"
      }
    },
    {
      "name": "swe-smith",
      "github_id": "SWE-bench/SWE-smith",
      "url": "https://github.com/SWE-bench/SWE-smith",
      "slug": "swe-smith",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#swe-smith",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/swe-smith/",
      "description": "Data generation for SWE agents; 50k+ instances across 128 repos; used for SWE-agent-LM training.",
      "category": "evaluation",
      "category_title": "Evaluation and benchmarking harnesses",
      "stars": 681,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (50k+ instances, data gen)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "open-source",
      "tags": [
        "training",
        "python"
      ],
      "example": {
        "label": "SWE-smith trajectories",
        "url": "https://huggingface.co/datasets/SWE-bench/SWE-smith-trajectories"
      }
    },
    {
      "name": "inspect_evals",
      "github_id": "UKGovernmentBEIS/inspect_evals",
      "url": "https://github.com/UKGovernmentBEIS/inspect_evals",
      "slug": "inspect_evals",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#inspect_evals",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/inspect_evals/",
      "description": "UK AISI/Arcadia/Vector: GAIA and other evals in Inspect AI; level 1–3, sandboxed, tool-calling solvers.",
      "category": "evaluation",
      "category_title": "Evaluation and benchmarking harnesses",
      "stars": 547,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (Inspect AI, UK gov)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "evals",
        "sandbox"
      ],
      "example": {
        "label": "inspect SWE-bench eval",
        "url": "https://github.com/UKGovernmentBEIS/inspect_evals/blob/main/src/inspect_evals/swe_bench/README.md"
      }
    },
    {
      "name": "arc-agi-benchmarking",
      "github_id": "arcprize/arc-agi-benchmarking",
      "url": "https://github.com/arcprize/arc-agi-benchmarking",
      "slug": "arc-agi-benchmarking",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#arc-agi-benchmarking",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/arc-agi-benchmarking/",
      "description": "Runner for ARC-AGI: multi-provider (OpenAI, Anthropic, Gemini, etc.), rate limits, retries, and scoring.",
      "category": "evaluation",
      "category_title": "Evaluation and benchmarking harnesses",
      "stars": 350,
      "tier": "mostly simple",
      "tier_rank": 2,
      "axis": "mostly simple (runner, multi-provider)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "retry",
      "recovery_rank": 2,
      "license_signal": "open-source",
      "tags": [
        "evals",
        "provider-agnostic",
        "python"
      ],
      "example": {
        "label": "o3 prompt example",
        "url": "https://github.com/arcprize/arc-agi-benchmarking/blob/main/docs/examples/prompt_example_o3.md"
      }
    },
    {
      "name": "VitaBench",
      "github_id": "meituan-longcat/vitabench",
      "url": "https://github.com/meituan-longcat/vitabench",
      "slug": "vitabench",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#vitabench",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/vitabench/",
      "description": "ICLR'26: 66 tools, real-world apps (delivery, travel, retail); 100 cross-scenario + 300 single-scenario tasks; adopted by Qwen/Seed.",
      "category": "evaluation",
      "category_title": "Evaluation and benchmarking harnesses",
      "stars": 145,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (66 tools, cross-scenario — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "open-source",
      "tags": [],
      "example": {
        "label": "VitaBench paper",
        "url": "https://arxiv.org/abs/2509.26490"
      }
    },
    {
      "name": "AgencyBench",
      "github_id": "GAIR-NLP/AgencyBench",
      "url": "https://github.com/GAIR-NLP/AgencyBench",
      "slug": "agencybench",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#agencybench",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/agencybench/",
      "description": "Long-horizon agent benchmark: 32 scenarios, 138 tasks, ~1M tokens and ~90 tool calls; Docker sandbox and rubric-based + LLM judges.",
      "category": "evaluation",
      "category_title": "Evaluation and benchmarking harnesses",
      "stars": 87,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (32 scenarios, Docker, judges — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "open-source",
      "tags": [
        "evals",
        "sandbox",
        "python"
      ],
      "example": {
        "label": "AgencyBench leaderboard",
        "url": "https://github.com/GAIR-NLP/AgencyBench#leaderboard"
      }
    },
    {
      "name": "letta-evals",
      "github_id": "letta-ai/letta-evals",
      "url": "https://github.com/letta-ai/letta-evals",
      "slug": "letta-evals",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#letta-evals",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/letta-evals/",
      "description": "Eval harness for stateful Letta agents; configurable suites and grading (LLM or rule-based) so you can measure what you ship.",
      "category": "evaluation",
      "category_title": "Evaluation and benchmarking harnesses",
      "stars": 72,
      "tier": "mostly simple",
      "tier_rank": 2,
      "axis": "mostly simple (Letta-specific harness)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "open-source",
      "tags": [
        "memory",
        "python"
      ],
      "example": {
        "label": "LoCoMo memory benchmark",
        "url": "https://github.com/letta-ai/letta-leaderboard/blob/main/leaderboard/locomo/locomo_benchmark.py"
      }
    },
    {
      "name": "SUPER",
      "github_id": "allenai/super-benchmark",
      "url": "https://github.com/allenai/super-benchmark",
      "slug": "super-benchmark",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#super-benchmark",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/super-benchmark/",
      "description": "Agents that set up and run ML/NLP from GitHub repos; 45 expert problems, 152 masked tasks, 602 AutoGen tasks; Docker-based.",
      "category": "evaluation",
      "category_title": "Evaluation and benchmarking harnesses",
      "stars": 53,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (ML/NLP repos, Docker)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "open-source",
      "tags": [
        "sandbox",
        "python"
      ],
      "example": {
        "label": "SUPER EMNLP paper",
        "url": "https://arxiv.org/abs/2409.07440"
      }
    },
    {
      "name": "TRAIL",
      "github_id": "patronus-ai/trail-benchmark",
      "url": "https://github.com/patronus-ai/trail-benchmark",
      "slug": "trail-benchmark",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#trail-benchmark",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/trail-benchmark/",
      "description": "Trace reasoning and agentic issue localization; 148 long-context traces, 841 errors, 20+ error types; Hugging Face dataset.",
      "category": "evaluation",
      "category_title": "Evaluation and benchmarking harnesses",
      "stars": 19,
      "tier": "mostly simple",
      "tier_rank": 2,
      "axis": "mostly simple (traces, Hugging Face)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [],
      "example": {
        "label": "TRAIL dataset card",
        "url": "https://huggingface.co/datasets/PatronusAI/TRAIL"
      }
    },
    {
      "name": "gpt-researcher",
      "github_id": "assafelovic/gpt-researcher",
      "url": "https://github.com/assafelovic/gpt-researcher",
      "slug": "gpt-researcher",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#gpt-researcher",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/gpt-researcher/",
      "description": "Autonomous deep-research agent: web + local sources, citation-grounded reports, multi-agent and deep-research modes. The reference open-source research harness.",
      "category": "research-task",
      "category_title": "Research and task-specific harnesses",
      "stars": 27817,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (deep research, multi-agent — product suite)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "retry",
      "recovery_rank": 2,
      "license_signal": "open-source",
      "tags": [
        "multi-agent",
        "python"
      ],
      "example": {
        "label": "Multi-agent LangGraph walkthrough",
        "url": "https://github.com/assafelovic/gpt-researcher/blob/master/docs/blog/2024-05-19-gptr-langgraph/index.md"
      }
    },
    {
      "name": "openagents",
      "github_id": "OpenAgentsInc/openagents",
      "url": "https://github.com/OpenAgentsInc/openagents",
      "slug": "openagents",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#openagents",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/openagents/",
      "description": "Platform for autonomous agents and autopilot-style workflows; decentralized/Nostr-oriented (Pylon runtime, actively shipped in 2026).",
      "category": "research-task",
      "category_title": "Research and task-specific harnesses",
      "stars": 427,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (platform, decentralized — product suite)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [],
      "example": {
        "label": "Production earning proof",
        "url": "https://github.com/OpenAgentsInc/openagents/blob/main/docs/reports/nexus/2026-04-23-autopilot-pylon-production-earning-proof.md"
      }
    },
    {
      "name": "Daytona",
      "github_id": "daytonaio/daytona",
      "url": "https://github.com/daytonaio/daytona",
      "slug": "daytona",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#daytona",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/daytona/",
      "description": "Elastic dev environments for AI-generated code: workspaces, Git, previews—infra harness between \"the model wrote a patch\" and \"it ran in a real machine.\"",
      "category": "libraries-sdks",
      "category_title": "Libraries and SDKs",
      "stars": 72365,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (dev env API, isolation)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "sandbox"
      ],
      "example": {
        "label": "Charts in sandbox",
        "url": "https://github.com/daytonaio/daytona/tree/main/examples/python/charts"
      }
    },
    {
      "name": "Mem0",
      "github_id": "mem0ai/mem0",
      "url": "https://github.com/mem0ai/mem0",
      "slug": "mem0",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#mem0",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/mem0/",
      "description": "Universal memory layer for AI agents: stores user/org/session memory, retrieves on demand. Apache-2.0; the de-facto memory primitive paired with most harnesses in 2026.",
      "category": "libraries-sdks",
      "category_title": "Libraries and SDKs",
      "stars": 59028,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (memory layer, multi-platform)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "memory",
        "python"
      ],
      "example": {
        "label": "Next.js memory demo",
        "url": "https://github.com/mem0ai/mem0/tree/main/examples/mem0-demo"
      }
    },
    {
      "name": "LiteLLM",
      "github_id": "BerriAI/litellm",
      "url": "https://github.com/BerriAI/litellm",
      "slug": "litellm",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#litellm",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/litellm/",
      "description": "One interface to 100+ LLMs; routing, caching, budgets. Not an agent framework—the pipe every agent framework uses.",
      "category": "libraries-sdks",
      "category_title": "Libraries and SDKs",
      "stars": 51033,
      "tier": "mostly simple",
      "tier_rank": 2,
      "axis": "mostly simple (LLM pipe only)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "retry",
      "recovery_rank": 2,
      "license_signal": "open-source",
      "tags": [
        "provider-agnostic",
        "python"
      ],
      "example": {
        "label": "Anthropic Agent SDK gateway",
        "url": "https://github.com/BerriAI/litellm/blob/main/cookbook/anthropic_agent_sdk/main.py"
      }
    },
    {
      "name": "Composio",
      "github_id": "ComposioHQ/composio",
      "url": "https://github.com/ComposioHQ/composio",
      "slug": "composio",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#composio",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/composio/",
      "description": "1,000+ toolkits with auth, tool search, and a sandboxed workbench—drop-in tool layer so agents stop reinventing OAuth + integrations. Python and TypeScript.",
      "category": "libraries-sdks",
      "category_title": "Libraries and SDKs",
      "stars": 28886,
      "tier": "complex",
      "tier_rank": 4,
      "axis": "complex (1k+ tools, auth, search — product suite)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "sandbox",
        "tool-discovery",
        "python",
        "typescript"
      ],
      "example": {
        "label": "HackerNews agent quickstart",
        "url": "https://github.com/ComposioHQ/composio#quick-start"
      }
    },
    {
      "name": "smolagents",
      "github_id": "huggingface/smolagents",
      "url": "https://github.com/huggingface/smolagents",
      "slug": "smolagents",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#smolagents",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/smolagents/",
      "description": "Code-as-action agents: model outputs Python executed in sandbox (E2B, Modal, etc.); ~1k LOC core.",
      "category": "libraries-sdks",
      "category_title": "Libraries and SDKs",
      "stars": 27946,
      "tier": "mostly simple",
      "tier_rank": 2,
      "axis": "mostly simple (code-as-action, ~1k LOC)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "open-source",
      "tags": [
        "sandbox",
        "python"
      ],
      "example": {
        "label": "RAG code agent",
        "url": "https://github.com/huggingface/smolagents/blob/main/examples/rag.py"
      }
    },
    {
      "name": "vercel/ai",
      "github_id": "vercel/ai",
      "url": "https://github.com/vercel/ai",
      "slug": "ai",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#ai",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/ai/",
      "description": "React and Node SDK for streaming, tool calls, and agent-style UIs; provider-agnostic.",
      "category": "libraries-sdks",
      "category_title": "Libraries and SDKs",
      "stars": 25022,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (React/Node SDK, provider-agnostic)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "retry",
      "recovery_rank": 2,
      "license_signal": "open-source",
      "tags": [
        "provider-agnostic",
        "typescript"
      ],
      "example": {
        "label": "Next.js agent example",
        "url": "https://github.com/vercel/ai/tree/main/examples/next-agent"
      }
    },
    {
      "name": "deepagents",
      "github_id": "langchain-ai/deepagents",
      "url": "https://github.com/langchain-ai/deepagents",
      "slug": "deepagents",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#deepagents",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/deepagents/",
      "description": "LangChain's Python+TypeScript agent harness on top of LangGraph: planning tool, virtual filesystem, shell sandbox, sub-agent spawning—the \"Claude Code-style\" harness as a reusable library.",
      "category": "libraries-sdks",
      "category_title": "Libraries and SDKs",
      "stars": 24903,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (planning, files, sub-agents)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "durable",
      "recovery_rank": 4,
      "license_signal": "open-source",
      "tags": [
        "multi-agent",
        "sandbox",
        "python",
        "typescript"
      ],
      "example": {
        "label": "Deep research agent",
        "url": "https://github.com/langchain-ai/deepagents/tree/main/examples/deep_research"
      }
    },
    {
      "name": "pydantic-ai",
      "github_id": "pydantic/pydantic-ai",
      "url": "https://github.com/pydantic/pydantic-ai",
      "slug": "pydantic-ai",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#pydantic-ai",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/pydantic-ai/",
      "description": "Type-safe Python agents with Pydantic I/O; multi-provider, MCP, Logfire observability, and human-in-the-loop.",
      "category": "libraries-sdks",
      "category_title": "Libraries and SDKs",
      "stars": 17882,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (type-safe, MCP, Logfire)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "durable",
      "recovery_rank": 4,
      "license_signal": "open-source",
      "tags": [
        "mcp",
        "typed",
        "provider-agnostic",
        "python"
      ],
      "example": {
        "label": "Bank support agent",
        "url": "https://github.com/pydantic/pydantic-ai/blob/main/examples/pydantic_ai_examples/bank_support.py"
      }
    },
    {
      "name": "E2B",
      "github_id": "e2b-dev/E2B",
      "url": "https://github.com/e2b-dev/E2B",
      "slug": "e2b",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#e2b",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/e2b/",
      "description": "Firecracker sandboxes for executing agent-generated code; the hosted isolation layer many tool-calling demos use instead of running arbitrary LLM output on your laptop.",
      "category": "libraries-sdks",
      "category_title": "Libraries and SDKs",
      "stars": 12661,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (sandbox API, code execution)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "open-source",
      "tags": [
        "sandbox",
        "python"
      ],
      "example": {
        "label": "Claude Code in sandbox",
        "url": "https://github.com/e2b-dev/e2b-cookbook/tree/main/examples/anthropic-claude-code-in-sandbox-python"
      }
    },
    {
      "name": "strands-agents",
      "github_id": "strands-agents/harness-sdk",
      "url": "https://github.com/strands-agents/harness-sdk",
      "slug": "harness-sdk",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#harness-sdk",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/harness-sdk/",
      "description": "Model-driven Python SDK; decorators for tools, native MCP, multi-agent; \"minimal code\" without sacrificing provider choice.",
      "category": "libraries-sdks",
      "category_title": "Libraries and SDKs",
      "stars": 6228,
      "tier": "mostly simple",
      "tier_rank": 2,
      "axis": "mostly simple (decorators, MCP, minimal code)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "mcp",
        "multi-agent",
        "typed",
        "python"
      ],
      "example": {
        "label": "First agent tutorial",
        "url": "https://github.com/strands-agents/samples/tree/main/python/01-learn/01-first-agent"
      }
    },
    {
      "name": "Cloudflare Agents",
      "github_id": "cloudflare/agents",
      "url": "https://github.com/cloudflare/agents",
      "slug": "agents",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#agents",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/agents/",
      "description": "Persistent, stateful agents on Durable Objects: state, websockets, scheduling, and AI chat baked in. The serverless answer to \"where does the agent live?\"",
      "category": "libraries-sdks",
      "category_title": "Libraries and SDKs",
      "stars": 5145,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (Durable Objects, stateful)",
      "autonomy": "headless",
      "autonomy_rank": 4,
      "recovery": "durable",
      "recovery_rank": 4,
      "license_signal": "open-source",
      "tags": [
        "memory",
        "typescript"
      ],
      "example": {
        "label": "SDK playground app",
        "url": "https://github.com/cloudflare/agents/tree/main/examples/playground"
      }
    },
    {
      "name": "openai-agents-js",
      "github_id": "openai/openai-agents-js",
      "url": "https://github.com/openai/openai-agents-js",
      "slug": "openai-agents-js",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#openai-agents-js",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/openai-agents-js/",
      "description": "Official OpenAI Agents SDK for Node/TS: handoffs, guardrails, voice; the JS counterpart to openai-agents-python.",
      "category": "libraries-sdks",
      "category_title": "Libraries and SDKs",
      "stars": 3257,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (handoffs, guardrails, voice)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "resumable",
      "recovery_rank": 3,
      "license_signal": "open-source",
      "tags": [
        "multi-agent",
        "voice",
        "typescript"
      ],
      "example": {
        "label": "Financial research agent",
        "url": "https://github.com/openai/openai-agents-js/tree/main/examples/financial-research-agent"
      }
    },
    {
      "name": "open-harness",
      "github_id": "MaxGfeller/open-harness",
      "url": "https://github.com/MaxGfeller/open-harness",
      "slug": "open-harness",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#open-harness",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/open-harness/",
      "description": "TypeScript Agent class on Vercel AI SDK; streaming events, filesystem/bash tools, MCP, and subagent delegation.",
      "category": "libraries-sdks",
      "category_title": "Libraries and SDKs",
      "stars": 571,
      "tier": "slightly complex",
      "tier_rank": 3,
      "axis": "slightly complex (streaming, tools, subagents)",
      "autonomy": "bounded",
      "autonomy_rank": 3,
      "recovery": "none",
      "recovery_rank": 1,
      "license_signal": "open-source",
      "tags": [
        "mcp",
        "multi-agent",
        "typescript"
      ],
      "example": {
        "label": "Terminal CLI agent",
        "url": "https://github.com/MaxGfeller/open-harness/tree/main/examples/cli"
      }
    },
    {
      "name": "Community-curated agent lists",
      "github_id": "brandonhimpfen/awesome-ai-agents",
      "url": "https://github.com/brandonhimpfen/awesome-ai-agents",
      "slug": "awesome-ai-agents",
      "anchor_url": "https://github.com/RyanAlberts/best-of-Agent-Harnesses#awesome-ai-agents",
      "page_url": "https://ryanalberts.github.io/best-of-Agent-Harnesses/h/awesome-ai-agents/",
      "description": "Broader directories: e.g. [brandonhimpfen/awesome-ai-agents](https://github.com/brandonhimpfen/awesome-ai-agents), [axioma-ai-labs/awesome-ai-agent-frameworks](https://github.com/axioma-ai-labs/awesome-ai-agent-frameworks), [mb-mal/awesome-ai-agents-frameworks](https://github.com/mb-mal/awesome-ai-agents-frameworks)—differ by scope and update cadence.",
      "category": "libraries-sdks",
      "category_title": "Libraries and SDKs",
      "stars": 11,
      "tier": "super simple",
      "tier_rank": 1,
      "axis": "super simple (curated lists)",
      "autonomy": "n/a",
      "autonomy_rank": 0,
      "recovery": "n/a",
      "recovery_rank": 0,
      "license_signal": "unknown",
      "tags": [],
      "example": {
        "label": "Frameworks section",
        "url": "https://github.com/brandonhimpfen/awesome-ai-agents#frameworks"
      }
    }
  ]
}
