# Show HN: theta-spec - a humble harness agnostic configuration spec

> Source: <https://github.com/tamarillo-ai/theta-spec>
> Published: 2026-05-29 01:09:54+00:00

**theta-spec** is a declarative, harness-agnostic configuration standard for AI coding agents. One `theta.toml`

file defines the full configuration surface, i.e. instructions, rules, tools, skills, subagents. A protocol is specified for the lifecycle of this configuration file, and any theta-spec compliant implementation can resolve, lock, and cast it to any supported harness.

is the default implementation of this spec — a Rust CLI that resolves, locks, and casts[theta]`theta.toml`

to any supported harness.

All the documentation for the specification is present [here](https://theta-spec.tamarillo.ai/) and can also be built and served locally by running

```
uv run mkdocs serve --livereload
```

Agent harnesses are here to stay. Each one ships its own configuration format but still all of them share similarities. Maintaining and declaring configurations is a burden. There is no standard way to share, version, or reproduce an agent configuration.

Parametrizing the configuration surface into a single manifest:

- Displays the exhaustive configuration at a glance
- Provides an entrypoint for searching the resources that define an agent
- Enables reproducible configurations between people and between agents
- Makes mutation strategies explicit and diffable
- Facilitates maintenance across harness updates
- Enables a project lifecycle tool, which is why the
[theta CLI](https://theta.tamarillo.ai/)exists

A parametrized function and a well-defined cost function enables function approximation. If the goal is to optimize the way we work with agents, this is the first tiny step towards building the tooling needed to cover at least one gap, the parameters.

Most of the spec is read-self-explanatory for anyone familiar with agent harnesses. A detailed and exhaustive description of each one of the defining fields can be found [condensed here](/tamarillo-ai/theta-spec/blob/main/docs/spec/manifest.md) and also [in the manifest section of this doc](/tamarillo-ai/theta-spec/blob/main/docs/manifest/index.md).

This is how a `theta.toml`

looks:

```
[theta]
schema = "2026-04"

[agent]
name = "harness-researcher"
description = "researches agent harness configurations across public repos"
version = "0.1.0"
authors = ["ivan <ivan@tamarillo.ai>"]
model = "claude-sonnet-4-20250514"

[instructions]
system = "instructions/system.md"

[instructions.rules.concise]
src = "instructions/rules/concise.md"
apply = "always"

[instructions.rules.rust]
src = "instructions/rules/rust.md"
apply = "glob"
apply_to = ["*.rs"]

[tools.context7]
command = ["npx", "-y", "@upstash/context7-mcp@latest"]

[tools.playwright]
command = ["npx", "@anthropic-ai/playwright-mcp"]

[tools.memory]
command = ["npx", "-y", "@modelcontextprotocol/server-memory"]

[skills.osint]
source = { path = "skills/osint" }

[[subagents]]
name = "scraper"
description = "scrapes github repos for harness config patterns"
prompt_path = "subagents/scraper.md"
model = "claude-sonnet-4-20250514"
tools = ["playwright"]

[[subagents]]
name = "analyst"
ref = "agents/analyst/theta.toml"
```

The following harnesses are supported. Prioritization is based on adoption research.

[theta](https://theta.tamarillo.ai/)— Rust CLI (reference implementation)[MCP](https://modelcontextprotocol.io/specification/2025-11-25)— tool protocol standard[Agent Skills spec](https://agentskills.io/specification)— skill packaging standard

A declarative, harness-agnostic agent configuration standard.

See [CONTRIBUTING.md](/tamarillo-ai/theta-spec/blob/main/CONTRIBUTING.md) for how to propose spec changes, request new harnesses, and the TEP process.

Check [STYLE.md](/tamarillo-ai/theta-spec/blob/main/STYLE.md) for documentation conventions.
