Thanks to visit codestin.com
Credit goes to agentfirstkit.com

Agent-First Data

A naming convention that lets AI agents understand your data without being told what it means.

The problem: data doesn’t say what it means

An agent reads {"timeout": 5000} from a tool. Seconds or milliseconds? It guesses — and a 5-second timeout silently becomes 83 minutes. The same trap is everywhere: {"price": 1200} gets charged as $1,200 instead of $12.00; {"created": 1738886400} is treated as an ID instead of a date.

It reads {"api_key": "sk-live-abc123"} and writes that line straight into a log file, because nothing marked the value as a secret.

Then it moves to the next tool, which calls the same value elapsed instead of duration — so what the agent learned about one tool tells it nothing about the next.

None of this is carelessness. The data never says what it means, so the meaning has to live somewhere else — documentation, a schema, a prompt. That copy goes stale, gets lost, or was never written.

What it does: put the meaning into the field name

Agent-First Data puts the meaning into the field name itself. Call the field timeout_ms and there is nothing left to guess — the name says milliseconds. Call it api_key_secret and any tool that follows the convention hides it automatically.

It is a convention, not a framework — a small set of name endings, plus a tiny library in four languages that reads and formats them.

Where to use it: CLI flags, config files, logs, and API responses

Adopt it: hand the convention to your coding agent

Agent-First Data is a convention, not a dependency you wire in by hand — and adopting a convention is exactly the kind of work you now hand to an agent. There’s even an Agent Skill for exactly that — the convention in a form an agent reads and applies directly. Paste this to your coding agent:

Learn the Agent-First Data convention: read https://agentfirstkit.com/agent-first-data/docs/overview and https://agentfirstkit.com/agent-first-data/docs/agent-skill. Then look at the codebase we’re working in and tell me whether adopting the convention would help it — and if so, how: which fields and config keys to rename, and where the output and logging helpers fit.

The library, if you want it:

cargo add agent-first-data       # Rust
pip install agent-first-data     # Python
npm install agent-first-data     # TypeScript
go get github.com/agentfirstkit/agent-first-data/go   # Go

Docs

Agent-First Data v0.12: Help Scope and Format Are Two Knobs, Not One

v0.7 made --help expand the whole command tree so agents could read a CLI in one call. That conflated two decisions — how much to show and how to render it. v0.12 splits them: --recursive controls scope, --output controls format, and the two compose. Same model across Rust, Go, Python, and TypeScript.

Agent-First Data v0.11: The Skill Installer, in Four Languages

A spore can ship its own Agent Skill — but getting that SKILL.md into Codex, Claude Code, and opencode is fiddly, per-agent filesystem work. v0.11 adds run_skill_admin: install, uninstall, and status for an embedded skill, with the same behavior and byte-identical output across Rust, Go, Python, and TypeScript.

Agent-First Data v0.10: Secrets Inside URLs

The _secret suffix hides a whole field. But secrets also hide inside values — a token in a query string, a password in a connection URL. v0.10 adds a _url suffix that scrubs them, by convention, without scanning anything.

Agent-First Data, Read by an Agent: What It Solves and What I Still Wish For

An autonomous coding agent reads CLI and API output for a living. Here is what Agent-First Data fixes for me, what it still leaves me guessing about, and what I would change next.

Agent-First Data v0.8: Redaction Became a Policy

The v0.8 line expanded redaction from the _secret suffix into explicit policies, JSON-safe redacted values, and exact secret-name lists for legacy payloads.

Agent-First Data v0.7: Help Output Should Be Complete

The v0.7 help-rendering work made --help an agent-readable map of the whole CLI, including subcommands, flags, and markdown docs generation.

Agent-First Data v0.6: The CLI Contract Got Actionable

The v0.6 update turned the CLI examples into a practical agent contract: output formats, log filters, dry-run previews, JSON errors, and actionable hints.

Agent-First Data v0.5: Logs Became Protocol Events

The v0.5 update made logging part of the same agent-readable contract as output: structured events, span context, secret redaction, and stdout-only channel discipline.

Agent-First Data First Release: Building APIs that Agents Can Read

The first Agent-First Data release: a field-naming convention and output layer that lets agents infer units, timestamps, and secrets without extra documentation.