Community Framework: CAST — production multi-agent framework built on Claude Code hooks + feature requests from real usage

Resolved 💬 2 comments Opened Apr 1, 2026 by ek33450505 Closed May 13, 2026

What is CAST?

CAST (Claude Agent Specialist Team) is an open-source multi-agent framework built entirely on Claude Code's hook system, agent SDK, and skills architecture. It's been in production for several months with 17 agents, 8 skills, 262 BATS tests, a SQLite observability backend, a React dashboard, and a TUI dashboard — distributed as a 7-repo ecosystem across 6 Homebrew taps. Now at v4.2.

GitHub: https://github.com/ek33450505/claude-agent-team

Sharing this as a community framework example and because building it surfaced concrete feature gaps worth flagging.

---

What CAST demonstrates is possible

  • Hook-driven quality gates: code-reviewer approval required before every commit via PreToolUse
  • Event sourcing: cast_emit_eventcast.db → queryable React dashboard (sessions, token spend by agent, hook health)
  • Semantic agent routing with wave-based parallel dispatch and fan-out summaries
  • TUI dashboard (cast-dash): a Textual-based 4-panel terminal UI with live agent/session monitoring — driven entirely by cast.db and hook events, no external telemetry
  • brew install cast via Homebrew tap — package manager distribution for a Claude Code framework

---

Feature requests from real usage

1. async: true should be documented as a first-class pattern for telemetry hooks

CAST wires 19 hooks. All were synchronous until we discovered async: true. Every cast_emit_event DB write was blocking Claude's execution on every tool call. The docs mention async but don't surface it as the obvious default for logging/telemetry hooks. A "hook performance patterns" doc section would help.

2. if: field should be in the main hooks quickstart

CAST's security guard was firing on every ls. The if: field (v2.1.85) eliminates process spawning for irrelevant calls — this is a significant performance win that most hook-heavy users won't discover until they notice slowdowns.

3. isolation: worktree in agent frontmatter vs body text

CAST documents isolation: worktree as a pattern in agent body text, instructing callers to set it. The frontmatter declaration is the authoritative way but it's easy to confuse the two. A clear doc callout that isolation: worktree in frontmatter is automatically applied (vs it being advisory in body text) would prevent this.

4. effort frontmatter — needs a recommended tiering guide

CAST selects sonnet vs haiku per agent but doesn't set effort. Without guidance, every agent defaults to session-level effort — lightweight agents (commit, review) overpay for thinking tokens, deep agents (security, planner) are underpowered. A recommended tiering (lightweight/medium/deep) in the agent docs would be immediately useful.

5. Plugin marketplace / distribution path for community frameworks

CAST is structured exactly like a plugin (agents + skills + hooks + MCP config). The Plugins system would let it be distributed without Homebrew. Is there a process for community framework submissions to the plugin registry?

---

Happy to answer questions or share more details about the architecture. The cast.db observability schema and hook configuration are fully open-source if useful as reference for docs or examples.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