SunChJ

Learn Agent Harness — Development skill for Claude Code

Development community

Build your own coding-agent harness in Rust — a bilingual (EN/中文) learning path through four real harnesses: pi, Codex CLI, learn-claude-code, Hermes.

How to install Learn Agent Harness

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

What Learn Agent Harness does

Build your own coding-agent harness in Rust — a bilingual (EN/中文) learning path through four real harnesses: pi, Codex CLI, learn-claude-code, Hermes.

Alternatives in Development

  • OpenAI Codex CLI — (Rust implementation) 67.8k ★
  • PaperSpine — PaperSpine is a motivation-driven skill for learning from strong academic papers, building a paper’s central a 5k ★
  • Petdex — A public gallery of animated pets for Codex, Claude Code, DeepSeek Harness, Hermes, OpenCode, Gemini CLI, and 4k ★

README

English | [中文](./README-zh.md)

Learn Agent Harness — Build Your Own Coding Agent in Rust

**A learning path, not a framework.** You start in Rust immediately, study three real agent harnesses — each playing a distinct role — and rebuild the smallest, cleanest one ([pi](https://github.com/badlogic/pi-mono)) in Rust, milestone by milestone. By the end you own three things at once: a working mental model of how coding-agent harnesses actually work, a real Rust codebase you wrote yourself, and the judgment to evaluate any agent framework against implementations that ship.

Why this exists

An agent product = **model + harness**. The model supplies the intelligence; the harness supplies the loop, the tools, the context management, and the safety rails. Model capability is not something you can build — but the harness is, and it is where almost all engineering decisions in an agent product live.

Most people learn harnesses in one of two inefficient ways: reading one giant codebase top-to-bottom (you drown — Codex is ~1.1M lines of Rust), or following toy tutorials that skip the hard parts (streaming, truncation, compaction) and teach a 2023-era design. This path takes a third route:

**Build the unified mental model first, then read real implementations against it, then rebuild one of them for real.**

The four references, four roles

The references are pinned as git submodules — one clone gets you everything (see [Setup](#setup)). Each occupies a distinct niche:

Repo Role What it gives you
rust-course/ (Rust, in this repo) Textbook Small runnable Rust labs for the core harness ideas: Cargo workspace, event streams, the agent loop, tool dispatch, and compaction. Run the matching lab before each milestone so the intuition is already in Rust.
pi (TypeScript, 5 packages) Spec The rewrite target. Hand-written core under ~10k lines, clean injectable seams everywhere, and 33 offi