agent-ctl 0.1.0

CLI for agent hub validation, index generation, and skill management
agent-ctl-0.1.0 is not a library.
Visit the last successful build: agent-ctl-0.5.1

agentctl

CLI for agent hub validation, index generation, and skill management. Implements the hub formats defined in agent-foundation.

Install

Homebrew (macOS/Linux):

brew tap geronimo-iia/agent
brew install agentctl

cargo-binstall (installs pre-built binary):

cargo binstall agent-ctl

cargo (builds from source):

cargo install agent-ctl

Binary download: grab the latest release from GitHub Releases.

Quickstart

Validate a hub directory:

agentctl hub validate --type docs --path ./my-hub
agentctl hub validate --type skills --path ./my-skills

Generate index.json:

agentctl hub generate --type docs --path ./my-hub --output index.json
agentctl hub generate --type skills --path ./my-skills --hub-id my-hub --output index.json

Usage

agentctl --help
agentctl hub --help

Validation output

On success:

✓ Validation passed

On failure (exit code 1):

  ✗ skills/my-skill/SKILL.md:1: missing required field: name
  ✗ skills/my-skill/SKILL.md:1: missing required field: description
✗ Validation failed (2 error(s))

Generated index.json (skills)

{
  "hub_id": "my-hub",
  "generated_at": "2026-07-14T10:00:00Z",
  "skills": [
    {
      "name": "python-scaffold",
      "description": "Scaffold a Python project",
      "path": "python-scaffold",
      "commit_hash": "abc1234"
    }
  ]
}

CI Integration

Example GitHub Actions workflow for a docs or skills hub:

name: Publish Index

on:
  push:
    branches: [main]

jobs:
  publish:
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
      - uses: actions/checkout@v4

      - name: Install agentctl
        run: |
          curl -sSL https://github.com/geronimo-iia/agentctl/releases/latest/download/x86_64-unknown-linux-gnu.tar.gz | tar xz -C /usr/local/bin

      - name: Validate
        run: agentctl hub validate --type docs --path .

      - name: Generate index.json
        run: agentctl hub generate --type docs --path . --output index.json

      - name: Commit index.json
        run: |
          git config user.name "github-actions[bot]"
          git config user.email "github-actions[bot]@users.noreply.github.com"
          git add index.json
          git diff --staged --quiet || git commit -m "chore: regenerate index.json [skip ci]"
          git push

Replace --type docs with --type skills for a skills hub.

License

MIT OR Apache-2.0