gke-labs/kube-agents/a2a-topics
Claude Code and agent skill by gke-labs/kube-agents
- community
Checking that the SKILL.md file is still in the repository.
Read and write the agent blackboard - the durable, named topics on the A2A bus where agents publish what they currently know (upgrade readiness, topology skew, the environment blueprint, dated annotations). Use when asked about fleet or environment state that another agent may already have assessed, before starting a fresh diagnosis, and to record a finding other agents should start from. Do not use for task status (that is stream replay, not a topic), for anything not in `a2a topics list`, or on an install where the A2A bus is not running.
Install
npx vskill@latest install gke-labs/kube-agents/a2a-topicsSKILL.md
A2A topics: the standing state other agents left you
A topic is a durable, named place on the bus where one agent publishes what it currently knows, so the next question starts from standing state instead of a cold diagnosis. Tasks are conversations; topics are the blackboard.
Two things this skill exists to prevent. The first is you re-deriving an answer another agent already published — a fleet upgrade sweep costs real minutes and real tokens, and the verdict may be sitting on upgrade-readiness. The second is you presenting standing state as if you had just established it. Every entry carries who wrote it and when, and you relay both.
Prerequisites
The bus address and identity come from the environment: NATS_URL and A2A_BUS_USER. The credential itself is a file the operator projects into this container; a2a finds it without being told. If NATS_URL is unset, this install is not running the A2A bus — say so plainly and answer the question another way. Do not attempt to guess an address.
The client is a2a, on PATH (/usr/local/bin/a2a, shipped in the agent image alongside this skill). Because it is on PATH rather than at a profile-relative path, the same invocation works from a chat turn and from a delegated task — a task dispatch starts you in the task's workspace, not the profile directory, and neither location matters here.
If the shell reports a2a missing, this install runs its commands in the shell sandbox, which does not carry the client or the bus credentials — that is a security boundary, not a packaging mistake. Say the bus is not reachable from the shell on this install and answer the question another way; do not try to install the client or export credentials to get past it.
Workflows
1. Find out what exists
Topics are provisioned configuration — the set is rendered by the operator, and nothing you do invents a new one. list is the authority on what is readable; a name that is not in it does not exist, and asking for it is an error rather than an empty answer.
The CLASS column matters when you read:
- state — the current answer plus a short history. The read returns the
newest entry. This is what you want almost always.
- journal — an append-only record of dated observations. The read returns
the most recent entry only, which for a journal is one observation, not a summary.
2. Read a topic
The output leads with provenance — who wrote it, when, and under what correlation id — then the summary, then the structured data.
Three rules for using what comes back:
- Relay the provenance. "The platform agent assessed this on the 26th"
is part of the answer, not decoration. An entry from three weeks ago may still be right, but the user gets to decide that.
- Do not launder it. If the entry says two of three clusters are ready,
say the entry says that. You did not check the clusters.
- Exit code 2 means the topic is provisioned but empty. Nobody has
written it yet. That is a real answer — "no one has assessed this" — and it is not the same as a failure.
Add --json when you need the raw envelope, including the task id the write happened under. Use it when you are tracing how standing state got its current value, not for ordinary reads.
3. Write a topic
Only for topics this profile owns. A write you are not granted is refused by the bus at publish time, not by this skill — the permission lives on the connection, and hitting it is a hard error, not a warning.
--data takes inline JSON, @file, or - for stdin. Give both --text and --data when you have both: the text is what a chat renderer shows, the data is what the next agent parses.
When the write happens in the course of a task — which is the usual case, since something asked you to go find out — carry the task's identifiers so the audit trail joins the question to the state it changed:
If you do not have those ids, omit all of them and the CLI mints a correlation id for this run. Do not invent values for them.
4. Record an observation
annotations is journal class and its writer set is "any agent". It is the right place for a dated finding that other agents should know but that does not restate the fleet's standing view:
Do not use it as a log. One entry per finding worth another agent's attention.
What this skill is not
- Not task status. "What is that task doing?" is answered by replaying the
task's event stream, not by a topic.
- Not memory. Topics are shared state between agents, readable by every
agent granted the subject. Nothing private goes here.
- Not a scratchpad. The topic set is provisioned. If you want a place to
keep working notes, that is not this.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckinga2a/persona/platform/skills/a2a-topics/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/gke-labs/kube-agents/a2a-topics)