Skip to content

rrpauls/esra-agents

v0.4.0Apache-2.0

Portable ESRA skills with a guarded autonomous controller for OpenClaw and Hermes Agent.

ESRA Agents — Universal ESRA Implementation

Validate License: Apache-2.0 Specification: ESRA 1.2 Release: v0.3.0 prerelease


What is ESRA Agents?

ESRA Agents is the canonical implementation source for five selective ESRA skills, a dependency-free shared runtime, portable evidence export, and thin host adapters for chat-scoped and autonomous agents.

It implements the runtime-neutral contracts defined by the ESRA specification while keeping host names, paths, lifecycle mappings, permissions, and installation mechanics outside the portable core.

Routine work bypasses ESRA. Focused skills work independently, and a major change may receive at most one bounded review.

Current status

  • Specification target: ESRA 1.2.
  • Portable core: five selective Agent Skills, evidence records, bounded experiments, audits, and export.
  • Autonomous controller: exact-revision promotion, one-time authorization, blind evaluation, canary rollout, rollback, and privacy-bounded persistence.
  • Native adapters: OpenClaw TypeScript adapter at v0.3.0 prerelease, Hermes Python plugin; 0.4.0 adds managed discovery and separate Antigravity packaging.
  • Maturity boundary: stable autonomous capability remains gated by the shared host gate and seven-day soak. Package validation and passing tests do not by themselves prove native lifecycle behavior in every host.

See the autonomous roadmap, host-gate evidence, and normative Autonomous Agent Profile for the exact claim boundaries.


Core components

ComponentPurpose
skills/Five host-neutral, selectively invoked ESRA skills
runtime/Shared runtime, portable exporter, lifecycle hook, and guarded autonomous controller
runtime/mcp_evidence.pyPrivacy-bounded receipts for GitHub, security, browser-pilot, and SOFA evidence
adapters/Thin host integrations for OpenAI clients, Claude Code, OpenClaw, and Hermes Agent
docs/ARCHITECTURE.mdPortability boundary, controller policy boundary, and persistence model
docs/RUNTIME.mdRuntime, export, and autonomous-controller commands
INSTALL.mdReproducible installation instructions by host
esra-conformance.jsonMachine-readable implementation capability declaration

Supported hosts

Host / surfaceInstall modes (preferred first)Stable / edge updatesHooksRuntimeVerification
OpenAI / Codex / Desktopnative-marketplace, git, release-zip, local-pathmanual-native / manual-nativeruntime-dependentlocalisolated native local and tracked Git marketplace/add/list/upgrade/remove; live hooks pending
OpenAI / ChatGPT GitHub workspace marketplacenative-marketplace, gitautomatic / automaticruntime-dependentenvironment-dependentofficial-docs; package-contract-tested; live-integration-pending
OpenAI / ChatGPT Work runtimerelease-zip, local-pathmanual-replace / manual-replaceruntime-dependentenvironment-dependentofficial-docs; package-contract-tested; live-integration-pending
OpenAI / ChatGPT Web / public directorymanual-upload, catalog-submissionmanual-replace / manual-replacenonenoneofficial-docs; package-contract-tested; live-integration-pending
OpenAI / Agents API environmentsmanual-upload, local-path, release-zipmanual-replace / manual-replaceruntime-dependentenvironment-dependentofficial-docs; package-contract-tested; live-integration-pending
Claude / Claude Codenative-marketplace, git, local-path, release-zipautomatic-opt-in / automatic-opt-innativelocalnative strict manifests and isolated tracked Git install/list/update/remove; live hooks pending
Claude / Web personal skillsmanual-uploadmanual-replace / manual-replacenonenoneofficial-docs; package-contract-tested; live-integration-pending
Claude / Team / Enterprise marketplacenative-marketplace, manual-uploadautomatic-opt-in / automatic-opt-inruntime-dependentenvironment-dependentofficial-docs; package-contract-tested; live-integration-pending
Google / Gemini Web skillsmanual-uploadmanual-replace / manual-replacenonenoneofficial-docs; package-contract-tested; live-integration-pending
xAI / Grok Build / CLIgit, native-marketplace, local-path, release-zipmanual-native / manual-nativenativelocalnative validate and isolated tracked Git install/discovery/update/remove; five skills and hooks discovered; live dispatch pending
xAI / Grok Web / Bot instructionsmanual-uploadmanual-replace / manual-replacenonenonefile guidance only; persistent Bot skills and ZIP import unverified
Hermes / Agent / Desktopgit, local-path, release-zip, catalog-submissionmanual-native / automatic-opt-innativelocalnative root/archive validation and registration; managed install/update/pin skipped: host package manager missing uv.lock
OpenClaw / Gateway / CLIgit, local-path, release-zip, tarball, npm, catalog-submissionmanual-native / manual-nativenativelocalofficial-docs; package-contract-tested; live-integration-pending
Google / Antigravity CLI / IDE / 2.0 customlocal-path, release-zipmanual-replace / manual-replacenativelocalofficial-docs; package-contract-tested; live-integration-pending
Agent Skills / Generic consumersmanual-upload, local-path, gitmanual-replace / manual-replacenonenoneofficial-docs; package-contract-tested; live-integration-pending

