// GET STARTED
install
ulk is a collection of Markdown agents for Claude Code. No runtime,
no dependencies — just a folder of files copied into
~/.claude/.
Grab the repo anywhere on your machine.
git clone https://github.com/izo/ulk
cd ulk The installer compiles agents into the shapes Claude Code expects and copies them into your user config.
./install.sh Figma (7), Swift (7), Flutter (2), Obsidian/kepano (5), context-audit, symbols and architecture-diagram community skills are bundled by default.
Optional flags:
# Skills (opt-in)
./install.sh --with-figma-mcp # configure Figma MCP server
./install.sh --with-addy-skills # + addyosmani community skills
./install.sh --with-a11y-skills # + accessibility skills (RAWeb/RAAM)
./install.sh --with-nothing-design # + Nothing design system (dominikmartn)
./install.sh --with-hue-skill # + Hue design language generator
./install.sh --with-cwb-app-icon # + AppIcon iOS/macOS (SnapAI, requires OpenAI key)
./install.sh --with-logo-generator-skill # + logo generator (Gemini API)
./install.sh --with-caveman-skill # + caveman-compress (CLAUDE.md, -46% tokens)
./install.sh --with-caveman-output-skill # + caveman output mode (-79% tokens agent reports)
./install.sh --with-session-defaults # + /session-defaults — token economy env vars
./install.sh --with-web-design-skill # + /web-design-guidelines (vercel-labs, MIT — UI a11y/focus/semantics)
./install.sh --with-kami-skill # + kami (pro docs: One-Pager, Letter, Slides…)
./install.sh --with-visual-explainer-skill # + /visual-explainer — terminal → HTML (Mermaid, diff-review, slides, project-recap)
./install.sh --with-ai-adoption-skill # + /ai-adoption — AI authorship metric from git signals (0 tokens)
./install.sh --with-ehmo-web-skill # + web-platform-guidelines (WCAG 2.2, 70+ rules)
# Camille Roux 2026 v3 (opt-in)
./install.sh --with-token-efficient-skill # + CLAUDE.md drop-in -63% output tokens
./install.sh --with-claude-seo-skill # + SEO + GEO universal audit (AgriciDaniel)
./install.sh --with-claude-health-skill # + Claude Code config audit 6 layers (tw93)
./install.sh --without-obsidian-skills # opt-out 5 kepano skills (bundled by default)
./install.sh --without-update-check # opt-out daily update check (Bruce Phase 0.6, on by default)
# Hooks and modes
./install.sh --with-vps # + VPS agents
./install.sh --with-teams # + Agent Teams (experimental)
./install.sh --with-memory-loop # + Knowledge Vault Loop hooks
./install.sh --with-xavier-hook # + SessionStart context check (project/account guard)
./install.sh --with-cli-telemetry # + CLI usage tracking
./install.sh --with-accountability # + audit trail: mutations → accountability.jsonl + reads (loadable/read ratio) → read-coverage.jsonl
./install.sh --with-context-mode # + Context Mode (saves $8-$24/month on output tokens)
./install.sh --with-statusline # + ulk statusline (cwd · model · ctx% · P0 · git hash)
./install.sh --with-managed-agents # + Managed Agents (Anthropic beta, cloud sessions)
./install.sh --with-faru # + faru mode (git-native agent-first kanban)
./install.sh --with-sentinel # + Sentinel hook (cascade pre-push/pre-deploy)
./install.sh --with-code-graph # + Code Review Graph MCP (-8.2× tokens on monorepo audits)
# CLI bundles (opt-in)
./install.sh --with-container-clis # docker · kubectl · helm · k9s · lazydocker
./install.sh --with-monitoring-clis # vegeta · hyperfine · gping · mtr
./install.sh --with-ai-clis # ollama · apfel · aider · llm
./install.sh --with-doc-clis # mdbook · vale · markdownlint-cli2
./install.sh --with-data-clis # jq · yq · csvkit · duckdb · visidata
./install.sh --with-design-clis # imagemagick · ffmpeg · svgo · sharp-cli
./install.sh --with-devops-clis # terraform · ansible · pulumi · act
./install.sh --with-mobile-clis # xcrun · bundler · fastlane · expo · eas-cli
./install.sh --dry-run # simulate without writing
A shellcheck pre-commit hook is installed automatically — it lints staged
.sh files before every commit. Install shellcheck to activate it:
brew install shellcheck.
macOS 26+ bonus: install Apfel to offload micro-tasks (extraction, classification, summaries) to Apple Intelligence — free, local, zero Claude tokens.
brew install Arthur-Ficial/tap/apfel
From v5, ulk ships as a single Go binary (ulk) that
progressively replaces install.sh. V6 adds multi-LLM export
and a live dashboard.
ulk install [--with-*] # install — interactive TUI wizard on first run
ulk update [--check] # diff checksums + auto-rollback on error
ulk uninstall [--module] # remove one module, or --all
ulk status # modules ✓/○ + version
ulk verify # paths + prereqs + local LLMs
ulk check # detected CLIs + installed skills
ulk clean [--dry-run] # remove orphaned agents / skills
ulk dashboard [--serve] # TUI dashboard — CLIs, Skills, Agents, updates
State lives in ~/.ulk/state.json (atomic write). 72 typed
modules; backup & rollback are automatic. The Mole-style TUI launcher
(Bubble Tea + Catppuccin) opens on bare ulk.
Architecture & flow: /docs/guides/cli-go.
Build locally:
cd framework/cli
make build # → ./bin/ulk
make test # 275+ unit tests
make release-dry # simulate goreleaser release ulk v6 runs on three AI CLI alternatives in addition to Claude Code. Generate the context files once; commit them for your whole team.
ulk export --target codex # → AGENTS.md (OpenAI Codex CLI + Mistral Vibe)
ulk export --target gemini # → GEMINI.md + .gemini/agents/ (6 sub-agents)
ulk export --target mistral # → .vibe/agents/ (6 TOML configs)
ulk export --target all # → all platforms at once
ulk export --target all --dry-run # preview without writing
Ported agents (bruce · godspeed · sargeras · 2b3 · task-runner · verify)
cover the full dev cycle on Codex, Gemini, and Mistral Vibe.
Model mapping: opus → o3 / gemini-2.5-pro / mistral-medium-3-5.
Protocol: framework/agents/_shared/multi-provider-protocol.md
Cloud Claude Code sessions — no local machine needed. Five agents ported to run server-side via the Anthropic Managed Agents beta.
./install.sh --with-managed-agents # activate + generate YAML configs
ulk ma sargeras "Audit the repo — 10 axes"
ulk ma ed209 "OWASP security scan framework/agents/"
ulk ma 2b3 "End-of-session checkpoint"
ulk ma ci-guard "Fix failing CI on branch feat/x"
Agents: ed209 · sargeras · 2b3 · ci-guard · lovecraft-memory-capture.
IDs stored in .ulk/managed-agents/ids.json.
Protocol: framework/agents/_shared/managed-agents-protocol.md
Confirm the agents are wired up and the CLI helpers can be found.
./install.sh --verify
./framework/tools/check-tools.sh From inside any project, open Claude Code and run the orchestrator. Bruce auto-detects project state and routes to the right agent.
/ulk:bruce
# or simply type
bruce ulk releases are pulled by re-running the installer.
cd /path/to/ulk
git pull
./install.sh Removes installed agents from ~/.claude/.
./uninstall.sh
ulk adopts the
google-labs-code/design.md
format for DESIGN.md files at the project root. YAML
front-matter holds machine-readable tokens (colors, typography,
rounded, spacing, components with {colors.x} refs);
the Markdown body follows 8 canonical sections (Brand & Style,
Colors, Typography, Layout & Spacing, Elevation & Depth,
Shapes, Components, Do's & Don'ts).
agamotto (17) generates it from Figma / Pencil /
Penpot. brique (01) parses the YAML front-matter and
maps tokens to Tailwind / shadcn. No install needed — the format is
plain text. The official CLI is opt-in via npx:
# Lint + WCAG contrast check
npx @google-labs-code/design.md lint DESIGN.md
# Export to Tailwind tokens
npx @google-labs-code/design.md export --format tailwind DESIGN.md
# Export to W3C DTCG
npx @google-labs-code/design.md export --format w3c DESIGN.md