Skip to main content

Official CLI for building, validating, and publishing Agent Zero skills to the ZeroForge marketplace

Project description

zforge

The official CLI for building, validating, and publishing AgentZero skills to the ZeroForge marketplace.

███████╗███████╗ ██████╗ ██████╗  ██████╗ ███████╗
╚══███╔╝██╔════╝██╔═══██╗██╔══██╗██╔════╝ ██╔════╝
  ███╔╝ █████╗  ██║   ██║██████╔╝██║  ███╗█████╗
 ███╔╝  ██╔══╝  ██║   ██║██╔══██╗██║   ██║██╔══╝
███████╗██║     ╚██████╔╝██║  ██║╚██████╔╝███████╗
╚══════╝╚═╝      ╚═════╝ ╚═╝  ╚═╝ ╚═════╝ ╚══════╝

What is zforge?

zforge is a command-line tool for AgentZero skill developers. It helps you:

  • 🔐 Authenticate via GitHub — one-time browser login
  • 🏗️ Scaffold new skills from a standard template
  • Validate skills against the AgentZero SKILL.md standard
  • 📦 Build distributable skill packages
  • 🚀 Publish skills to the ZeroForge marketplace with verified attribution
  • 🧪 Test skill behaviour before release

Trust & Safety

zforge is fully open source (MIT licensed). Every line of code is publicly auditable:

👉 Source: github.com/colin-charles/zforge
👉 Author: colin-charles — hello@zero-forge.org
👉 PyPI: pypi.org/project/zforge

  • No telemetry or analytics collected
  • API key stored locally in ~/.zforge/config.json (never transmitted except to ZeroForge's own API)
  • All marketplace interactions go through ZeroForge's public API
  • Dependencies: typer and rich only — both widely trusted open-source libraries

Installation

pip install zforge

Or use the one-liner:

curl -fsSL https://zero-forge.org/install.sh | bash

Quick Start

# 1. Authenticate with GitHub (one-time setup)
zforge login

# 2. Create a new skill
zforge new my-skill

# 3. Validate your skill
zforge validate my-skill/

# 4. Build a distributable package
zforge build my-skill/

# 5. Publish to ZeroForge marketplace
zforge publish my-skill/

Commands

Command Description
zforge login Authenticate via GitHub (browser OAuth)
zforge login --manual Authenticate by pasting API key manually
zforge whoami Show currently authenticated user
zforge new <name> Scaffold a new skill from template
zforge validate <dir> Validate skill against SKILL.md standard
zforge build <dir> Build a .zip skill package
zforge publish <dir> Publish skill to ZeroForge marketplace
zforge test <dir> Run skill tests
zforge hello Verify installation and show usage

Authentication

zforge login authenticates you via GitHub OAuth — no copy-paste required:

$ zforge login

  Opening browser for GitHub authentication...
  Waiting for callback on http://localhost:7391...

  [browser opens  click Authorize on GitHub]

    Authenticated as @your-handle
    API key saved to ~/.zforge/config.json

Prefer manual setup? Use the --manual flag:

zforge login --manual
# Prompts you to paste your API key from zero-forge.org/profile/edit/

Check who you're logged in as:

$ zforge whoami
  Logged in as @your-handle

For CI/CD or agent environments, set the env var instead:

export ZFORGE_API_KEY=your-api-key
zforge publish my-skill/

Authentication is required before publishing. Skills published without a valid API key will be rejected.

How Certification Works

When you run zforge publish, the CLI automatically evaluates your skill quality using the APOL pipeline — an LLM-based judge that scores your SKILL.md across four dimensions:

KPI What is checked Weight
Task Specificity Are tasks described with precise, actionable detail? High
Example Quality Are examples concrete, realistic, and complete? High
Scope Accuracy Does the skill do what it says — no more, no less? Medium
Submission Ready Is the skill ready for production use? Gate

The publish flow

zforge publish my-skill/
  │
  ├── Auth check (API key required)
  │
  ├── Structural validation (required fields/sections)
  │
  ├── APOL quality scoring
  │     └── Score ≥ 0.80  →  CERTIFIED badge ✅  published immediately
  │
  └── Score < 0.80  →  You choose:

        A) Publish now as UNCERTIFIED
        B) Run APOL improvement pipeline

             B → LLM refines documentation (intent preserved)
               → Shows diff before overwriting
               → You confirm [Y/N]
               → Score ≥ 0.80 → CERTIFIED ✅

Your intent is always protected. The APOL pipeline only improves how your skill is documented — never what it does. You review every change before it is saved.

What CERTIFIED means

A CERTIFIED badge means the skill was independently scored at ≥ 0.80 by the APOL LLM judge. It is a quality signal, not just a compliance check.

An UNCERTIFIED skill is structurally valid and usable — it just hasn't passed the quality threshold yet.

Using as an AgentZero Skill

zforge ships as an installable AgentZero skill. To install it inside Agent Zero:

Install the zforge skill from zero-forge.org/start

See SKILL.md for the full Agent Zero skill instructions.

Requirements

  • Python 3.10+
  • typer >= 0.9.0
  • rich >= 13.0.0

Contributing

PRs welcome. Please validate your changes with zforge validate before submitting.

License

MIT — see LICENSE

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zforge-2.1.45.tar.gz (54.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zforge-2.1.45-py3-none-any.whl (58.0 kB view details)

Uploaded Python 3

File details

Details for the file zforge-2.1.45.tar.gz.

File metadata

  • Download URL: zforge-2.1.45.tar.gz
  • Upload date:
  • Size: 54.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for zforge-2.1.45.tar.gz
Algorithm Hash digest
SHA256 62d983d10b5210706b507833e8634426c4bd2d02d6a3afbc941c6be9c1514cea
MD5 88a1338d734bc811e2207fe90df283ee
BLAKE2b-256 a68d6165c1ade9f1d01c1b09cd5a1fe17d413eb6fffa42be5e815b849e80f003

See more details on using hashes here.

File details

Details for the file zforge-2.1.45-py3-none-any.whl.

File metadata

  • Download URL: zforge-2.1.45-py3-none-any.whl
  • Upload date:
  • Size: 58.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for zforge-2.1.45-py3-none-any.whl
Algorithm Hash digest
SHA256 76be37101b8f36ef6e3c6a08a86babf73217cc7a5646b68bfed8863eb64a75c2
MD5 9bddee9cf645a4c71639ed588f3d5c66
BLAKE2b-256 823e6caee792b43fdbb0dfe0f60038d5d2f45aaca988833ddbad1a179bae06fd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page