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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| agentharnesses_cli-0.1.8.tar.gz | 14.1 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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 logSecurity 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.
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 logA 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.