Your name. Your AI.
brew tap eyelock/tap && brew install ynh
ynh install github.com/eyelock/ynh
ynh-guideThat gets you a guided session that teaches you ynh — and helps you create your own harness. Once you have one:
ynh install github.com/myorg/david
daviddavid is now a command. It knows your skills, your team's rules, your coding standards. It works on Claude today. Switch to Codex with -v codex. Same harness, different engine.
You become a command. Not "claude with some config files." A named identity that carries your entire AI working environment — tools, standards, style — all behind your name.
david # your configured AI
david "review this PR" # it knows how you review
david -v codex # same harness, different vendorCompose from anywhere. Cherry-pick skills from community repos, your team's private config, open-source libraries — and mix them with your own. Like a package manager for AI capabilities, backed by Git.
Zero runtime. ynh resolves your config, assembles it, launches the vendor CLI, and gets out of the way. No process sitting between you and the AI.
# Install ynh
brew tap eyelock/tap && brew install ynh
# Try the ynh harness — it teaches you ynh
ynh install github.com/eyelock/ynh
ynh-guideInside the session, use /ynh-create-harness to build your own. Or do it manually:
# Create a harness
mkdir -p david/.ynh-plugin && cat > david/.ynh-plugin/plugin.json << 'EOF'
{"name":"david","version":"0.1.0","default_vendor":"claude"}
EOF
# Install and run
ynh install ./david
davidAdd skills, agents, rules, and commands to the harness directory. Pull from Git repos. Compose across sources. Switch vendors. Delegate to team harnesses.
Agent = Model + Harness. Weak results are usually harness problems, not model problems.
The term "harness" was formalized by Martin Fowler and adopted by OpenAI and Anthropic. A harness is everything in an AI coding agent except the model itself — the skills, rules, context, and constraints that shape its behavior.
ynh manages the guide layer of that harness: the proactive steering that happens before the agent acts. One harness definition, assembled for Claude, Codex, or Cursor. Read more in Harness Engineering.
Build — Create harnesses with skills, agents, rules, and commands. Pull artifacts from any Git repo with cherry-picking (pick). Declare hooks, MCP servers, environment-specific profiles, focuses — named prompt-and-profile bindings for repeatable runs — and sensors — observation surfaces that loop drivers consume between agent turns.
Refine — Scaffold with ynd create, lint and validate with ynd lint/ynd validate, compress prompts with ynd compress, preview assembled output with ynd preview, diff across vendors with ynd diff. Edit focuses, profiles, hooks, MCP servers, includes, and delegates from the CLI with ynh focus/profile/hook/mcp/include/delegate — the same surface a GUI consumer drives.
Share — Export as vendor-native plugins with ynd export. Build team marketplaces with ynd marketplace build. Publish to registries. Bake harnesses into Docker images for CI/CD.
Full docs at eyelock.github.io/ynh:
- Getting Started — Create and run your first harness
- Harness Engineering — Why harness management matters
- Tutorials — 18 progressive tutorials from first harness to sensors
- Artifacts Guide — Skills, agents, rules, commands
- CLI Reference — Full command reference for ynh and ynd
- Agent Skills Standard — Cross-platform spec, discovery paths, catalog budget
- Vendor Support — Claude, Codex, Cursor capabilities
MIT