Anyagent — Development skill for Claude Code
A Rust crate to connect multiple harnesses under one, simple, up-to-date interface.
How to install Anyagent
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open spotta85/anyagent and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Anyagent does
A Rust crate to connect multiple harnesses under one, simple, up-to-date interface.
Alternatives in Development
- Agentic Stack — One brain, many harnesses 2.2k ★
- Claude Engineer — A version of command line interface(CLI) that leverages the power of Claude Opus(3-4.7) 954 ★
- Harnessrouter — HarnessRouter Community Edition: the self-hosted, Apache-2.0 edition of the unified interface for agent harnes 618 ★
README
anyagent
For apps that want to use the AI subscriptions a user already pays for.
[](https://github.com/spotta85/anyagent/actions/workflows/ci.yml) [](https://crates.io/crates/anyagent) [](https://anyagent.mintlify.site) [](https://docs.rs/anyagent) [](#license)
One Up-to-date, feature-rich Rust interface to the agents already on a users machine.
Users have Claude Code, Codex, Cursor, Grok, OpenCode, Kiro, Antigravity, and friends on their machines — each with its own CLI, protocol, and quirks. If you're building an app on top of them, you end up writing and maintaining a driver per agent. anyagent is that layer, **once: it finds the agents, speaks each one's protocol (native or [ACP](https://agentclientprotocol.com)), and gives you one typed API — `Runtime`, `Session`, and a stream of `Events`**.
Your app keeps its own transcript, UI, and policy. anyagent owns the processes, the wires, and the turn rules — every agent behaves the same way through it.
Use
[dependencies]
anyagent = "0.0.5"
use anyagent::{EventKind, Runtime, SessionOptions};
use futures::StreamExt;
let runtime = Runtime::new();
let report = runtime.discover().await;
let agent = report.require("claude")?;
let (session, mut events) = runtime.open(agent, SessionOptions::in_dir(".")).await?;
session.prompt("explain this repo").await?;
while let Some(event) = events.next().await {
match event?.kind {
EventKind::TextDelta { text, .. } => print!("{text}"),
EventKind::TurnEnded { ..
Related Skills
Tally XML API Skill
Read-only Claude skill for TallyPrime's HTTP/XML interface (port 9000). Builds Export requests, parses respons
Yoink
Switch Claude Code, Codex, Kimi, Gemini and Copilot logins, and connect API-key providers to 13 coding harness
Learn Agent Harness
Build your own coding-agent harness in Rust — a bilingual (EN/中文) learning path through four real harnesses: p
OpenAgentCore
Open-source, self-hosted implementation of the OpenAI Agents API with multiple native harnesses.
Tokrs
A command-line interface (CLI) for analyzing token usage in local logs, supporting Claude, Codex, OpenCode, Ki
Kiss
Keep it simple, stupid. A highly performant agent harness inspired by Pi, built in Rust.
Related Agents
Interface Verifier
Validates interfaces compile correctly across multiple languages. Checks for type safety, circular dependencie
Agent TDD Crate Agent
Use when implementing one or more tasks in a specific Rust workspace crate with strict TDD discipline. Trigger
Rustkb Curator
Maintains the rustkb curated knowledge base itself — fixes drift reported by rustkb stale (new crate majors, n