Skip to main content

agentharnesses-cli

CLI for agentharnesses.io — scaffold and manage Agent Harnesses.

Installation

pip install agentharnesses-cli

Usage

ahar --help

ahar init

Initialize a new harness in the current directory:

ahar init

Optionally specify a name (defaults to the directory name):

ahar init my-harness

Always scaffolds HARNESS.md — the one thing the standard actually requires:

my-harness/
└── HARNESS.md                       # entry point and agent identity

Everything else is opt-in, since it may not fit the target repo. With no flags, init asks interactively:

Set up this harness as:
  plain  -- just HARNESS.md, no Claude Code configuration
  claude -- also wire up .claude/ (skills, settings) for Claude Code
Choose [plain]: claude

Which skills should be installed?
  Install agent-harnesses? (progressive disclosure explorer -- ...) [Y/n]:
  Install harnessify? (surveys this repo and authors real routing for it -- ...) [Y/n]:

Choosing claude and at least one skill installs from agentharnesses/metaskill (cloned fresh at init time, so you always get the latest version):

├── .gitignore                       # excludes .claude/settings.json, metaskill session state
├── .leaf-detectors                  # skill=SKILL.md -- needed for agent-harnesses' own leaf detection
└── .claude/
    ├── settings.json                # registers the harness as a Claude Code plugin -- merged
    │                                 # into any existing settings.json, never overwritten
    └── skills/
        ├── agent-harnesses/          # progressive-disclosure exploration (if selected)
        └── harnessify/               # authors real routing for a bare repo (if selected)

For scripted/CI use, flags skip the dialogue entirely:

ahar init --plain                                    # HARNESS.md only, no prompt
ahar init --claude                                    # for Claude Code, both skills, no prompt
ahar init --claude --agent-harnesses --no-harnessify  # for Claude Code, agent-harnesses only
ahar init --metaskill                                 # deprecated alias for --claude with both skills

--agent-harnesses/--harnessify (and --metaskill) imply --claude on their own — no need to pass both. If a .claude/ folder already exists in the target directory, init treats that as a standing signal the repo wants Claude Code integration and installs both skills automatically, skipping the dialogue.

ahar validate

Validate a harness directory structure:

ahar validate ./my-harness

ahar read

Read a property from a harness's HARNESS.md frontmatter:

ahar read ./my-harness name
ahar read ./my-harness description

ahar prompt

Render a harness as prompt XML for agent injection:

ahar prompt ./my-harness

These commands are backed by harnesses-ref, the reference implementation for the Agent Harnesses standard.

Publishing

Releases are published to PyPI automatically when a version tag is pushed:

git tag v1.0.0
git push origin v1.0.0

The GitHub Actions workflow builds the package and publishes it via trusted publishing (no API token required). The version is derived from the tag via hatch-vcs.

License

Apache 2.0

Metadata

Release files for agentharnesses-cli 0.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agentharnesses-cli 0.1.8
File Size Uploaded Provenance
agentharnesses_cli-0.1.8.tar.gz 14.1 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for agentharnesses-cli 0.1.8
File Interpreter ABI Platform
agentharnesses_cli-0.1.8-py3-none-any.whl Python 3 none any Details

Total release size: 22.9 kB

Release files / agentharnesses_cli-0.1.8.tar.gz

Download URL agentharnesses_cli-0.1.8.tar.gz
Size 14.1 kB
Tags Source
SHA-256 checksum
How to use checksums
9e01e5123c5c55a79929b37a1d3ce6c2289ca1bfd1f6c9b55ed890a272098f1f
BLAKE2b-256 checksum
How to use checksums
814bba4a2bebd01451fcfd687db8d1d8294cbd268e8b732bfbe1482ed31c2f35
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / agentharnesses_cli-0.1.8-py3-none-any.whl

Download URL agentharnesses_cli-0.1.8-py3-none-any.whl
Size 8.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
121fa76b56a2bae399b64b0f57bd86efcd8ba583c3640cffa1458ab4a2d1934c
BLAKE2b-256 checksum
How to use checksums
abe256dad1fec0a3f9dee628dd4fd93993991f54f1f838e4f24f3618a64ef79b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Security for agentharnesses-cli 0.1.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for agentharnesses_cli-0.1.8.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page