Gaia AI Agent Skill Registry CLI
Project description
Gaia — AI Agent Skill Registry
The open, evidence-backed skill graph for AI agents — collect, evolve, and fuse capabilities into something legendary.
The Tree
Every AI agent capability exists somewhere on this graph. Skills start at the foundation tier, awaken through evidence, evolve through use, and fuse into things greater than the sum of their parts.
The snapshot below shows the upgrade-path structure. Each legendary traces back through its full prerequisite chain.
GAIA SKILL TREE v1.0.0
═════════════════════════════════════════════════════════════════
◆ Wisdom King: Autonomous Research Agent [VI · Transcendent ★]
├─ ◇ Research [III · Evolved] ← Web Search · Summarize · Cite Sources
│ ├─ ○ Web Search [I · Awakened]
│ ├─ ○ Summarize [I · Awakened]
│ └─ ○ Cite Sources [I · Awakened]
├─ ◇ Knowledge Harvest [IV · Transcendent] ← Web Scrape · Extract Entities · Embed Text
│ ├─ ◇ Web Scrape [III · Evolved] ← Web Search · Parse HTML · Extract Entities
│ │ ├─ ○ Web Search [I · Awakened] (↑ see above)
│ │ ├─ ○ Parse HTML [I · Awakened]
│ │ └─ ○ Extract Entities [I · Awakened]
│ ├─ ○ Extract Entities [I · Awakened] (↑ see above)
│ └─ ○ Embed Text [I · Awakened]
└─ ◇ Ghostwrite [IV · Transcendent] ← Research · Write Report · Audience Model
├─ ◇ Research [III · Evolved] (↑ see above)
├─ ○ Write Report [I · Awakened]
└─ ○ Audience Model [I · Awakened]
→ Full graph: tree.md
What This Means for You
- Track your agent's capabilities — every skill your agent demonstrates gets logged to your personal skill tree, tied to your GitHub identity, portable across every repo you own.
- Unlock combinations — when your agent has the prerequisites, a new composite or ultimate skill becomes available to fuse. The CLI detects it automatically.
- Name and share skills — contribute named implementations of generic skills (e.g.,
karpathy/autoresearch), attributed to your GitHub identity and installable by anyone viagaia install. - Contribute to the canon — review draft skills, submit evidence, or create new skills from strong reviews. The graph grows with the field.
The Hierarchy
| Tier | Symbol | Display Name | What it means |
|---|---|---|---|
atomic |
○ | Intrinsic Skill | Primitive, indivisible capability — the genome of every agent |
composite |
◇ | Extra Skill | Emerges from combining 2+ intrinsic skills — transcends its parts |
legendary |
◆ | Ultimate Skill | High-complexity emergent capability — strict evidence bar, <1% agent prevalence |
Rank System
Skills level up through evidence, not declaration:
| Level | Rank | Evidence Floor | What it means |
|---|---|---|---|
| 0 | Basic | None | Universal LLM primitive — any capable model does this by default |
| I | Awakened | None | Foundation tier — catalogued agent capability |
| II | Named | Class C | First confirmed demonstration |
| III | Evolved | Class B | Reproducible, fully documented |
| IV | Hardened | Class B or A | Failure modes known; battle-tested |
| V | Transcendent | Class B or A | Composable and self-improving |
| VI | Transcendent ★ | Class A | Apex — peer-reviewed, named to the agent who unlocked it |
Tutorial
New here? The interactive tutorial at gaia.tiongson.co covers everything visually — skill tiers, the rank system, and the full get-started workflow with copy-paste commands.
Quickstart
git clone https://github.com/mbtiongson1/gaia-skill-tree.git
cd gaia-skill-tree
# 1. Install the gaia CLI
pip install -e .
# 2. Enable semantic search (strongly recommended)
pip install -e ".[embeddings]"
gaia embed # ~30 seconds — run once, re-run when the graph changes
# 3. Validate the canonical graph
gaia --registry . scan
# 4. Regenerate all skill pages, registry, tree, and user trees
python3 scripts/generateProjections.py
Why install embeddings?
gaia searchuses local semantic matching so you can find skills by meaning, not just keywords.gaia pushalso uses it to suggest matching named-skill buckets for your proposed skills. Without embeddings, both commands will prompt you to set them up. The model runs fully locally — no API key, no network call after the first download.
CLI Usage
Install once from the repo root:
pip install -e .
Then gaia works from any directory — no path prefix needed.
Project setup
Run this inside the project you want Gaia to scan:
gaia init --user your-github-username --scan AGENTS.md --scan scripts
For the previous non-interactive defaults, use:
gaia init --yes
This creates .gaia/config.json:
{
"gaiaUser": "your-github-username",
"gaiaRegistryRef": "https://github.com/mbtiongson1/gaia-skill-tree",
"scanPaths": ["AGENTS.md", "scripts"],
"autoPromptCombinations": false
}
Use gaia doctor after initialization to check the CLI, registry path, config, skill tree, embeddings, and scan paths.
Commands
| Command | What it does |
|---|---|
gaia init |
Creates .gaia/config.json in the current project. Supports --user, --registry-ref, and repeated --scan flags. |
gaia doctor |
Checks CLI/config/registry health and reports missing setup pieces. |
gaia scan |
Scans configured paths and reports detected canonical skills and possible fusions. |
gaia push --dry-run |
Prints the batch intake JSON without writing files. |
gaia push |
Writes a batch intake record under intake/skill-batches/ in the registry checkout. |
gaia push --no-pr |
Writes a batch intake record without trying to open a PR. |
gaia name <batch> <index> <contributor/skill> |
Promotes an awakened skill from intake to a named skill in graph/named/. |
gaia install <contributor/skill> |
Downloads a named skill into the repo (global cache + repo reference). |
gaia install --list |
Lists all installed named skills. |
gaia sync |
Updates installed named skills from their registry origin. |
gaia uninstall <contributor/skill> |
Removes an installed named skill. |
gaia embed |
Pre-computes embeddings for all skills. Strongly recommended — run once after pip install -e ".[embeddings]", re-run when the graph changes. |
gaia search <query> |
Semantic search across generic and named skills (requires embeddings — see above). |
gaia status |
Shows the configured user's registered skill-tree summary. |
gaia tree |
Lists unlocked skills for the configured user. |
gaia fuse <skillId> |
Adds a pending fusion candidate to the user's skill tree. |
Typical workflow
# In the project repo you want to scan
gaia init
# Preview detected skills and proposed intake
gaia scan
gaia push --dry-run
# Submit the batch intake record for review
gaia push
Intake PRs are draft review artifacts. Accepted candidates are promoted later
into canonical graph/gaia.json updates.
MCP Server (Agent-Native Integration)
Status: In Development —
@gaia-registry/mcp-serveris not yet published to npm. See mcp-server/ to run it locally or contribute.
The fastest way to use Gaia — connect it directly to your agent (Claude Code, Cursor, VS Code, etc.) via MCP:
{
"mcpServers": {
"gaia": {
"command": "npx",
"args": ["@gaia-registry/mcp-server"],
"env": { "GAIA_USER": "your-github-username" }
}
}
}
Once connected, your agent gets these tools:
| Tool | What it does |
|---|---|
gaia_lookup |
Search skills by ID or fuzzy name |
gaia_suggest |
Get fusion recommendations from your current context |
gaia_scan_context |
Detect skills from connected tools and project signals |
gaia_my_tree |
View your skill tree and stats |
gaia_propose |
Claim a fusion or propose a novel skill (opens PR) |
The MCP server also exposes resources at gaia://registry and gaia://tree/{username}.
See mcp-server/ for full documentation.
Repository Structure
gaia-skill-tree/
├── graph/gaia.json ← CANONICAL source (the only file humans edit)
├── graph/named/ ← Named skill implementations ({contributor}/{skill-name}.md)
├── graph/named/index.json ← GENERATED bucket index
├── graph/embeddings.json ← GENERATED skill embeddings (sentence-transformers)
├── graph/similarity.json ← GENERATED pairwise similarity scores
├── intake/ ← Batch skill proposals submitted by gaia push
├── mcp-server/ ← TypeScript MCP server (agent-native integration)
├── schema/ ← JSON Schema definitions
├── skills/ ← GENERATED skill pages (atomic, composite, legendary)
├── users/ ← Personal skill trees by GitHub username
├── scripts/ ← Validation, projection, and analysis scripts
├── scripts/crawlers/ ← Bot crawlers (MCP registries, npm, VS Code, HuggingFace)
├── plugin/ ← CLI + GitHub Action for per-repo integration
├── registry.md ← GENERATED flat index of all skills
├── combinations.md ← GENERATED fusion recipe matrix
├── tree.md ← GENERATED full ASCII skill graph
├── CONTRIBUTING.md ← How to contribute
└── docs/ ← Governance, design spec, examples
Contributing
Gaia is meant to be a shared map of agent capabilities, and there are a few good ways to help even if you are not ready to edit the graph directly.
You can contribute by reviewing skill drafts: read a proposed skill, check whether the definition is clear, compare it against existing skills, evaluate the cited evidence, and submit peer review analysis that helps maintainers decide whether the skill should be accepted, renamed, merged, or reclassified.
You can also contribute by creating skills directly from reviews: turn a well-supported review into a concrete Intrinsic Skill, Extra Skill, Ultimate Skill, fusion recipe, or reclassification PR with evidence and rationale.
For full instructions, including evidence requirements, PR templates, naming rules, and reviewer criteria, see CONTRIBUTING.md.
License
MIT — see LICENSE.
Graph is canonical. Everything else is a shadow.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gaia_cli-1.0.0.tar.gz.
File metadata
- Download URL: gaia_cli-1.0.0.tar.gz
- Upload date:
- Size: 58.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0d0250f0fdacab4413063ec816cd7f3fb7cd92dca940c9f7c407fc019fdec5e
|
|
| MD5 |
647c63312f8bf59ef34272e1af0d5417
|
|
| BLAKE2b-256 |
5db44bfe5c6e48198170280d43bd25acd0b9ad72a352dab9ce6f1c68a35e2b9d
|
Provenance
The following attestation bundles were made for gaia_cli-1.0.0.tar.gz:
Publisher:
publish-pypi.yml on mbtiongson1/gaia-skill-tree
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gaia_cli-1.0.0.tar.gz -
Subject digest:
f0d0250f0fdacab4413063ec816cd7f3fb7cd92dca940c9f7c407fc019fdec5e - Sigstore transparency entry: 1403261999
- Sigstore integration time:
-
Permalink:
mbtiongson1/gaia-skill-tree@e0d8f620b038fc4f1a0b8fb73f58891622ca546c -
Branch / Tag:
refs/tags/gaia-cli-v1.0.0 - Owner: https://github.com/mbtiongson1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@e0d8f620b038fc4f1a0b8fb73f58891622ca546c -
Trigger Event:
push
-
Statement type:
File details
Details for the file gaia_cli-1.0.0-py3-none-any.whl.
File metadata
- Download URL: gaia_cli-1.0.0-py3-none-any.whl
- Upload date:
- Size: 48.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25fa5270ab3d4c130f62e9786d92783fe3028f612eb937b8a657a38b82808e0c
|
|
| MD5 |
c54b7248b338d539b736a78effa678c3
|
|
| BLAKE2b-256 |
a399c8075f943976fc8e22101ff3cfef16091859599865403d08e0eb10b71b7d
|
Provenance
The following attestation bundles were made for gaia_cli-1.0.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on mbtiongson1/gaia-skill-tree
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gaia_cli-1.0.0-py3-none-any.whl -
Subject digest:
25fa5270ab3d4c130f62e9786d92783fe3028f612eb937b8a657a38b82808e0c - Sigstore transparency entry: 1403262088
- Sigstore integration time:
-
Permalink:
mbtiongson1/gaia-skill-tree@e0d8f620b038fc4f1a0b8fb73f58891622ca546c -
Branch / Tag:
refs/tags/gaia-cli-v1.0.0 - Owner: https://github.com/mbtiongson1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@e0d8f620b038fc4f1a0b8fb73f58891622ca546c -
Trigger Event:
push
-
Statement type: