CLI Reference
This page lists all gaia commands, flags, and options. Follow these
rules:
- Use commands correctly: Follow each stage to run your commands.
- Check your permissions: Anyone can use read-only commands. You must have Verifier
authorization to use mutating
gaia devcommands.
Local-first notes:
- Commands show your personal skills, scan candidates, and local files.
- Use the
--canonflag to query the main registry instead.
Table of Contents
Player Workflow
Discovery
System & Sharing
Player workflow
Use these commands to scan your local code, promote your skills, and save your progress.
gaia init
[--user <handle>] [--scan <path>] [--yes] [--force] [--workspace]
● open
- Creates or updates your
.gaia/config.tomlconfiguration file. - Sets your GitHub handle, registry URL, and directories to scan.
- Supports Workspace Mode for tracking skills without a public repository.
⚠️ Workspace Mode Fallback. Running
gaia init outside a
public Git repository automatically falls back to Workspace Mode.
In Workspace Mode, local scanning is fully supported, but remote pushes are disabled.
Use --workspace to force Workspace Mode. Refer to the
Workspace Mode
documentation for context.
| Flag | Description | Default |
|---|---|---|
| --user <handle> | GitHub username written to config. Used to identify your skill tree. | prompted |
| --scan <path> | Directory to scan for skill evidence. Repeatable for multiple paths. | repo root |
| --registry-ref <url> | Custom registry URL. Defaults to the public Gaia registry. | public |
| --yes | Accept all non-interactive defaults without prompting. | false |
| --force | Overwrite an existing .gaia/config.toml. |
false |
| --workspace | Force Workspace Mode (disables remote pushes, enables local exploration). | false |
| --auto-prompt-combinations | Enable prompts for detected skill fusion candidates after each scan. | false |
examples
# Interactive setup — Gaia asks for your handle gaia init # Non-interactive — set handle and scan path directly gaia init --user alice --scan src/ --yes # Force Workspace Mode explicitly gaia init --workspace # Overwrite an existing config gaia init --user alice --force
gaia scan
[--quiet] [--auto-promote] [--json]
● open
- Scans configured paths for
SKILL.mdfiles and agent folders. - Saves promotion candidates to your output folder.
- Expires scan candidate files after 24 hours.
| Flag | Description | Default |
|---|---|---|
| --quiet | Suppress per-file scan output; show only the final candidate summary. | false |
| --auto-promote | Automatically promote every scan candidate without prompting. | false |
| --json | Write scan results to stdout as machine-readable JSON instead of rendering the tree. | false |
examples
# Standard scan — shows detected skills and promotion candidates gaia scan # Quiet scan, then inspect candidates in JSON gaia scan --quiet --json | jq '.candidates' # Promote everything the scanner detects, no prompts gaia scan --auto-promote
gaia promote
[<skillId>] [--all] [--unique] [--name <label>]
● open
- Promotes one skill or all candidates from your last scan.
- Requires candidate skills to be listed in a non-stale file.
- Appends a timeline event to your skill tree file.
| Flag | Description | Default |
|---|---|---|
| <skillId> | Slash-prefixed or bare canonical skill ID, e.g. /web-search or
web-search.
|
— |
| --all | Promote every candidate from the most recent scan in one pass. | false |
| --unique | Promote a Basic skill to the Unique tier (requires 4★ and graph-isolation with a named implementation). | false |
| --name <label> | Optional display name for the skill entry in your tree. | canonical name |
examples
# Promote a single skill after scanning gaia scan gaia promote /web-search # Promote every candidate from the last scan gaia promote --all # Promote a Basic skill to Unique tier gaia promote code-review --unique
gaia fuse
[<skillId>] [--name <label>]
● open
- Combines two or more skills into a higher tier.
- Prompts you to confirm eligible skill combinations.
- Inherits the star rank of the highest component skill.
| Flag | Description | Default |
|---|---|---|
| <skillId> | Target skill ID for the fusion or promotion candidate. | prompted |
| --name <label> | Optional display name for the fused skill in your tree. | canonical name |
examples
# Fuse an eligible combination interactively gaia fuse # Confirm a specific fusion target gaia fuse autonomous-research-agent
gaia tree
[--named] [--title] [--canon] [--check]
● open
- Prints your skill tree layout to the command line.
- Displays your unlocked skills, ranks, tiers, and slash names.
- Uses color-coded tags to show skill star ranks.
| Flag | Description | Default |
|---|---|---|
| --named | Show only skills that have at least one named implementation in the registry. | false |
| --title | Show display names (lore titles) instead of slash IDs. | false |
| --canon | Show the full canonical registry tree rather than your personal unlocked view. | false |
| --check | Self-test: print every tier glyph and rank chip in resolved token colors. | false |
examples
# Your personal tree gaia tree # Show only named skills (good for contributor attribution) gaia tree --named # Full canonical graph with display names gaia tree --canon --title
gaia push
[--dry-run] [--no-issue] [--yes]
● open
- Creates a draft intake batch with your detected skills.
- Opens a review issue on the remote GitHub repository.
- Saves the batch file under the review folder.
⚠️ Requires Repository Mode.
gaia push requires a Git repository
with a valid public remote origin. This command is completely disabled in
Workspace Mode and will exit with an error.
| Flag | Description | Default |
|---|---|---|
| --dry-run | Print the skill batch to stdout without writing files or creating a GitHub issue. | false |
| --no-issue | Write the intake record to disk without creating the GitHub issue. | false |
| --yes, -y | Skip all confirmation prompts. | false |
examples
# Always dry-run first gaia push --dry-run # Submit for real review gaia push # Write intake file only, no GitHub issue gaia push --no-issue --yes
Discovery
Use these commands to search for skills, check prerequisites, and view registry stats.
gaia lookup
<skillId>
● open
- Retrieves the details card for a canonical skill.
- Displays tiers, stars, descriptions, and prerequisites.
- Lists named implementations, authors, and evidence.
examples
gaia lookup web-search gaia lookup /autonomous-research-agent
gaia path
<skillId> [--owned-only] [--json]
● open
- Prints the prerequisite skill tree path for your target skill.
- Helps plan which basic skills to obtain first.
- Hides branches you already own when using the
--owned-onlyflag.
| Flag | Description | Default |
|---|---|---|
| --owned-only | Prune branches already in your tree; show only skills still needed. | false |
| --json | Emit machine-readable JSON instead of the tree display. | false |
examples
# Full prerequisite tree for an ultimate skill gaia path autonomous-research-agent # Show only what you're still missing gaia path autonomous-research-agent --owned-only
gaia appraise
[<skillId>]
● open
- Renders a status card for a specific skill.
- Displays stars, possible actions (promote, fuse, propose), evidence, and installation status.
- Defaults to your last active skill if no argument is passed.
examples
# Appraise the last-used skill gaia appraise # Appraise a specific skill gaia appraise web-search
gaia stats
[--canon]
● open
- Displays a health snapshot of the registry database.
- Counts skills by tier, named implementations, and contributors.
- Queries your local data by default or the canonical tree with
--canon.
examples
gaia stats gaia stats --canon
gaia graph
[--format html|svg|json] [-o <path>] [--no-open]
● open
- Generates an interactive skill dependency graph file.
- Opens the graphical representation in your web browser.
- Writes output to
registry/render/gaia.htmlby default.
| Flag | Description | Default |
|---|---|---|
| --format | Output format: html, svg, or json. |
html |
| -o, --output <path> | Write the generated graph to this path. | registry/render/gaia.html |
| --open / --no-open | Control whether the output is opened in a browser. | --open |
examples
# Generate and open the interactive HTML graph gaia graph # Export JSON without opening a browser gaia graph --format json -o graph-snapshot.json --no-open
Named skills
Use these commands to install named skills, browse the catalog, and propose new skills.
gaia skills
list | search | info | install | uninstall | update
● open
- Manages local installations of named skills.
- Installs skill symlinks into your agent config folder.
- Requires a valid GitHub repository link to download.
| Subcommand | Description |
|---|---|
| list [--exclude-pending] | List all available named skills. Pass --exclude-pending to hide draft proposals. |
| search <query> | Full-text search across skill names, descriptions, and contributor IDs. |
| info <skill_id> | Show detailed metadata: stars, tier, evidence, install URL, contributor. |
| install <skill> [--global | --local] | Install a named skill into .claude/skills/ (local) or ~/.claude/skills/
(global). |
| uninstall <skill_id> | Remove an installed named skill. |
| update | Re-pull all installed named skills from their source URLs. |
examples
# Browse all named skills gaia skills list # Search for research-related skills gaia skills search research # Inspect a specific named skill gaia skills info karpathy/web-search # Install globally (available to all projects) gaia skills install karpathy/web-search --global # Install locally into this project only gaia skills install karpathy/web-search --local # Update all installed skills from source gaia skills update
gaia propose
<skillId> [--target <contributor/skill>] [--ultimate] [--yes]
[--no-pr]
● open
- Submits a proposal to claim an unclaimed canonical skill.
- Requires Class C evidence or better to propose.
- Attaches your name as the official Origin Contributor on approval.
| Flag | Description | Default |
|---|---|---|
| --target <contributor/skill> | Named skill identifier in contributor/skill-name format. |
prompted |
| --ultimate | Assert the skill is an Ultimate. Fails if it is not. | false |
| --yes | Use defaults without interactive prompts. | false |
| --no-pr | Write the proposal locally without opening a GitHub PR. | false |
examples
# Propose an unclaimed canonical skill interactively gaia propose web-search # Propose with a specific named target gaia propose web-search --target alice/web-search-firecrawl
gaia pull
● open
- Refreshes your local cache from the upstream repository.
- Updates your local copy of the main registry files.
- Ensures scans reflect the latest canonical changes.
examples
gaia pull
System
Use these commands to check your login status, run the MCP server, and verify your files.
gaia whoami
● open
- Prints your GitHub handle, active registry, environment mode (Repository or Workspace), and active permissions.
- Identifies your role path (verifier, bootstrap, override, or denied).
examples
gaia whoami # Output: # User: alice # Registry: /absolute/path/to/registry # Mode: Repository Mode (or Workspace Mode) # Operator: yes (via: bootstrap) # Reason: bootstrap mode active # Check auth status in CI with the operator override GAIA_OPERATOR_OVERRIDE=1 gaia whoami
gaia dev mcp
● open
- Launches the Gaia MCP server over standard input/output.
- Exposes the skill registry metadata directly to your AI agent.
- Requires compiling the MCP code before running.
examples
# Build the MCP server once cd packages/mcp && npm run build # Start the server (typically invoked by your IDE/agent config) gaia dev mcp
gaia version
● open
- Prints the current CLI software version.
- Accepts the
--versionglobal flag as an equivalent.
examples
gaia version # → 4.7.7 gaia --version
gaia dev validate
[--intake] [--meta-sync]
● open
- Runs structural and validation checks on the registry.
- Verifies graph schemas, user timeline event matches, and file formats.
- Returns exit code errors if checks fail (ideal for automation pipelines).
| Flag | Description | Default |
|---|---|---|
| --intake | Validate intake batches under registry-for-review/skill-batches/ instead of the
canonical graph. |
false |
| --meta-sync | Verify meta.json is in sync with gaia.json. |
false |
examples
# Full validation — canonical graph + redaction + timeline integrity gaia dev validate # Check pending intake batches before a registry promotion gaia dev validate --intake # Verify meta.json is in sync gaia dev validate --meta-sync
Used in release CI.
gaia dev release calls
gaia dev validate internally. Run it locally before filing a
registry PR to catch schema or timeline issues early.
Sharing
Use these commands to share your skill tree with others or install shared skills.
gaia install
<bundle.json | url | skill_id> [--install-location local|global]
● open
- Runs as a dual-mode local package installer.
- Processes either a bundle file link or a single named skill slug.
- Bundle ref — a
.jsonfile path or anhttps://URL: launches the guided share-bundle install flow. Shows a preview of the sharer's tree, then prompts [A]ll / [P]ick / [V]iew only / [Q]uit. Each chosen skill is resolved registry-first, then falls back to the bundle's embedded source URL. - Named skill — a bare slug (
web-search) or acontributor/slugform: installs a single named skill into.agents/skills/(equivalent togaia skills install <skill>).
| Flag | Description | Default |
|---|---|---|
| --install-location local|global | Where to install: local places the skill in .agents/skills/ (or
.claude/skills/); global places it in ~/.gaia/skills/.
|
local |
| --list | Open the interactive skill browser instead of installing a specific skill. | false |
| --ultimate, --suite | Batch-install all component skills of a suite skill. | false |
examples
# Install from a local share bundle (guided flow) gaia install alice-share-bundle.json # Install from a hosted bundle URL gaia install https://example.com/alice-tree.json # Install a single named skill (same as gaia skills install) gaia install karpathy/web-search # Install a suite of skills (batch) gaia install garrytan/gstack --suite # Non-TTY: defaults to view-only mode (no interactive prompt) gaia install alice-share-bundle.json < /dev/null
Non-TTY default. When stdin is not a terminal (CI, piped),
gaia install <bundle> defaults to view-only mode — it renders
the sharer's tree but installs nothing. Redirect stdin from a TTY or run
interactively to use the [A]ll / [P]ick prompts.
Registry dev ◇ Verifier-gated
Use these commands to edit nodes, add evidence, and manage registry data (requires Verifier authorization).
gaia dev add
<name> [--type basic|extra|unique|ultimate] [--description <text>]
...
◇ verifier
- Adds a new skill node entry to the registry.
- Automates modifications instead of manually editing files.
- Rebuilds main registry files unless disabled.
| Flag | Description | Default |
|---|---|---|
| --type | Tier: basic, extra, unique, or ultimate. |
basic |
| --description <text> | Human-readable description (10+ characters required). | — |
| --id <slug> | Explicit canonical ID. Defaults to a slugified version of the name. | auto |
| --named | Add as a named skill instead of a generic node. | false |
| --no-build | Skip rebuilding docs and graph assets after adding. | false |
examples
# Add a new Basic skill GAIA_OPERATOR_OVERRIDE=1 gaia dev add "Structured Output" \ --type basic --description "Reliably emits JSON/XML/YAML matching a given schema." # Add an Extra skill without triggering a full rebuild GAIA_OPERATOR_OVERRIDE=1 gaia dev add "Chain-of-Thought Reasoning" \ --type extra --no-build
gaia dev evidence
<skill_id> <url> [--class A|B|C] [--evaluator <handle>]
[--notes <text>]
◇ verifier
- Attaches evaluation URLs to specific skill nodes.
- Categorizes evidence into levels A (high), B (medium), or C (low).
- Influences the speed of skill star upgrades.
| Flag | Description | Default |
|---|---|---|
| --class A|B|C | Evidence quality class. | C |
| --evaluator <handle> | GitHub username of the person submitting this evidence. | whoami handle |
| --date <YYYY-MM-DD> | Date of evaluation (ISO 8601). | today |
| --notes <text> | Context note attached to this evidence entry. | — |
examples
# Add Class B evidence (reproducible repo link) GAIA_OPERATOR_OVERRIDE=1 gaia dev evidence \ web-search https://github.com/anthropics/cookbook --class B # Add Class A evidence with an evaluator note GAIA_OPERATOR_OVERRIDE=1 gaia dev evidence \ autonomous-research-agent https://arxiv.org/abs/2401.00000 \ --class A --evaluator alice --notes "Peer-reviewed benchmark, 2024"
gaia dev merge
<target-id> <source-id…>
◇ verifier
- Merges multiple source nodes into a single target node.
- Consolidates all evidence and named implementations.
- Deletes source nodes and preserves links.
examples
GAIA_OPERATOR_OVERRIDE=1 gaia dev merge web-search web-search-v1 web-search-v2
gaia dev split
<source-id> <target-id…>
◇ verifier
- Splits one skill node into two or more new nodes.
- Requires manual evidence re-assignment after the split.
examples
GAIA_OPERATOR_OVERRIDE=1 gaia dev split web-automation web-scraping browser-control
gaia dev timeline
<skillId> --user <handle> --action <action> [--notes
<text>] [--timestamp <ISO8601>]
◇ verifier
- Appends a timeline action to a skill's log.
- Requires the
--userflag to write to user skill tree files. - Supports historical timestamps for backfilling events.
Known gap.
gaia dev timeline without
--user writes to the registry node, not the user tree.
Always pass --user <handle> when appending to a skill tree.
| Flag | Description | Default |
|---|---|---|
| --user <handle> | Target the user's skill-tree.json (required for tree edits). |
— |
| --action <action> | Event type, e.g. rank_up, demote, fuse,
backfill.
|
— |
| --notes <text> | Human-readable description appended to the event. | — |
| --timestamp <ISO8601> | Historical timestamp. Backfilled events are sorted chronologically. | now (UTC) |
examples
# Append a current-time event to alice's tree GAIA_OPERATOR_OVERRIDE=1 gaia dev timeline web-search \ --user alice --action rank_up --notes "Promoted to 3★ Evolved" # Backfill a historical event GAIA_OPERATOR_OVERRIDE=1 gaia dev timeline web-search \ --user alice --action rank_up \ --timestamp 2026-01-15T00:00:00Z --notes "Backfilled (direct edit — CLI gap)"
gaia dev list
[--generic] [--named] [--description] [--json] ...
● open
- Lists all skills registered in the database.
- Projects custom metadata fields for scripting and automation.
- Combines flags to retrieve different skill tiers simultaneously.
examples
# List all generic skills with descriptions gaia dev list --generic --description # List named skills with contributor info as JSON gaia dev list --named --contributor --json
gaia dev audit
● open
- Audits registry files for errors, broken links, or format issues.
- Outputs a prioritized task list of schema failures.
- Runs read-only without modifying registry data.
examples
gaia dev audit gaia dev diff # show substantive changes vs main
Global flags
Use these flags with any gaia command to change how it runs.
| Flag | Description |
|---|---|
| --canon | Show canonical registry data instead of the local-first (personal) view. |
| --global, -g | Use the global GAIA_HOME registry, ignoring any local .gaia/ config. |
| --registry <path> | Point to a specific local registry checkout instead of auto-resolving. |
| --tui | Launch the interactive TUI dashboard instead of the command-line output. |
| --version, -v | Print the installed CLI version and exit. |