yaah generates configuration for four coding agents from a single Go codebase. One command per agent, every repo, same result.
The Problem
Coding agent configuration is scattered everywhere. Settings live in JSON files, skills are markdown in random directories, hooks are shell scripts wired by hand, MCP servers need manual JSON entries. Multiply that by the number of repos and agents you use. Good luck keeping any of it consistent.
Features
yaah ships with batteries included. Turn off what you don't need.
Generate config for Claude Code, OpenCode, Codex CLI, and GitHub Copilot CLI from one codebase. Each gets files in its native format.
Linting (golangci-lint, ruff, prettier, tsc, biome, rustfmt), command guard, secret scanner, comment checker, and session logger out of the box. Plus an experimental tool-using fact-checker (opt-in via YAAH_EXPERIMENTAL_FACT_CHECK=1).
Compose handlers into sequential pipelines. Chain secret scanning with remediation advice, or build custom workflows with OnBlock, OnError, and Transform.
Built-in MCP server exposes yaah tools (secret scanning, linting, command checking) directly to your coding agent via stdio. Auto-discovered via .mcp.json.
77 skills organized by category, tags, risk level, and bundles. Search, filter, and discover skills via yaah skills CLI. Extend with external registries.
16 agents: executor, librarian, reviewer (built-in), researcher, planner, doc-writer, verifier (workflow), plus 9 remote agents for AI engineering, security, code review, DevOps, SRE, and performance benchmarking.
Go (gopls), Python (pyright), TypeScript, and C# language servers enabled through the official Claude Code marketplace. yaah doctor checks binaries exist.
Every tool call, blocked command, file modification, and security finding is logged to a per-session JSON file. Full audit trail across all sessions.
Marketplace plugins auto-enabled in settings.json. Ships with OpenAI Codex plugin for code review and task delegation via /codex:review and /codex:rescue.
Interface + registry pattern throughout. Implement hooks.Handler, mcp.Provider, skills.Skill, or agents.Agent and register it. Same pattern everywhere.
Project Workflow
29 slash commands that guide your AI agent through the full project lifecycle.
Core Workflow
Onboard a project: detect tech stack, ask about goals, create a roadmap with phases in .planning/.
Capture implementation decisions before planning. Eliminates gray areas with targeted questions.
Create wave-grouped plans with concrete verify criteria. Goal-backward methodology, max 3 tasks per plan.
Run plans wave-by-wave with parallel subagents. Atomic commits per task, automatic resumption.
Three-level artifact checks: existence, content, wiring. Stub detection and requirements traceability.
Generate codebase-verified documentation. Every claim traced to source code.
Auto-detect the next workflow step. One recommendation, exact command to run.
Execute a task without full planning. Optional --discuss, --research, --validate flags.
Shipping & Milestones
Create a pull request from verified phase work. Runs pre-flight checks before opening the PR.
Archive current milestone, tag release, and generate CHANGELOG.md. Closes the cycle cleanly.
Start a new version cycle with fresh goals. Resets progress tracking for the next phase set.
Session & Phase Management
Save session state to HANDOFF.md. Another session can pick up exactly where you left off.
Resume work from a previous session's HANDOFF.md. Full context restored, no re-discovery needed.
Manage roadmap phases. Add to end, insert urgently between existing ones, or remove future phases.
Quality, Security & Analysis
Structured code review of a phase implementation. Checks for bugs, security issues, and code quality.
STRIDE threat modeling and vulnerability analysis for a phase. Produces SECURITY.md.
Scan for security vulnerabilities, code quality issues, and stale dependencies in one pass.
Interactive codebase exploration and analysis. Understand structure before diving in.
Validate .planning/ directory integrity. Catches corrupted state before it causes issues.
Investigate failed or stuck workflow runs. Diagnose what went wrong and how to recover.
Status, Capture & Automation
Detailed project progress with metrics: phases done, tasks remaining, velocity, and blockers.
Zero-friction capture. Todos go to TODOS.md; notes land in notes/ without interrupting flow.
Import an existing project into the planning workflow, or run the full cycle without human checkpoints.
How It Works
Use the Go library to pick exactly what you need, or just use the built-in defaults.
One command creates config for all four agents. Target a specific agent with --agent.
Each agent gets files in its native format. Start a coding session and everything works.
Multi-Agent
Each agent gets config in its native format with per-agent adaptations.
| Agent | Settings | MCP | Hooks | Skills | Agents |
|---|---|---|---|---|---|
| Claude Code | .claude/settings.json |
.mcp.json |
embedded in settings | .claude/skills/ |
.claude/agents/ |
| OpenCode | opencode.json |
embedded ("mcp" key) |
.opencode/plugins/yaah.js |
.opencode/skills/ |
.opencode/agents/ |
| Codex CLI | .codex/config.toml |
embedded ([mcp_servers]) |
.codex/hooks.json |
.agents/skills/ |
not supported |
| Copilot CLI | none | .copilot/mcp-config.json |
.github/hooks/hooks.json |
.github/skills/ |
.github/agents/ |
Install
macOS and Linux
brew install dirien/tap/yaah
Requires Go 1.21+
go install github.com/dirien/yet-another-agent-harness/cmd/yaah@latest
CLI Reference