Simple English
moeru-ai/airi
Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.
A skill your agent uses when taking an existing in-repo GAIA agent to a published, day-one-usable hub package — porting a legacy agent under hub/agents/<id/, deciding whether an agent should ship at…
$ npx skills add amd/gaia --skill porting-agent-to-hub -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install amd/gaia porting-agent-to-hub --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/amd/gaia.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/porting-agent-to-hub .claude/skills/porting-agent-to-hub && 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 "porting-agent-to-hub" agent skill from https://github.com/amd/gaia/tree/main/.claude/skills/porting-agent-to-hub into .claude/skills/porting-agent-to-hub/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "porting-agent-to-hub", 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/amd/gaia/tree/main/.claude/skills/porting-agent-to-hubType 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 amd/gaia --skill porting-agent-to-hub -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install amd/gaia porting-agent-to-hub --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/amd/gaia.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/porting-agent-to-hub .agents/skills/porting-agent-to-hub && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "porting-agent-to-hub" agent skill from https://github.com/amd/gaia/tree/main/.claude/skills/porting-agent-to-hub into .agents/skills/porting-agent-to-hub/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "porting-agent-to-hub", 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 amd/gaia --skill porting-agent-to-hub -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install amd/gaia porting-agent-to-hub --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/amd/gaia.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/porting-agent-to-hub .cursor/skills/porting-agent-to-hub && 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 "porting-agent-to-hub" agent skill from https://github.com/amd/gaia/tree/main/.claude/skills/porting-agent-to-hub into .cursor/skills/porting-agent-to-hub/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "porting-agent-to-hub", 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/amd/gaia.git --path .claude/skills/porting-agent-to-hub--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 amd/gaia --skill porting-agent-to-hub -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install amd/gaia porting-agent-to-hub --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/amd/gaia.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/porting-agent-to-hub .gemini/skills/porting-agent-to-hub && 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 "porting-agent-to-hub" agent skill from https://github.com/amd/gaia/tree/main/.claude/skills/porting-agent-to-hub into .gemini/skills/porting-agent-to-hub/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "porting-agent-to-hub", 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 amd/gaia porting-agent-to-hubInstalls 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 amd/gaia --skill porting-agent-to-hub -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/amd/gaia.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/porting-agent-to-hub .github/skills/porting-agent-to-hub && 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 "porting-agent-to-hub" agent skill from https://github.com/amd/gaia/tree/main/.claude/skills/porting-agent-to-hub into .github/skills/porting-agent-to-hub/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "porting-agent-to-hub", 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 amd/gaia --skill porting-agent-to-hub -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install amd/gaia porting-agent-to-hub --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/amd/gaia.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/porting-agent-to-hub .opencode/skills/porting-agent-to-hub && 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 "porting-agent-to-hub" agent skill from https://github.com/amd/gaia/tree/main/.claude/skills/porting-agent-to-hub into .opencode/skills/porting-agent-to-hub/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "porting-agent-to-hub", 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.
porting-agent-to-hubA skill your agent uses when taking an existing in-repo GAIA agent to a published, day-one-usable hub package — porting a legacy agent under hub/agents/<id/, deciding whether an agent should ship at…
Porting Agent To Hub is an agent skill from amd/gaia. Use when taking an existing in-repo GAIA agent to a published, day-one-usable hub package — porting a legacy agent under hub/agents/<id/, deciding whether an agent should ship at all, or answering why an agent 'is not ready to publish'. Also use when an agent's manifest advertises capability its code does not deliver, or when an agent has a README but no SPEC/SKILL/CHANGELOG/SCORECARD.
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Changelog and release notes and Technical documentation. The repository describes itself as: Build AI agents for your PC. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 05fb50b. 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:
dockerFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use docker, 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.
Porting Agent To Hub loads about 2.4k tokens when it runs. Until then it costs about 103 tokens; SKILL.md has 1,254 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 amd/gaia at commit 05fb50b, republished under its MIT licence (© amd). 1,254 words, ~2,439 tokens.
.claude/skills/porting-agent-to-hub/SKILL.md (or your agent's skills folder).Take an agent that exists only as in-repo Python and make it a published package a user can install from the Agent Hub and use in Agent UI v2 immediately.
The email agent is the template — hub/agents/email/python/ +
hub/agents/email/npm/ + .github/workflows/release_agent_email.yml. It is the
only agent in the repo that clears the bar; every phase below points at the file
in it you are mirroring.
This skill is the porting flow. For adjacent work use:
gaia-build-agent (a NEW agent) · agent-hub-release (cutting the release) ·
adding-eval-scorecard (the scorecard mechanics) · integrate-hub-agent
(consuming one from an app).
Generalize before you document.
Docs, SPEC, SKILL and SCORECARD written against behavior that is about to change are wasted work — and a scorecard is meaningless until the capability is stable. Phases run in order. Do not jump to the parity kit because it looks mechanical.
Not every agent should be ported. Before any work, get a verdict:
PORT / MERGE INTO <target> / DISCARD (keep as in-repo example) / DEFER.
Check for a more general agent that already covers the use case — in in the other hub agents, and in ChatAgent's profiles. Duplicating a capability into the catalog is worse than not shipping.
Signals it is not a catalog agent: category: examples /
security_tier: experimental; absent from setup.py's AGENT_WHEEL_PACKAGES;
no gaia.agent entry point; a module docstring saying it exists to validate
some other feature; a named successor already in flight.
Read the manifest's description, tags, tools_count and interfaces:, then
prove each claim against the code. Assume the manifest is lying until checked —
in the 2026-07 fleet audit it was wrong for most agents, in both directions.
conversation_starter have a tool behind it? Agent UI shows
these as first-run prompts, so a starter for a missing capability means the
user's first click fails. Worse than a stale description — check these first.tools_count match the real @tool surface plus composed mixins? It
lives in two places — gaia-agent.yaml and the build_registration()
call in __init__.py. Check both; the registry copy is what the UI reads.language="python" default
that fails a TypeScript-only validator is a mis-scope, not a bug.)interfaces: claim a mode nothing serves — and is the dependency for
that mode even declared? api_server/mcp_server need amd-gaia[api] in
both pyproject.toml and the manifest's python.dependencies. Most agents
declare the interface against plain amd-gaia, so the mode is not merely
unimplemented, it is uninstallable — and it fails on a clean install, not
in CI. word-count is the package that gets this right.docker --version tests the binary;
the agent needs the daemon. A preflight can be present and still wrong.Record every gap. This list is the port's actual scope.
except …: pass, no default-to-empty, no
swallowed retry. Errors name what failed, what to do, and where to look.The fleet-wide failure mode: tests import the agent, construct it, and assert a tool name appears in the registry. They never call a tool.
Every @tool needs a test that invokes it, over a fixture harness (temp FS,
mocked network, temp scratchpad DB) with _TOOL_REGISTRY isolation. Cover the
cold state a new user is in — empty index, empty DB, first run.
Two halves, and the expensive one is not the code:
tests/fixtures/email/ — _stub_inbox.mbox plus a
per-task ground truth (action_items_, briefing_, drafting_, followups_,
longthread_) driven through FakeGmailBackend. ls it; there is no single
ground_truth.json.SCORECARD.md, the scorecard_gate.py wiring
and a refresh workflow → use adding-eval-scorecard.Pick the metric before starting, and prefer deterministic exact-match over a judge. Where no honest metric exists, say so in the scorecard rather than reporting a number that means nothing.
Beware the measurement trap: an agent_type in the scenario corpus may name a
ChatAgent prompt profile, not your package. A green scenario can be measuring
something else entirely.
| Surface | Mirror from email | Consumed by |
|---|---|---|
README SPEC SKILL CHANGELOG EVALUATION | hub/agents/email/npm/ | hub page + Agent UI (the Worker reads all of them) |
CAPABILITY_MATRIX.md | packaging/capability_matrix.py | the "what can it do" surface |
SCORECARD.md | packaging/gen_scorecard.py | release gate |
server.py, api_routes.py, query_routes.py | /health, /version, POST /v1/<id>/query (SSE) | the daemon + UI chat |
openapi.<id>.json, specification.html | export_openapi.py, spec_html.py | the contract |
playground + playground_url | playground_html.py | "try before install" |
packaging/ | freeze, stamp_version, smoke_test, lock, publish | the release |
| npm client | hub/agents/email/npm/src/ | integrators |
Generate these; do not hand-write them per agent. Anything derivable from the
manifest and the tool registry should be — tools_count especially. A number a
human types is a number that drifts.
Doc-root gotcha: email's canonical docs live in its npm package, not the
Python one. Do not assume python/README.md is the source of truth.
Each agent versions and ships independently.
version.py), propagated by a stamp script, with
a test asserting pyproject.toml ≡ gaia-agent.yaml ≡ version.py.agent-pkg-<id>-v* — never v*, which fires the core release.agent-hub-release for the release lane itself.Publishing is not the finish line — usable on install is. Script it:
catalog index → install → daemon spawns the sidecar → /health passes →
/query returns a rendered SSE stream in the UI → the playground URL loads.
If any step needs a human, the agent is not day-one usable. Also confirm an
AgentSidecarSpec exists (or the spec table is manifest-driven), every declared
renderTypes[] has a renderer with a fallback, and conversation_starters are
present.
tools_count by handinterfaces: api_server: true as satisfied because the manifest says sogaia-agent.yaml only — the same claims are
duplicated, unguarded, in build_registration()The docs you write (README/SPEC/SKILL/CHANGELOG) and your report back to the user both follow CLAUDE.md → How You Communicate: lead with what the agent now does for a user and what still doesn't work, then the phase-by-phase evidence underneath. Name any gate you skipped — an unstated skip reads as a pass.
hub/agents/email/python/, hub/agents/email/npm/src/gaia/agents/base/server.py — run_agent_cli()src/gaia/daemon/sidecars/spec.pysrc/gaia/hub/manifest.pyworkers/agent-hub/src/storage.tsdocs/reference/eval-scorecard.mdx© amd, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/porting-agent-to-hub of amd/gaia.
Open the folder on GitHubat commit 05fb50b
Porting Agent To Hub 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 |
|---|---|---|---|---|---|---|
| Porting Agent To Hub this skillamd/gaia | 1.6k | — | ~2.4k | Automated safety check: Pass | MIT | |
| Simple Englishmoeru-ai/airi | 50k | 2 repos | ~4.6k | Automated safety check: Pass | MIT | |
| Ccb GitHubSeemSeam/claude_codex_bridge | 3.6k | — | ~4.9k | Automated safety check: Pass | Custom licence | |
| Golang Documentationunxed/f4 | 241 | 3 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Simple Englishropensci/ckanr | 104 | 3 repos | ~2k | Automated safety check: Pass | MIT | |
| Opik Documentation Patternscomet-ml/opik | 22k | — | ~1.3k | Automated safety check: Pass | Apache-2.0 |
moeru-ai/airi
Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.
SeemSeam/claude_codex_bridge
Maintain this CCB project's GitHub-facing release and npm publication surface.
unxed/f4
Comprehensive documentation guide for Golang projects, covering godoc comments, README, CONTRIBUTING, CHANGELOG, Go Playground, Example tests, API docs, and llms.txt.
ropensci/ckanr
Write or rewrite text in plain, layman-readable English in the spirit of ASD-STE100 Simplified Technical English: short sentences, active voice, simple tenses, one word one meaning, condition before…
comet-ml/opik
Rules for writing PR descriptions, changelog entries and feature documentation in the Opik repository, including the exact headings that CI requires.
jrswab/axe
Prepare code for release (version bumps, changelog, README updates) and create an annotated tag to trigger the GoReleaser workflow.
amd/gaia
Adds a release eval scorecard to a GAIA hub agent by writing a harness adapter, running a real eval, and wiring the result into the agent's README and release gate.
amd/gaia
Walks through releasing a GAIA sidecar agent as a frozen binary plus npm client through the tag-triggered Agent Hub CI pipeline, with a human gate before publishing.
amd/gaia
Mines local Claude Code session transcripts with a deterministic Python pipeline to show what the agent is actually used for, how often it fails and what it costs.
amd/gaia
Benchmarks AMD's GAIA agent against Claude Code and across models on quality, honesty, steps, tokens, time and real cost, using gaia eval tasks.
amd/gaia
Guides safe code changes by finding the right file with grep or semantic search, reading before editing, reproducing bugs first, and proving a fix with a real test run.
amd/gaia
Walks through scaffolding, writing and testing a new GAIA agent as a Python class with the SDK, from the base Agent subclass to registered tool methods.
Categories
A skill your agent uses when taking an existing in-repo GAIA agent to a published, day-one-usable hub package — porting a legacy agent under hub/agents/<id/, deciding whether an agent should ship at…. Porting Agent To Hub is an agent skill from amd/gaia. Use when taking an existing in-repo GAIA agent to a published, day-one-usable hub package — porting a legacy agent under hub/agents/<id/, deciding whether an agent should ship at all, or answering why an agent 'is not ready to publish'.
Porting Agent To Hub fits situations like: taking an existing in-repo GAIA agent to a published; day-one-usable hub package — porting a legacy agent under hub/agents/<id/; deciding whether an agent should ship at all; answering why an agent is not ready to publish.
Run `npx skills add amd/gaia --skill porting-agent-to-hub -a claude-code`. Or copy the skill folder (.claude/skills/porting-agent-to-hub in amd/gaia) into .claude/skills/porting-agent-to-hub in your project. Claude Code loads it when a task matches its description.
Run `npx skills add amd/gaia --skill porting-agent-to-hub -a codex`. Or copy the skill folder (.claude/skills/porting-agent-to-hub in amd/gaia) into .agents/skills/porting-agent-to-hub 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 amd/gaia --skill porting-agent-to-hub -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/porting-agent-to-hub, .gemini/skills/porting-agent-to-hub, .github/skills/porting-agent-to-hub and .opencode/skills/porting-agent-to-hub in your project.
Going by SKILL.md and its folder, Porting Agent To Hub needs the command-line tools its instructions call (docker). Our summary lists: Python 3; Docker.
SKILL.md contains no URLs. Its commands use docker, 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.
Porting Agent To Hub is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.8k 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 Porting Agent To Hub: Simple English (moeru-ai/airi, 50k stars), Ccb GitHub (SeemSeam/claude_codex_bridge, 3.6k stars), Golang Documentation (unxed/f4, 241 stars) and Simple English (ropensci/ckanr, 104 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
amd (a GitHub organization) maintains it in amd/gaia, which has 1,580 GitHub stars. The repository holds 44 skills in this directory. The repository was last updated on October 8, 2026.
Source: amd/gaia on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.