Compiled 2026-05-09. Entry point for the per-stream reports in this folder: coding agents, local-first platforms, routing layers, skills and memory.
The “TUI/CLI multi-provider coding agent” lane is crowded — OpenCode (157k stars), Claude Code (122k), Gemini CLI (104k), Codex (81k), Cline (62k), Goose (45k), Aider (45k), Roo Code (24k), Crush (24k). Server-client architecture, BYO key, Ollama support, and multi-provider routing are table stakes, not differentiators.
metis’s defensible wedge is the trio of:
cache_control, thinking, citations, and tool_use blocks across providersNo competitor combines all three. The architecture pitch alone won’t differentiate post-OpenCode — the learning/memory mechanics have to be the headline.
| Rank | Product | Why it’s close | Where metis differs |
|---|---|---|---|
| 1 | OpenCode (sst) — 157k★, MIT | Already a server/client + TUI architecture, multi-provider via Models.dev, mid-session swap | No bounded memory, no fingerprint learning, no canonical-IR claim |
| 2 | Goose (Block) — 45k★, Apache-2.0 | True multi-provider (incl. Ollama), Recipes ≈ skills, lead/worker model split, Tauri desktop | Recipes are author-written, not auto-derived; no bounded memory |
| 3 | Roo Code — 24k★, Apache-2.0 | Per-mode model assignment + orchestrator delegation = exactly metis’s “agent-decided delegation across tiers” | VS Code-only, no canonical IR, unbounded .roorules |
| 4 | Aider — 45k★, Apache-2.0 | architect+editor two-tier ≈ metis’s planner/worker; CONVENTIONS.md ≈ skills; /model swap |
CLI-only (no server), two tiers not three, no skills standard |
| 5 | Letta (memory side) — 23k★, Apache-2.0 + cloud, Series A | Hierarchical bounded memory (core/archival/recall) with agent self-edit tools — closest prior art for metis’s memory model | Not a coding agent, server/cloud-leaning |
| 6 | gptme — 4k★, MIT | CLI-first local agent, markdown-logged sessions, multi-provider, MCP — closest spiritual match on the local side | No skills standard, no bounded memory, no server/client split |
agentskills.io is real and broadly adopted. Anthropic-originated open standard. Spec at agentskills.io/specification: SKILL.md with YAML frontmatter, optional scripts/ / references/ / assets/ dirs, progressive disclosure (~100 token metadata at startup, full body on activation). ~35+ implementers verified May 2026 including Anthropic, OpenAI Codex, Google Gemini CLI, GitHub Copilot, Cursor, JetBrains Junie, OpenCode, Goose, Roo Code, Letta. Betting on this format is the right call — it’s the de facto interop layer.
No successful agent-skills marketplace exists. GPT Store hit ~3M GPTs but is a graveyard (broken discovery, no quality bar, abandoned wrappers). Cursor Directory is healthy but unmonetized. Anthropic’s anthropics/skills is a small curated repo, not a marketplace. Open lane, but lessons: curation > volume; sandboxing scripts/ trust is the hard part.
Bounded-curated memory is genuinely contrarian. The dominant pattern is “vector-store-everything-and-RAG-it-back” (mem0, Zep, Cognee, most LangChain memory) — they treat eviction as a bug. Only Letta (bounded core blocks with agent self-edit tools) and Anthropic’s memory tool (file-based, no enforced cap) treat eviction as a feature. metis’s hard byte budgets are tighter than both. “Eviction is a feature” is a real wedge.
LiteLLM does NOT solve the canonical-format problem. Open issues from the last few weeks prove it:
#27512 (2026-05-09) — Anthropic Messages retry drops thinking blocks#27469 (2026-05-08) — tool_call.function.arguments lost in OpenAI→Anthropic conversion (regression in v1.83.7)#15601 — thinking blocks missing on requests with tool calls#26625 / #20418 / #20485 — Bedrock + Vertex cache_control placement broken#26937 — citations on Bedrock Converse not supportedRecommendation: keep metis’s typed adapters per provider; treat Anthropic blocks as authoritative internal shape. Use LiteLLM (optionally) only as transport below adapters for users who want a single key endpoint.
Vercel AI SDK is the highest “lunch-eat” risk. Cleanest typed message abstraction in TS (24k★), but TS-only, no built-in agent loop yet, and has its own thinking-block bugs (#13430, #13703 still open Mar–Apr 2026). If they ship a typed Agent with delegation primitives, they compete on the SDK side.
Standalone routing-as-a-service is fading. Not Diamond’s Python SDK was archived Dec 2025; RouteLLM (LMSYS) hasn’t pushed since Aug 2024. The router-without-an-agent thesis is weakening — which means metis’s delegate(tier, task, context) as an in-loop primitive is novel and underexploited.
CLAUDE.md, AGENTS.md, .clinerules) that silently bloats context. Hard budgets + agent curation is novel.Four parallel research streams ran on 2026-05-09. Each agent verified GitHub stars, last-push dates, license, and (where applicable) live open-issue text via the GitHub API (gh) — those numbers are authoritative as of the date above. SaaS pricing, funding rounds, and feature claims drawn from each project’s public docs and may be stale. Re-verify before citing externally.