ARTICLE —
ulk: 90 specialized AI agents for Claude Code
ulk: 90 specialized AI agents for Claude Code
Summary
ulk is a monorepo that adds 90 pre-configured agents to Claude Code. Each agent has a defined role (orchestrator, audit, documentation, deployment, security, etc.) and an invocation protocol. Source: framework/agents/registry.json.
The problem
Claude Code, on its own, is powerful but generic. On a real project, you repeat:
- The same diagnostics (repo state, stack, tests, CI).
- The same audit prompts (security, accessibility, technical debt).
- The same documentation pipelines (spec → todo → README → CLAUDE.md).
- The same checks before a commit or release.
Without formalization, these tasks consume context, rely on the human’s memory, and produce inconsistent results from one session to the next.
What ulk proposes
One agent per task, each agent being:
- A markdown file in
framework/agents/with a frontmatter (name,phase,model,tools). - An invocation protocol (
/ulk:agent-nameor natural language aliases). - A category: orchestrators, docs, audit, session, mobile, sync, routines, analyze, deploy, test, frontend, vps.
- A phase: define, plan, build, verify, review, ship, orchestrator (see
framework/agents/_shared/phase-grid.md).
Minimal anatomy
To get started, you only need to know one agent: Bruce (number 25, orchestrator).
/ulk:bruce
Bruce detects the project state via Godspeed (00, diagnostics), then routes to the appropriate agents (Tony for architecture, Shuri for documentation, Sargeras for auditing, etc.). Source: CLAUDE.md section “Agent System” — “Primary entry: /ulk:bruce — auto-detects project state, orchestrates all agents.”
What you get in practice
- Project diagnostic in 30 seconds (Godspeed).
- Stack + architecture + timing recommendation from a brief (Tony, agent 50).
- Doc pipeline:
spec.md+todo.mdKanban +CLAUDE.md/README.mdsync (Shuri, agent 01). - Complete 10-axis audit: security, perf, architecture, tests, etc. (Sargeras, agent 45).
- Cost killer on Vercel/GitHub/Neon with a real killswitch (Killbill, agent 56).
- Context verification: am I on the right project, the right account? (Xavier, agent 57).
What ulk is not
- Not a Claude Code fork. It’s a layer on top: markdown files + install scripts that add slash-commands and agents.
- Not a closed product. Everything is in
~/.claude/after./install.sh. - Not a heavy dependency: the agents themselves are markdown with no dependencies (see
CLAUDE.md— “agents themselves are dependency-free Markdown”).
Installation
git clone https://github.com/izo/ulk
cd ulk
./install.sh
Variants: --with-vps, --with-teams, --with-figma-mcp, --with-memory-loop, --with-caveman-skill (token compression, MIT — Julius Brussee), --install-deps (installs missing recommended CLIs), --dry-run (see CLAUDE.md section “Options install.sh”).
Go CLI (beta): the native ulk CLI is available in framework/cli/. Phases 0-2 (ULK-265-267) are shipped: Installable interface, 6 typed module types, 5 unified hooks, RTK base. Homebrew distribution planned with the final phase. install.sh remains available as a wrapper.
Who is it for
- Solo dev: replaces part of the daily brain-dump with reproducible agents.
- Team: a shared vocabulary (
/ulk:bruce,/ulk:sargeras) rather than ad hoc prompts. - Tech lead: recurring audits, cloud cost control, working context verification.
What’s next
- Post #2: how Claude Code works (CLI, sub-agents, plugins, skills, MCP).
- Post #3: the internal structure of the ulk monorepo.
- Post #4: the major agents in detail.
- Post #5: 3 concrete use cases.
- Video: full demo of a project from scratch with ulk.
Repo: https://izo.github.io/ulk/