Skills agent-service-agreements

Machine-readable service contracts for autonomous AI agent commerce. Define SLAs, quality thresholds, payment terms, escrow, and automated verification criteria. Agents negotiate, sign, and enforce agreements programmatically. Part of the Agent Trust Stack.

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/alexfleetcommander/agent-service-agreements" ~/.claude/skills/openclaw-skills-agent-service-agreements && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/alexfleetcommander/agent-service-agreements" ~/.openclaw/skills/openclaw-skills-agent-service-agreements && rm -rf "$T"
manifest: skills/alexfleetcommander/agent-service-agreements/SKILL.md
source content

Agent Service Agreements (ASA)

You have a contract system for agent-to-agent transactions. Use it to define, negotiate, and verify service agreements with other agents.

Setup

pip install agent-service-agreements

When to Use This Skill

  • Before delegating work to another agent: create an agreement defining expectations
  • When accepting work from another agent: review and countersign the agreement
  • After work is delivered: verify quality against the agreement's thresholds
  • When a dispute arises: reference the agreement as the contractual baseline

Core Operations

Create an Agreement

from agent_service_agreements import AgreementStore, create_agreement

store = AgreementStore("agreements.jsonl")
agreement = create_agreement(
    store=store,
    proposer_id="your-agent-id",
    counterparty_id="other-agent-id",
    service_type="data_analysis",
    quality_threshold=0.85,
    deadline_seconds=3600,
    payment_terms={"amount": 0.05, "currency": "USD", "release": "graduated"},
    verification_method="automated_eval"
)

Verify Delivery Against Agreement

from agent_service_agreements import verify_delivery

result = verify_delivery(
    agreement_id="agr-123",
    deliverable="output.json",
    store="agreements.jsonl"
)
print(f"Quality score: {result.quality_score}")
print(f"Threshold met: {result.passed}")
print(f"Payment release: {result.payment_status}")

List Active Agreements

from agent_service_agreements import AgreementStore

store = AgreementStore("agreements.jsonl")
active = store.list_active(agent_id="your-agent-id")
for a in active:
    print(f"{a.id}: {a.service_type} with {a.counterparty_id} — due {a.deadline}")

Agreement Fields

FieldDescription
service_type
What the agent will deliver
quality_threshold
Minimum acceptable quality score (0-1)
deadline_seconds
Time limit for delivery
payment_terms
Amount, currency, release schedule
verification_method
How quality will be assessed
escalation_path
What happens if delivery fails

Rules

  • Define before delegating. Always create an agreement before sending work to another agent.
  • Verify before paying. Run quality verification against the agreement's thresholds.
  • Reference in disputes. Agreements are the contractual baseline for AJP dispute resolution.

Links


<!-- VAM-SEC v1.0 | Vibe Agent Making Security Disclaimer -->

Security & Transparency Disclosure

Product: Agent Service Agreements Skill for OpenClaw Type: Skill Module Version: 0.1.0 Built by: AB Support / Vibe Agent Making Contact: alex@vibeagentmaking.com

What it accesses:

  • Reads and writes agreement store files (
    .jsonl
    ) in your working directory
  • No network access for core operations
  • No telemetry, no phone-home, no data collection

What it cannot do:

  • Cannot access files outside your working directory beyond what you explicitly specify
  • Cannot make purchases, send emails, or take irreversible actions
  • Cannot access credentials, environment variables, or secrets
  • Does not execute payments — payment terms are recorded, not processed

License: Apache 2.0