A2a Protocol
internet-court/internet-court-skill
Builds Agent-to-Agent (A2A) servers and clients following Google's open protocol for agent interoperability.
Builds Agent2Agent (A2A) servers and clients, the open protocol (originally from Google, now under the Linux Foundation) that lets AI agents from different frameworks call each other.
$ npx skills add TerminalSkills/skills --skill a2a-protocol -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install TerminalSkills/skills a2a-protocol --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/TerminalSkills/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/a2a-protocol .claude/skills/a2a-protocol && 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-protocol" agent skill from https://github.com/TerminalSkills/skills/tree/main/skills/a2a-protocol into .claude/skills/a2a-protocol/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "a2a-protocol", 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/TerminalSkills/skills/tree/main/skills/a2a-protocolType 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 TerminalSkills/skills --skill a2a-protocol -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install TerminalSkills/skills a2a-protocol --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TerminalSkills/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/a2a-protocol .agents/skills/a2a-protocol && 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-protocol" agent skill from https://github.com/TerminalSkills/skills/tree/main/skills/a2a-protocol into .agents/skills/a2a-protocol/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "a2a-protocol", 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 TerminalSkills/skills --skill a2a-protocol -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install TerminalSkills/skills a2a-protocol --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TerminalSkills/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/a2a-protocol .cursor/skills/a2a-protocol && 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-protocol" agent skill from https://github.com/TerminalSkills/skills/tree/main/skills/a2a-protocol into .cursor/skills/a2a-protocol/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "a2a-protocol", 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/TerminalSkills/skills.git --path skills/a2a-protocol--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 TerminalSkills/skills --skill a2a-protocol -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install TerminalSkills/skills a2a-protocol --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TerminalSkills/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/a2a-protocol .gemini/skills/a2a-protocol && 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-protocol" agent skill from https://github.com/TerminalSkills/skills/tree/main/skills/a2a-protocol into .gemini/skills/a2a-protocol/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "a2a-protocol", 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 TerminalSkills/skills a2a-protocolInstalls 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 TerminalSkills/skills --skill a2a-protocol -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/TerminalSkills/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/a2a-protocol .github/skills/a2a-protocol && 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-protocol" agent skill from https://github.com/TerminalSkills/skills/tree/main/skills/a2a-protocol into .github/skills/a2a-protocol/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "a2a-protocol", 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 TerminalSkills/skills --skill a2a-protocol -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install TerminalSkills/skills a2a-protocol --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TerminalSkills/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/a2a-protocol .opencode/skills/a2a-protocol && 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-protocol" agent skill from https://github.com/TerminalSkills/skills/tree/main/skills/a2a-protocol into .opencode/skills/a2a-protocol/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "a2a-protocol", 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-protocolBuilds Agent2Agent (A2A) servers and clients, the open protocol (originally from Google, now under the Linux Foundation) that lets AI agents from different frameworks call each other.
A2a Protocol is an agent skill from TerminalSkills/skills. Builds Agent2Agent (A2A) servers and clients, the open protocol (originally from Google, now under the Linux Foundation) that lets AI agents from different frameworks call each other. Use when the user wants to create an A2A-compliant agent, build an Agent Card, implement task management, connect agents across frameworks, set up agent discovery, handle streaming responses, implement push notifications, or orchestrate multi-agent workflows. Trigger words: a2a, agent to agent, agent2agent, a2a protocol, a2a server…
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `_scores.json`). Compatibility notes: Python 3.10+ (a2a-sdk 1.x) or Node.js 20+ (@a2a-js/sdk 1.x). Go, Java and .NET SDKs also exist.
It sits in Productivity & Automation, covering LLM API integration, Building AI agents and Task management. It works with Agent2Agent Protocol, Linux and Python. The repository describes itself as: Open-source library of AI agent skills — SKILL.md files for Claude Code, Codex, Gemini CLI, Cursor. The licence is Apache-2.0.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit a021875. 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:
pipnpmpythoncurlFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip, npm and curl, which can reach the network depending on how they are called.
From 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.
Python 3.10+ (a2a-sdk 1.x) or Node.js 20+ (@a2a-js/sdk 1.x). Go, Java and .NET SDKs also exist.
From compatibility in the SKILL.md frontmatter.
A2a Protocol loads about 2.8k tokens when it runs. Until then it costs about 162 tokens; SKILL.md has 729 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 found no risky patterns in SKILL.md.
Automated 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 TerminalSkills/skills at commit a021875, republished under its Apache-2.0 licence (© TerminalSkills). 729 words, ~2,842 tokens.
.claude/skills/a2a-protocol/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.The Agent2Agent (A2A) protocol lets agents built on different frameworks discover each other through an Agent Card, exchange messages, and run long-lived tasks without exposing their internals. The current spec is 1.0 (a2a-protocol.org/v1.0.0/specification) with three bindings: JSON-RPC 2.0 over HTTP, HTTP+JSON/REST and gRPC; streaming uses SSE and async work can use webhook push notifications. This skill was checked against a2a-sdk 1.2.1 (Python) and @a2a-js/sdk 1.3.0.
Most tutorials online still show the 0.2/0.3 API (A2AStarletteApplication, TextPart, /.well-known/agent.json, A2AClient). Those no longer exist in 1.x. If a project pins a2a-sdk<1, follow the SDK's v0.3 to v1.0 migration guide (docs/migrations/v1_0 in the a2a-python repo) rather than mixing styles.
/.well-known/agent-card.json. Lists name, version, supportedInterfaces (one entry per transport: protocolBinding JSONRPC, HTTP+JSON or GRPC, plus url), capabilities, skills and security schemes. There is no top-level url any more.TASK_STATE_SUBMITTED, WORKING, INPUT_REQUIRED, AUTH_REQUIRED, COMPLETED, FAILED, CANCELED, REJECTED.role (ROLE_USER / ROLE_AGENT) and parts. A Part is a single unified type with text, raw (bytes), url or data; the old TextPart/FilePart/DataPart wrappers are gone.TaskState.TASK_STATE_WORKING, Role.ROLE_USER).pip install "a2a-sdk[http-server]" # core + Starlette/SSE server pieces
pip install "a2a-sdk[grpc]" # gRPC; also: [fastapi] [postgresql] [mysql] [sqlite] [telemetry] [all]
npm install @a2a-js/sdk express # Node; express is a peer dependency of the server helpersA server must follow one of two streaming patterns, or the SDK raises InvalidAgentResponseError: enqueue exactly one Message, or enqueue a Task first and then status/artifact updates until a terminal state. Never mix them.
import uvicorn
from starlette.applications import Starlette
from a2a.helpers import (new_task_from_user_message, new_text_artifact_update_event,
new_text_status_update_event)
from a2a.server.agent_execution import AgentExecutor, RequestContext
from a2a.server.events import EventQueue
from a2a.server.request_handlers import DefaultRequestHandler
from a2a.server.routes import create_agent_card_routes, create_jsonrpc_routes
from a2a.server.tasks import InMemoryTaskStore
from a2a.types import AgentCapabilities, AgentCard, AgentInterface, AgentSkill, TaskState
class BillingAgent(AgentExecutor):
async def execute(self, context: RequestContext, event_queue: EventQueue):
task = context.current_task or new_task_from_user_message(context.message)
await event_queue.enqueue_event(task) # Task first
await event_queue.enqueue_event(new_text_status_update_event(
task_id=task.id, context_id=task.context_id,
state=TaskState.TASK_STATE_WORKING, text="Looking up the invoice..."))
answer = f"Invoice INV-2041 is paid. You asked: {context.get_user_input()}"
await event_queue.enqueue_event(new_text_artifact_update_event(
task_id=task.id, context_id=task.context_id, name="answer", text=answer))
await event_queue.enqueue_event(new_text_status_update_event(
task_id=task.id, context_id=task.context_id,
state=TaskState.TASK_STATE_COMPLETED, text="Done"))
async def cancel(self, context: RequestContext, event_queue: EventQueue):
await event_queue.enqueue_event(new_text_status_update_event(
task_id=context.task_id, context_id=context.context_id,
state=TaskState.TASK_STATE_CANCELED, text="Canceled"))
card = AgentCard(
name="Billing Agent", description="Answers questions about invoices.", version="1.0.0",
supported_interfaces=[AgentInterface(protocol_binding="JSONRPC", url="http://127.0.0.1:9000/")],
capabilities=AgentCapabilities(streaming=True),
default_input_modes=["text/plain"], default_output_modes=["text/plain"],
skills=[AgentSkill(id="invoice-status", name="Invoice status",
description="Look up whether an invoice is paid", tags=["billing"],
examples=["Is invoice INV-2041 paid?"])],
)
handler = DefaultRequestHandler(agent_executor=BillingAgent(), task_store=InMemoryTaskStore(),
agent_card=card) # agent_card is required in 1.x
app = Starlette(routes=[*create_agent_card_routes(card),
*create_jsonrpc_routes(handler, rpc_url="/")])
uvicorn.run(app, host="127.0.0.1", port=9000)create_rest_routes(handler) adds the HTTP+JSON binding (declare it in supported_interfaces too). To serve old 0.3 clients as well, add a 0.3 AgentInterface with protocol_version="0.3" and pass enable_v0_3_compat=True to the route factories.
import asyncio
from a2a.client import create_client
from a2a.helpers import new_text_message, get_artifact_text
from a2a.types import Role, SendMessageRequest
async def ask(url: str, text: str) -> str:
client = await create_client(url) # fetches the Agent Card, picks a transport
try:
answer = ""
request = SendMessageRequest(message=new_text_message(text, role=Role.ROLE_USER))
async for chunk in client.send_message(request): # yields StreamResponse objects
if chunk.HasField("artifact_update"):
answer += get_artifact_text(chunk.artifact_update.artifact)
elif chunk.HasField("message"):
answer = chunk.message.parts[0].text
return answer
finally:
await client.close()
print(asyncio.run(ask("http://127.0.0.1:9000", "Is invoice INV-2041 paid?")))Each StreamResponse holds exactly one of task, message, status_update or artifact_update; test with HasField. Types are protobuf objects, so convert with MessageToDict and do not assign arbitrary attributes.
@a2a-js/sdk 1.x exports ClientFactory (createFromUrl(baseUrl), createFromAgentCard(card)), clients with sendMessage / sendMessageStream / getTask / cancelTask, and server pieces DefaultRequestHandler(agentCard, taskStore, agentExecutor), InMemoryTaskStore, plus agentCardHandler and jsonRpcHandler from @a2a-js/sdk/server/express, AGENT_CARD_PATH for the well-known path. An executor implements execute(requestContext, eventBus) and cancelTask(taskId, eventBus) and publishes with eventBus.publish(AgentEvent.task(...)), AgentEvent.statusUpdate(...). The 1.x types are generated from protobuf (Part.content is { $case: 'text', value: '...' }, enums are TaskState.TASK_STATE_WORKING). Start from the sample-agent and cli.ts files in the a2a-js repo (src/samples) and adapt them.
# Sequential: research -> write
facts = await ask("http://research-agent.internal:9001", "Summarize 2026 quantum error-correction results")
post = await ask("http://writer-agent.internal:9002", f"Write a 300-word blog post from these notes:\n{facts}")
# Parallel fan-out
market, rivals, feedback = await asyncio.gather(
ask("http://market-agent.internal:9003", "Analyze market trends"),
ask("http://competitor-agent.internal:9004", "Analyze competitor products"),
ask("http://support-agent.internal:9005", "Analyze customer feedback"),
)| A2A | MCP | |
|---|---|---|
| Purpose | Agent-to-agent delegation | Agent-to-tool/data access |
| Interaction | Stateful, long-running tasks, streaming, push | Stateless tool calls |
| Use when | Handing work to another autonomous agent | Calling a specific API or data source |
User request: "Build an A2A server that routes customer queries to billing-agent, technical-agent and sales-agent."
Create one AgentExecutor whose execute classifies the text from context.get_user_input(), calls the matching agent with ask(...), and publishes the reply as an artifact in a task stream (Task, WORKING update, artifact, COMPLETED). Serve a card with a single route-support-query skill. Run it with python router.py, then check curl -s http://127.0.0.1:9000/.well-known/agent-card.json: it returns the card JSON with supportedInterfaces. If no agent matches, end with TASK_STATE_INPUT_REQUIRED and a question, or hand off to a human.
User request: "Make code-writer, test-writer and code-reviewer independent A2A agents plus an orchestrator."
Run three servers on ports 9101 to 9103, each with its own card. The orchestrator calls ask() in order (write, then test, then review) and, when the reviewer's reply starts with "REJECT", sends the reviewer's notes back to code-writer for up to two more rounds. The result is the final approved code printed with the test file path.
/.well-known/agent-card.json; older /.well-known/agent.json is the 0.2/0.3 path.Task before any update.TASK_STATE_INPUT_REQUIRED and AUTH_REQUIRED explicitly; implement cancel for long tasks.capabilities.pushNotifications, a webhook with a token you verify) for tasks lasting minutes.InMemoryTaskStore loses tasks on restart; use the SQL stores (a2a-sdk[postgresql] and others) in production.© TerminalSkills, 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-protocol of TerminalSkills/skills.
Open the folder on GitHubat commit a021875
A2a Protocol 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 Protocol this skillTerminalSkills/skills | 162 | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| A2a Protocolinternet-court/internet-court-skill | 6.4k | 1 repos | ~2.5k | Automated safety check: Pass | Apache-2.0 | |
| Olore A2a Latestolorehq/olore | 103 | — | ~721 | Automated safety check: Pass | MIT | |
| Topydosundial-org/awesome-openclaw-skills | 663 | — | ~1.7k | Automated safety check: Notes | MIT | |
| Azure AI Projects Python SDKmicrosoft/skills | 3.1k | 6 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Flowfile AI Subsystem GuideEdwardvaneechoud/Flowfile | 370 | — | ~7k | Automated safety check: Notes | MIT |
internet-court/internet-court-skill
Builds Agent-to-Agent (A2A) servers and clients following Google's open protocol for agent interoperability.
olorehq/olore
Local A2A (Agent-to-Agent) protocol documentation (latest). An agent skill from olorehq/olore.
sundial-org/awesome-openclaw-skills
Manage todo.txt tasks using topydo CLI. An agent skill from sundial-org/awesome-openclaw-skills.
microsoft/skills
Reference for building on Microsoft Foundry with the azure-ai-projects Python SDK: project clients, versioned agents, evaluations, connections, datasets and indexes.
Edwardvaneechoud/Flowfile
Maps the /ai/ subsystem of flowfile_core, its three agent tiers, litellm seam, BYOK keys and rate limits, and sets rules for extending or debugging it safely.
microsoft/skills
Build Azure AI Foundry agents using the Microsoft Agent Framework Python SDK (agent-framework-azure-ai).
TerminalSkills/skills
Build custom Blender add-ons with Python. An agent skill from TerminalSkills/skills.
TerminalSkills/skills
Run local SEO from your terminal via the SEOG MCP server — Google Business Profile management, map-pack rank tracking and geo-grid scans, review sync and replies published to Google, competitor…
TerminalSkills/skills
Build marketplace and platform payment flows with Stripe Connect.
TerminalSkills/skills
Scripts and configures production rendering in Autodesk 3ds Max with the V-Ray and Corona renderers: output size and files, render elements, denoising, light mix, batch and command-line rendering…
TerminalSkills/skills
Covers scripting Autodesk 3ds Max, the 3D modeling and rendering application, with MAXScript and Python (pymxs): scene manipulation, object creation, material assignment, camera and light setup…
TerminalSkills/skills
3proxy is a small open-source proxy server that runs HTTP/HTTPS, SOCKS4/5, SNI and TCP/UDP port-mapping proxies from one config file.
Works with
Builds Agent2Agent (A2A) servers and clients, the open protocol (originally from Google, now under the Linux Foundation) that lets AI agents from different frameworks call each other. A2a Protocol is an agent skill from TerminalSkills/skills. Builds Agent2Agent (A2A) servers and clients, the open protocol (originally from Google, now under the Linux Foundation) that lets AI agents from different frameworks call each other.
A2a Protocol fits situations like: the user wants to create an A2A-compliant agent; build an Agent Card; implement task management; connect agents across frameworks.
Run `npx skills add TerminalSkills/skills --skill a2a-protocol -a claude-code`. Or copy the skill folder (skills/a2a-protocol in TerminalSkills/skills) into .claude/skills/a2a-protocol in your project. Claude Code loads it when a task matches its description.
Run `npx skills add TerminalSkills/skills --skill a2a-protocol -a codex`. Or copy the skill folder (skills/a2a-protocol in TerminalSkills/skills) into .agents/skills/a2a-protocol 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 TerminalSkills/skills --skill a2a-protocol -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-protocol, .gemini/skills/a2a-protocol, .github/skills/a2a-protocol and .opencode/skills/a2a-protocol in your project.
Going by SKILL.md and its folder, A2a Protocol needs the command-line tools its instructions call (pip, npm, python and curl). Our summary lists: Python 3; Node.js. Compatibility (from SKILL.md): Python 3.10+ (a2a-sdk 1.x) or Node.js 20+ (@a2a-js/sdk 1.x). Go, Java and .NET SDKs also exist..
SKILL.md contains no URLs. Its commands use pip, npm and curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
A2a Protocol 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 2.8k tokens (SKILL.md is roughly 11k 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 Protocol: A2a Protocol (internet-court/internet-court-skill, 6.4k stars), Olore A2a Latest (olorehq/olore, 103 stars), Topydo (sundial-org/awesome-openclaw-skills, 663 stars) and Azure AI Projects Python SDK (microsoft/skills, 3.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
TerminalSkills (a GitHub organization) maintains it in TerminalSkills/skills, which has 162 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 3, 2026.
Source: TerminalSkills/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.