Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6.1 KiB
🐝 Hive Agent v0.10.4: Skill & Tool Library
Skills and tools move from something the framework hands down into something you curate. Every queen and every colony now has a dedicated allowlist and a UI to manage it, and the system prompt gets smaller and cache-friendlier along the way.
✨ Highlights
v0.10.4 turns skills and tools into first-class, user-editable surfaces.
Before this release, the skill and tool catalogs were effectively framework defaults: whatever a queen could reach, every queen could reach. Now each queen has her own tool allowlist, her own skills, and a pair of library pages where you can browse, enable, disable, upload, and author them. Colonies inherit their founding queen's configuration at creation time and then drift on their own — flip a tool off for a colony without touching the queen, or the other way around.
A quiet but important second theme: the system prompt is now static across a session. Date and time — the main source of per-turn churn — are now injected at turn time instead of baked into the prompt. That keeps the prompt prefix stable so provider-side prompt caching can do its job.
🆕 What's New
Skill Library
- Skill Library page — browse every skill by scope (queen / colony / framework preset), view SKILL.md inline, toggle per-scope enablement, upload skills as
.mdor.zip, and author new skills from the UI. - Per-scope overrides — skill enablement is recorded in
~/.hive/agents/queens/{queen_id}/skills_overrides.jsonand~/.hive/colonies/{colony_name}/skills_overrides.json; framework presets stay read-only, user-authored skills live under each scope's own skills directory. - Skill provenance — the API and UI now distinguish framework-preset skills, queen-authored skills, and colony-authored skills, so you can tell at a glance who owns a given skill.
- Skill authoring primitives — a shared
framework.skills.authoringmodule validates names, parses frontmatter, and materializes skill folders for the UI upload path, thecreate_colonytool's inline skills, and future runtime-learned skills. - Preset rename — built-in skills moved from
_default_skills/to_preset_skills/to match the new "preset vs. user" split. Existing browser/linkedin/x automation skills carry over untouched.
Tool Library
- Tool Library page with a shared
ToolsEditorcomponent used by the queen profile and colony settings panels. - Per-queen tool allowlist at
~/.hive/agents/queens/{queen_id}/tools.json:null= allow all,[]= disable all,["foo", "bar"]= only these MCP tools pass the filter. - Per-colony tool allowlist at
~/.hive/colonies/{colony_name}/tools.json, with the same schema, atomic writes, and independent lifecycle. - Configurable defaults — queens now carry a default tool/skill bundle that seeds each new colony, and the bundle itself is editable.
- Colony inheritance — when a queen spawns a colony, the colony starts from the queen's tool and skill configuration. After spawn the two diverge freely.
- Colony sidecar —
tools.jsonlives next tometadata.jsonso identity/provenance (queen, created_at, workers) and tool gating evolve independently.
MCP Server Management
- MCP Servers panel — dedicated settings UI for browsing, configuring, and enabling bundled and user MCP servers.
/api/mcproutes for listing built-in servers, inspecting state, and reporting errors with structured MCP error responses.- Tool catalog wiring — live queen sessions now surface their MCP tool catalog to the queen-tools and colony-tools endpoints, so the UI shows exactly what the running session can see.
Prompt & Runtime
- Static system prompt — the agent loop, conversation, and provider adapters (LiteLLM, Antigravity, Codex, Mock) now build and freeze the system prompt once per session. Per-turn values that used to churn the prompt are gone.
- Date/time injected at turn time — today's date and current time move from the system prompt into a turn-level injection path that updates cursor persistence and queen-lifecycle tooling.
- Queen orchestrator — refreshed to pair with the static prompt model and the new tool/skill configuration layers.
- Session manager — tightened session-creation input validation and reflection/skill edge handling; "create new session and switch branch" is now reliable.
🐛 Bug Fixes
- No-cache middleware on
/api/*— every API response now carriesCache-Control: no-store. Without this, a one-off bad response (e.g. the SPA catch-all leakingindex.htmlfor an/api/*URL before a route was registered) could get pinned in the browser's disk cache and replayed forever, since our JSON handlers don't emit ETag/Last-Modified. Hard-refresh no longer required to recover. - Tools & skills registration — queens and colonies no longer end up with stale or duplicated entries after reloads.
- Session creation — invalid inputs are rejected up front with clear errors instead of surfacing later as runtime failures.
- Skill / reflection edges — tightened handling so reflection runs no longer see half-built skill state during scope reloads.
- Create new session + switch branch flow works end-to-end without orphaning sessions.
- CI — broken workflow repaired.
🧪 Tests
test_routes_skills.py,test_skill_overrides.py,test_colony_tools.py,test_queen_tools.py,test_mcp_routes.py— coverage added for every new route group and the override store.
🚀 Upgrading from v0.10.3
No migration. Pull main at v0.10.4 and restart Hive — existing ~/.hive/ profiles, queens, colonies, and sessions keep working.
Two things to know:
- Preset skills directory renamed from
_default_skills/to_preset_skills/inside the framework. If you had external scripts pointing at that path, update them. User-authored skills under~/.hive/are unaffected. - First open of a queen or colony writes a
tools.jsonsidecar the first time you edit its allowlist. If you don't touch the Tool Library, nothing is written and behavior matches v0.10.3 (allow all MCP tools).
Curate your queens. 🐝