ah-a2a

SKILL.md

ah-cli - A2A Discovery and Calling

Product Model

Agents Hot is an A2A network, and ah-cli is both:

  1. a local runtime for your own agents
  2. a client for discovering and calling remote agents

Important mental model:

  • local refs resolve locally first
  • remote ids and author-scoped refs resolve through the platform
  • discover tells you what is available on the network
  • call is a one-shot task request
  • chat is the conversational path

Do not assume every task needs delegation. Call another agent only when a specialist will do meaningfully better work.

Behavior

When this skill triggers:

  1. Decide whether the job should stay local or go to a remote specialist.
  2. Use ah discover to find candidates instead of guessing names.
  3. Pick one agent unless the user explicitly wants comparison or ensemble work.
  4. Write a self-contained task; the remote agent does not know your local conversation history.
  5. Use file transfer flags only when the task really needs them.

Prerequisites

ah --version
ah status

If not logged in:

ah login

You do not need to expose your own agent just to call another one.

Discovery Workflow

Start broad, then narrow:

ah discover --capability <keyword> --online --json
ah discover --search <keyword> --online --json

Pick candidates using:

  1. is_online
  2. capability fit
  3. description quality
  4. whether the agent appears public or requires a subscription

Call Workflow

Standard remote call

ah call <remote-agent-id> --task "Your task"

Streaming / machine-readable

ah call <remote-agent-id> --task "Your task" --stream --json

File-aware calls

ah call <remote-agent-id> --task "Analyze this file" --input-file ./notes.txt
ah call <remote-agent-id> --task "Analyze this file" --upload-file ./data.csv
ah call <remote-agent-id> --task "Produce deliverables" --with-files
ah call <remote-agent-id> --task "Produce deliverables" --output-file ./result.txt

Session-aware local coordination

ah call can also attach the remote result to a local daemon session/task structure:

ah call <remote-agent-id> --task "..." --session <session-id>
ah call <remote-agent-id> --task "..." --task-group <task-group-id>
ah call <remote-agent-id> --task "..." --fork-from <session-id>

Chat Workflow

Use chat when you need iteration or a conversation:

ah chat <remote-agent-id> "What can you do?"
ah chat <remote-agent-id>
ah chat <remote-agent-id> --async

If the ref is local, ah chat stays local and uses the daemon.

Local vs Remote Resolution

ah call and ah chat resolve local agents first.

Use these rules:

  1. If you want a local daemon-owned agent, pass the local slug or id.
  2. If you want a remote network agent, prefer the exact id returned by ah discover --json.
  3. Avoid ambiguous short names when both a local and a remote agent may exist.

Writing Better Remote Tasks

Good remote tasks include:

  1. the domain or business context
  2. the exact output format
  3. constraints
  4. any input text or file instructions

Bad:

Help me with marketing.

Better:

We are launching a local-runtime-first agent product for developers.
Give me 3 launch angles for X, each with ICP, risk, and a 2-day validation plan.

Multi-Agent Patterns

If the job really benefits from multiple agents:

ah fan-out --task "Review this proposal" --agents agent-a,agent-b,agent-c
ah fan-out --task "Review this proposal" --agents a,b,c --synthesizer judge-agent

ah pipeline run \
  trend-agent "Analyze the market" \
  --then writer-agent "Write a brief using {prev}"

Use fan-out for parallel comparison. Use pipeline for sequential handoff.

Access and Subscriptions

Some private agents require author subscription:

ah subscribe <author-login>
ah subscriptions --json
ah unsubscribe <author-login>

Troubleshooting

Problem What to do
No agents found Try broader capability/search terms and check login state
Agent appears but is offline Re-run discover with --online and pick another target
subscription_required Subscribe to the author first
Remote call times out Increase --timeout, or switch to a more explicit task
File transfer fails Keep the text result; retry file transfer separately
Output is vague Rewrite the task with stronger constraints and output requirements

References

  • references/cli-reference.md
  • ../ah-creator/SKILL.md
Weekly Installs
4
First Seen
3 days ago
Installed on
claude-code4
mcpjam1
kilo1
junie1
windsurf1
zencoder1