vtemian

Zag — Development skill for Claude Code

Development community

The composable agent development environment.

How to install Zag

This entry records only its repository, not the path inside it, so there is no exact command to give. Open vtemian/zag and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Zag does

The composable agent development environment. Built in Zig. Modal. Extensible. Everything above the primitives is a plugin.

Alternatives in Development

README

zag

A composable agent development environment. Built in Zig.

Zag is an AI coding agent where the **window system is the platform**. Splits, focus, and buffers are primitives. Everything above that — from the session tree to how agent responses render to which system prompt a model gets — is a plugin.

Think **Neovim's architecture, applied to AI agents**.


Quickstart

# Build (Zig 0.16.0)
zig build

# Run — first boot launches an onboarding wizard
zig build run

# Run tests
zig build test

That's it. No Docker, no Python venvs, no npm install.


What makes it different

Neovim-style modal TUI Binary-tree pane splits, vim h/j/k/l focus, per-pane scrolling, dirty-rectangle ANSI diff renderer. Floating popups too.
Per-pane streaming agents Every pane runs its own agent thread. Different panes, different models, same session. Cancel a turn with Ctrl+C without freezing the UI.
8 providers, 3 wire formats Anthropic Messages, OpenAI Chat Completions, OpenAI Responses API (ChatGPT/Codex). Anthropic, OpenAI, OpenRouter, Groq, Moonshot, Ollama — plus OAuth sign-in for Claude Max/Pro and ChatGPT.
Live /model switching Swap provider or model mid-session without losing context. Persists the pick to config.lua.
Lua plugins + async runtime Custom tools, hooks, keymaps, slash commands, providers, and prompt packs. Blocking I/O (HTTP, subprocess, filesystem, LLM) runs on a worker pool and resumes your coroutine on the main thread.
Mid-turn steering Type while the agent is running — your message is queued as a system-reminder interrupt instead of dangling at the tail.
Automatic context compaction Predictive cascade (Lua structure