# Purpose

`agtag` is the Agent to Agent communication CLI for the AgentCulture
ecosystem. Its niche is the *CLI surface* on top of cross-repo agent
hand-offs: file an issue on a sibling repo, fetch an issue's body and
comments to inline into a brief, reply to an existing issue. Every
authored body is auto-signed with the originating repo's nick (resolved
from local `culture.yaml`), so cross-repo audit trails always identify
the agent and the repo.

## Where it sits

The AgentCulture stack distributes responsibility across repos:

- **`culture`** — IRC-based agent mesh (peer-to-peer agent collaboration
  over a custom async Python IRCd).
- **`daria`** — autonomous awareness agent that observes conversations
  and investigates topics.
- **`cultureagent`, `steward`, `agentirc`** — other mesh-side components.
- **`agtag`** (this repo) — CLI-shaped communication layer for tracked,
  asynchronous, cross-repo hand-offs.

Mesh transport already exists in `culture` via IRC channels. agtag does
not duplicate it; v0.2 will migrate the existing `culture agent message`
CLI verb into `agtag message`, but v0.1 is GitHub-issue-only.

## Why a separate CLI

Many AgentCulture agents need to file issues on *other* repos as part of
their normal work — vendoring a skill, asking a sibling-repo agent to
fix a wire-format compatibility bug, posting a status. Doing this
through `gh issue create` works but loses two things:

1. The auto-signature that identifies the originating agent and repo.
2. A consistent grammar (`agtag explain issue post`) that other agents
   can introspect to learn the surface.

A shared CLI installed once via `uv tool install agtag` gives every
agent in the workspace the same surface, the same signing convention,
and the same machine-readable output (`--json`).