Cory Policht
← Back to the Devlog
DEVLOG · 2026-09-17 .. 2026-09-24 · RELEASE

Agent Skill Installer v2 and the Project Hub dependency web.

agent-skill-installer cuts v2.0.0, expanding MCP tooling and ClickHouse telemetry, while Project Hub ships ADR-010 umbrella scopes, hold and decision records, and an interactive dependency web UI.

WINDOW
Start2026-09-17
End2026-09-24
Kindrelease
Projectsagent-skill-installer, project-hub
Delivered
  • agent-skill-installer
    Agent Skill Installer v2.0.0 major release
    Cuts v2.0.0, introducing automated MCP server installations for Blender and Codex tooling, followed by rapid patch iterations through v2.0.15.
    agent-skill-installer · v2.0.0agent-skill-installer · #348
  • agent-skill-installer
    ClickHouse session analytics and XR headset pairing catalog
    Routes agent execution telemetry to ClickHouse, retires the legacy Langfuse sink, and adds the scp-xr-pairing live headset orchestrator.
    agent-skill-installer · #355agent-skill-installer · #363agent-skill-installer · #370
  • project-hub
    ADR-010 umbrella scopes and coordination ownership
    Adds umbrella project models to Project Hub to act as authoritative coordination scopes for cross-cutting initiatives.
    project-hub-api · #59
  • project-hub
    Decision records and hold tracking models
    Implements migrations 018 and 019 for decision records and hold tracking, giving blocked initiatives queryable, first-class status in the API.
    project-hub-api · #61project-hub-api · #62
  • project-hub
    Interactive dependency web graph UI
    Adds an interactive visual dependency web in the UI and connects in-browser disposition dialogs (accept, decline, defer) to live API routes.
    project-hub-ui · #30project-hub-ui · #31

Managing agent capability distribution across dozens of repositories requires two sides of the same coin: a reliable client-side installer that provisions tools and skills onto local agent harnesses, and a central hub that maps which projects depend on which capabilities. In this window, both sides reached major milestones.

Agent Skill Installer shipped its v2.0.0 major release (v2.0.0). The major bump introduced automated configuration and setup for custom Model Context Protocol (MCP) tooling servers, including private documentation indexes and Codex adapters (#348). As part of this transition, agent session analytics were cut over to an internal ClickHouse sink (#355), cleanly deprecating the external telemetry forwarder without carrying legacy dual-write overhead. Over the subsequent week, fifteen quick patch releases landed to refine catalog entries, add TTS voice generation skills (#370), and register the scp-xr-pairing skill (#363) for orchestrating live Unity headset sessions.

In parallel, Project Hub tackled inter-project governance. As the number of repos grew, simple parent-child task relationships were no longer enough. We implemented ADR-010: Umbrella Scopes (#59), establishing high-level umbrella projects as authoritative coordination boundaries.

To handle blockers and architectural pivots cleanly, we added migrations 018 and 019 for decision records (#62) and hold tracking (#61). When an initiative gets blocked by an external dependency or an unreleased API, it is formally tagged with a hold record that explains the blocker and points to the unblocking prerequisite.

Finally, the project-hub-ui brought this data to life with an interactive dependency web graph (#31). Instead of reading flat tables, operators can inspect cross-project dependency webs visually and trigger disposition actions like accepting, declining, or deferring interface requests directly from node modals (#30).

Lessons learned

  • Isolate platform-specific tag triggers from primary release pipelines. When shipping cross-compiled Go binaries alongside native macOS bundles tagged with -mac, naive CI triggers like tags: ['v*'] inadvertently trigger full Linux release workflows twice. Constraining tag patterns prevents duplicate release drafts from clobbering published artifacts.
  • Track blocking holds and architectural decisions as queryable database records. Stashing blocked states in commit comments or markdown tags means you cannot query which projects are waiting on a specific dependency. Modeling holds as relational rows with foreign keys turns portfolio roadblocks into structured dashboards.
  • Cut over telemetry sinks at major version boundaries rather than maintaining dual writers. Trying to bridge old and new telemetry backends with multiplexing code creates flaky network edge cases across agent runs. A major version bump is the right moment to cleanly drop retired sinks and switch to the new standard.
  • Interactive dependency graphs must embed direct operational controls. An architecture diagram that only visualizes node connections is quickly abandoned. Integrating actionable controls — such as inline disposition dialogs that trigger real API state changes — makes the visualization an active command surface.