Kql Validator
Azure/azqr
Validate KQL (Kusto Query Language) files used in Azure Quick Review (azqr) against their recommendation definitions.
Delegate work to A2A (Agent2Agent) agents from the command line with the a2a CLI (github.com/a2aproject/a2a-cli).
$ npx skills add a2aproject/a2a-cli --skill a2a-cli -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install a2aproject/a2a-cli a2a-cli --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/a2aproject/a2a-cli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/a2a-cli .claude/skills/a2a-cli && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "a2a-cli" agent skill from https://github.com/a2aproject/a2a-cli/tree/main/skills/a2a-cli into .claude/skills/a2a-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "a2a-cli", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/a2aproject/a2a-cli/tree/main/skills/a2a-cliType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add a2aproject/a2a-cli --skill a2a-cli -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install a2aproject/a2a-cli a2a-cli --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/a2aproject/a2a-cli.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/a2a-cli .agents/skills/a2a-cli && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "a2a-cli" agent skill from https://github.com/a2aproject/a2a-cli/tree/main/skills/a2a-cli into .agents/skills/a2a-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "a2a-cli", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add a2aproject/a2a-cli --skill a2a-cli -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install a2aproject/a2a-cli a2a-cli --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/a2aproject/a2a-cli.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/a2a-cli .cursor/skills/a2a-cli && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "a2a-cli" agent skill from https://github.com/a2aproject/a2a-cli/tree/main/skills/a2a-cli into .cursor/skills/a2a-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "a2a-cli", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/a2aproject/a2a-cli.git --path skills/a2a-cli--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add a2aproject/a2a-cli --skill a2a-cli -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install a2aproject/a2a-cli a2a-cli --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/a2aproject/a2a-cli.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/a2a-cli .gemini/skills/a2a-cli && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "a2a-cli" agent skill from https://github.com/a2aproject/a2a-cli/tree/main/skills/a2a-cli into .gemini/skills/a2a-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "a2a-cli", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install a2aproject/a2a-cli a2a-cliInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add a2aproject/a2a-cli --skill a2a-cli -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/a2aproject/a2a-cli.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/a2a-cli .github/skills/a2a-cli && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "a2a-cli" agent skill from https://github.com/a2aproject/a2a-cli/tree/main/skills/a2a-cli into .github/skills/a2a-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "a2a-cli", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add a2aproject/a2a-cli --skill a2a-cli -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install a2aproject/a2a-cli a2a-cli --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/a2aproject/a2a-cli.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/a2a-cli .opencode/skills/a2a-cli && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "a2a-cli" agent skill from https://github.com/a2aproject/a2a-cli/tree/main/skills/a2a-cli into .opencode/skills/a2a-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "a2a-cli", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
a2a-cliDelegate work to A2A (Agent2Agent) agents from the command line with the a2a CLI (github.com/a2aproject/a2a-cli).
A2a CLI is an agent skill from a2aproject/a2a-cli. Delegate work to A2A (Agent2Agent) agents from the command line with the a2a CLI (github.com/a2aproject/a2a-cli). Use when you need to hand a task to a specialized or remote agent, fetch an agent's card, send a message to an agent at a URL, stream or poll a running task, or check, list, resume, or cancel an A2A task. Not for building or serving an A2A agent, or for calling non-A2A HTTP APIs.
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `README.md`). Compatibility notes: Requires the a2a binary on PATH. Install it with Homebrew or WinGet, from a prebuilt release binary, or from source with a Go toolchain. The skill installs…
It sits in Backend & APIs, covering REST APIs. It works with Agent2Agent Protocol and GitHub. The repository describes itself as: The official command-line interface for interacting with A2A (Agent2Agent) compatible agents. The licence is Apache-2.0.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit eaf1678. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
brewgowingetFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
a2a-protocol.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires the `a2a` binary on PATH. Install it with Homebrew or WinGet, from a prebuilt release binary, or from source with a Go toolchain. The skill installs nothing itself.
From compatibility in the SKILL.md frontmatter.
A2a CLI loads about 1.5k tokens when it runs. Until then it costs about 101 tokens; SKILL.md has 612 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
`.env` file (a local `.env`, or `~/.config/a2a-cli/.env`), or the persistentocal file > user `config.yaml` > global `.env`. Inspect the effective valuesAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from a2aproject/a2a-cli at commit eaf1678, republished under its Apache-2.0 licence (© a2aproject). 612 words, ~1,525 tokens.
.claude/skills/a2a-cli/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.a2a CLIa2a is a stateless client for the A2A protocol:
give it an agent and a message, it negotiates the transport from the agent's
card (JSON-RPC, REST, or gRPC), sends the message, and reports what the agent
returned.
taskId and a contextId, and moves through
states. It can complete, fail, be cancelled, or become interrupted when it
needs your input or authentication to continue.--task-id.--context-id: a Task created in reply joins that
context. Many tasks can share one context, and a --task-id and --context-id
passed together must agree.taskId/contextId to
return to work later.The skill drives the a2a binary and does not install it. Confirm it is on your
PATH with a2a version; if that fails, install it by the method that fits your
platform:
Homebrew (macOS / Linux):
brew tap a2aproject/a2a-cli https://github.com/a2aproject/a2a-cli
brew install a2aWinGet (Windows): winget install a2aproject.a2acli
Prebuilt binary: download the archive for your platform from the
releases page,
extract it, and put the a2a binary on your PATH.
From source (Go toolchain; re-run to update):
go install github.com/a2aproject/a2a-cli@latest
# go install names the binary a2a-cli; rename it to a2a to match the docs
mv "$(command -v a2a-cli)" "$(dirname "$(command -v a2a-cli)")/a2a"Treat a2a help and a2a <command> --help as the source of truth for the current commands and flags. If a command is rejected as unknown or a
flag no longer exists, your SKILL.md copy is likely stale — run a2a skill and update
your local SKILL.md from its output.
Point at an agent with -a <host|url|path> (resolves its card and picks a
transport) or -e <url> --transport <rest|jsonrpc|grpc> (connect directly).
Inspect the agent — confirm it is reachable and see what it supports:
a2a card get https://agent.example.comSend a message. send blocks until the task reaches a terminal or
interrupted state. Add -o json for machine-readable output, and note the
taskId and contextId in the response — you need them to continue:
a2a send -a https://agent.example.com "Summarize this repo"
a2a send -a https://agent.example.com -o json "Summarize this repo"Follow a long task live instead of blocking, or re-attach to one later:
a2a send -a https://agent.example.com --stream "Run a long analysis"
a2a task subscribe -a https://agent.example.com <task-id>Check status and fetch results at any time:
a2a task get -a https://agent.example.com <task-id>Answer an interrupted task (it reached INPUT_REQUIRED / AUTH_REQUIRED)
by replying on the same task:
a2a send -a https://agent.example.com --task-id <task-id> "Yes, proceed"Continue the conversation as a new task in the same context:
a2a send -a https://agent.example.com --context-id <context-id> "Follow-up question"List or cancel tasks:
a2a task list -a https://agent.example.com
a2a task cancel -a https://agent.example.com <task-id>Run a2a <command> --help for the full, current set. The load-bearing ones:
| Flag | Use |
|---|---|
-a, --agent-card <host|url|path> | Resolve the agent's card (picks the transport). |
-e, --endpoint <url> + --transport <rest|jsonrpc|grpc> | Connect to one interface directly, skipping card resolution. |
-o, --output json | Machine-readable output; add --stream for a live event stream. |
--async | Return immediately with the identifiers instead of blocking; poll later with task get. |
--task-id <id> / --context-id <id> | Continue a task / group a new task under a context. |
--save-fileparts <dir> | Save raw file parts from responses (artifacts and messages) as files under <dir>; the output still summarizes them by name/type/size. |
--auth "<creds>" / --svc-param <k=v> | Attach credentials or transport parameters (or set A2ACLI_* env vars). Never commit a secret. |
Every setting can come from a flag, an A2ACLI_* environment variable, a
.env file (a local .env, or ~/.config/a2a-cli/.env), or the persistent
user-level ~/.config/a2a-cli/config.yaml; precedence is flag > env var >
local file > user config.yaml > global .env. Inspect the effective values
and where each resolved from with a2a config show (secrets redacted).
Command plugins — a2a-<name> binaries on PATH that add top-level commands —
are opt-in and disabled by default. Enable discovery with a2a plugin set-enabled true.
© a2aproject, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/a2a-cli of a2aproject/a2a-cli.
Open the folder on GitHubat commit eaf1678
A2a CLI next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| A2a CLI this skilla2aproject/a2a-cli | 152 | — | ~1.5k | Automated safety check: Notes | Apache-2.0 | |
| Kql ValidatorAzure/azqr | 794 | — | ~703 | Automated safety check: Pass | MIT | |
| Ship Coolifykovrichard/catalyst | 470 | — | ~1.9k | Automated safety check: Notes | None | |
| Readme Generator Probeizhi23/README-Generator-Pro | 113 | — | ~472 | Automated safety check: Notes | None | |
| Latchkeyimbue-ai/latchkey | 130 | — | ~1.3k | Automated safety check: Pass | MIT | |
| B24phpsdk Maintainerbitrix24/b24phpsdk | 102 | — | ~10k | Automated safety check: Notes | MIT |
Azure/azqr
Validate KQL (Kusto Query Language) files used in Azure Quick Review (azqr) against their recommendation definitions.
kovrichard/catalyst
Verify a Coolify deploy end-to-end after a push — wait for GitHub CI, then the Coolify deployment, confirm the commit is live, and run a visual check.
beizhi23/README-Generator-Pro
Generate, modify, and render professional README.md files and project introduction HTML pages using the bundled README Generator Pro FastAPI application.
imbue-ai/latchkey
Interact with third-party or self-hosted services (Slack, Google Workspace, Dropbox, GitHub, Linear, Coolify...) using their HTTP APIs on the user's behalf.
bitrix24/b24phpsdk
A skill your agent uses whenever working with GitHub issues in the bitrix24/b24phpsdk repository: creating new issues, reading existing ones, planning implementation from an issue, referencing an…
imbue-ai/latchkey
Interact with arbitrary third-party or self-hosted services (AWS, Slack, Google Drive, Dropbox, GitHub, GitLab, Linear, Coolify...) using their HTTP APIs.
Works with
Categories
Delegate work to A2A (Agent2Agent) agents from the command line with the a2a CLI (github.com/a2aproject/a2a-cli). A2a CLI is an agent skill from a2aproject/a2a-cli.com/a2aproject/a2a-cli).
A2a CLI fits situations like: you need to hand a task to a specialized; fetch an agents card; send a message to an agent at a URL; poll a running task.
Run `npx skills add a2aproject/a2a-cli --skill a2a-cli -a claude-code`. Or copy the skill folder (skills/a2a-cli in a2aproject/a2a-cli) into .claude/skills/a2a-cli in your project. Claude Code loads it when a task matches its description.
Run `npx skills add a2aproject/a2a-cli --skill a2a-cli -a codex`. Or copy the skill folder (skills/a2a-cli in a2aproject/a2a-cli) into .agents/skills/a2a-cli in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add a2aproject/a2a-cli --skill a2a-cli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/a2a-cli, .gemini/skills/a2a-cli, .github/skills/a2a-cli and .opencode/skills/a2a-cli in your project.
Going by SKILL.md and its folder, A2a CLI needs the command-line tools its instructions call (brew, go and winget). Compatibility (from SKILL.md): Requires the `a2a` binary on PATH. Install it with Homebrew or WinGet, from a prebuilt release binary, or from source with a Go toolchain. The skill installs nothing itself..
SKILL.md names 1 domain. As links in the text: a2a-protocol.org. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
A2a CLI is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 6.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with A2a CLI: Kql Validator (Azure/azqr, 794 stars), Ship Coolify (kovrichard/catalyst, 470 stars), Readme Generator Pro (beizhi23/README-Generator-Pro, 113 stars) and Latchkey (imbue-ai/latchkey, 130 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
a2aproject (a GitHub organization) maintains it in a2aproject/a2a-cli, which has 152 GitHub stars. The repository was last updated on October 1, 2026.
Source: a2aproject/a2a-cli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.