Web-only clients receive the portable guidance available to them, not local Python hooks or filesystem persistence. Use a tagged release and verify SHA256SUMS before installation. Full commands are in Installation.


Autonomous loop

The autonomous profile implements:

observation → trigger → proposal → alignment → experiment → blind evaluation → local promotion → canary/rollback

Guarded mode can promote only an exact evaluated revision of a local, agent-owned, text-only skill. ESRA core, controller and evaluator code, values, safety rules, credentials, runtime code, host configuration, and canonical repository content remain human-approved proposals.

Hooks persist only allowlisted metadata and hashes. Prompts, transcripts, tool arguments and results, secrets, and raw run identifiers are excluded.

Design principles

  • One portable core — every supported host uses the same open Agent Skills tree.
  • Thin adapters — host-specific manifests, event mappings, paths, and installers stay outside the core.
  • Selective invocation — routine work bypasses ESRA and focused skills operate independently.
  • Evidence before promotion — experiments require explicit alignment, evaluation, authorization, and rollback.
  • Privacy by construction — lifecycle hooks retain only allowlisted metadata and hashes.
  • Bounded autonomy — protected surfaces remain human-approved and native mutation uses a separate authorized identity.

How to use this repository

  1. Read Architecture for the portable-core and host-adapter boundary.
  2. Choose a host and follow Installation using a tagged release.
  3. Use the focused skill that matches the task; do not load the full catalog for routine work.
  4. Use Runtime commands for evidence export or guarded controller operations.
  5. Complete the host gate before making native autonomous-capability claims.

Development

Run the repository checks from the project root:

.venv/bin/python scripts/validate_skills.py
.venv/bin/python scripts/validate_plugin.py
.venv/bin/python -m unittest discover -s tests -v
.venv/bin/python scripts/build_distributions.py
.venv/bin/python scripts/validate_distributions.py

Relationship to ESRA

The esra repository defines what the architecture is: its specification, data contracts, conformance tests, and host-pilot gates.

This repository defines the canonical cross-host implementation: portable skills and runtime behavior with thin host adapters.

Earlier host-specific repositories remain available during migration and retain their existing release URLs:

  • hermes-esra — legacy Hermes skills and integration toolkit
  • chatgpt-esra — legacy OpenAI distribution for ChatGPT and Codex
  • claude-esra — legacy Claude Code distribution

License

Apache-2.0 — see LICENSE. Attribution and trademark separation are recorded in NOTICE.


ESRA Agents is a living implementation. It evolves together with the ESRA specification and its host evidence.