Skip to content

About

Four new Agentic AI Foundation projects (Agent Skills, Open Responses, OpenEnv, OpenSandbox), each put to work on a small, realistic task you can run

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

aaif-agent-stack-examples

License Python 3.11+ Node 22 Docker PRs Welcome

Four new Agentic AI Foundation projects, each put to work on a small, realistic task you can run yourself.
The Announcement · Quick Start · Report a Bug

What it does

The Agentic AI Foundation welcomed four new projects. Each folder here gives one of them a real job, and every check in it has to pass for the run to succeed.

  • Packages an accounts-receivable procedure as an Agent Skill (from Anthropic): an invoice-aging skill that turns an invoice CSV into an overdue follow-up list, validated with the official skills-ref tool.
  • Exchanges a tool call over Open Responses (from OpenAI): the model asks to look up incident INC-4821, the application answers from its own CSV, and the model writes the on-call handoff.
  • Scores an agent's incident triage in an OpenEnv environment (from Hugging Face): page, queue or dismiss, with rewards, an episode score and a penalty for invalid actions.
  • Runs an invoice reconciliation inside an OpenSandbox container (from Alibaba): the code, the invoices and the ledger go in, a report of duplicates, gaps and mismatches comes back, and the sandbox is destroyed.

Quick Start

Each example is a folder with a run.sh that downloads the project's latest release, verifies its published checksum, runs the task and prints every check. The first three need only a Linux shell with Python 3 and Node 22, so the official Node image is all you need:

git clone https://github.com/hummusonrails/aaif-agent-stack-examples.git
cd aaif-agent-stack-examples

docker run --rm -v "$PWD/agent-skills:/work" -w /work node:22-bookworm bash run.sh
docker run --rm -v "$PWD/open-responses:/work" -w /work node:22-bookworm bash run.sh
docker run --rm -v "$PWD/openenv:/work" -w /work node:22-bookworm bash run.sh

OpenSandbox creates containers of its own, so it runs where a Docker engine is available, on a Linux host or VM with Python 3 and Docker:

cd opensandbox
bash run.sh

Every folder has a sample-output.txt with the output of the run shown in the video.

Stack

Example Project Language What runs
agent-skills Agent Skills, skills-ref from PyPI Python The skill is validated and turned into an agent's skill catalog, then its bundled script builds the follow-up list
open-responses The published Open Responses OpenAPI spec JavaScript A two-request tool call against a local model provider that speaks the spec
openenv openenv from PyPI Python An OpenEnv server hosting a custom triage environment, stepped through by its client
opensandbox opensandbox-server and opensandbox from PyPI Python The OpenSandbox server on Docker, creating a python:3.12 sandbox for the reconciliation
Prerequisites
  • Docker to run the examples in the node:22-bookworm image, or any Linux shell with bash, curl, Python 3.11+ and Node 22
  • For OpenSandbox: a Linux host or VM with a running Docker engine, Python 3 and bash 4+
  • Internet access: each run.sh downloads the project's current release from PyPI or its official site

The examples

Agent Skills: an invoice follow-up list

agent-skills/invoice-aging/SKILL.md is the whole interface an agent sees: a name and description for discovery, then the steps, the inputs it expects and what it must never do (send messages or change accounting records). The bundled script lists invoices unpaid and past due on a reporting date, oldest first.

overdue check: passed, 5 invoices, USD 3914.50
exclusions check: passed, paid, due today, and future-due invoices absent
historical payment check: passed, payment after as-of date retained

Open Responses: an on-call handoff

open-responses/demo.mjs declares a lookup_incident tool, reads the model's function_call, answers it from incidents.csv and sends a function_call_output back with the same call_id. The model provider is a local server that speaks the spec (mock-provider.mjs), so it runs without an account; point endpoint at any provider that implements Open Responses to run it against a real model.

Tool call: lookup_incident {"incident_id":"INC-4821"}
On-call handoff: INC-4821: checkout-api P1 open, 843 customers affected. Page Maya Chen.

OpenEnv: scoring incident triage

openenv/triage_env/server/environment.py implements reset, step and state. Production incidents with 1,000 or more affected users should be paged, other production incidents queued, and anything outside production dismissed. A correct call earns 1, paging the qualifying incident first earns 1.5, a wrong call costs 1, and an invalid action costs 1 without using a step.

step 1: INC-2841, page, reward 1.5, done False
step 2: INC-2842, queue, reward 1.0, done False
step 3: INC-2843, dismiss, reward 1.0, done True
episode score: 3.5

OpenSandbox: reconciling invoices against a ledger

opensandbox/demo.py creates a sandbox from python:3.12, writes the reconciliation program and both CSVs into it, runs the program there, reads the report back and destroys the sandbox in a finally block.

Sandbox stdout: {"amount_mismatches": [{"invoice_id": "INV-1045", "invoice_usd": "62.00", "ledger_usd": "60.00"}], "duplicate_invoice_ids": ["INV-1044"], "invoice_total_usd": "455.50", "missing_in_ledger": ["INV-1046"], "unmatched_ledger_ids": ["INV-1099"]}
Reconciliation checks: passed

Project structure

aaif-agent-stack-examples/
├── agent-skills/
│   ├── invoice-aging/
│   │   ├── SKILL.md              # the skill: discovery metadata and instructions
│   │   ├── assets/invoices.csv
│   │   └── scripts/age_invoices.py
│   ├── setup.py                  # installs skills-ref from PyPI, checksum verified
│   └── run.sh
├── open-responses/
│   ├── demo.mjs                  # the tool-call exchange
│   ├── mock-provider.mjs         # a local provider that speaks the spec
│   ├── incidents.csv
│   └── run.sh
├── openenv/
│   ├── triage_env/               # models, client and server for the environment
│   ├── demo.py                   # steps through an episode
│   ├── incidents.csv
│   ├── setup.py
│   └── run.sh
└── opensandbox/
    ├── demo.py                   # creates the sandbox and runs the reconciliation
    ├── reconcile.py              # the code that runs inside the sandbox
    ├── invoices.csv
    ├── ledger.csv
    ├── fetch.py                  # downloads uv and the OpenSandbox packages, checksums verified
    └── run.sh

Contributing

Found a bug or have an idea for another realistic task? Open an issue or send a pull request.

License

MIT

About

Four new Agentic AI Foundation projects (Agent Skills, Open Responses, OpenEnv, OpenSandbox), each put to work on a small, realistic task you can run

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages