Declarative LLM orchestration. Define workflows in YAML — each action gets its own model, context window, schema, and pre-check gate. The framework handles DAG resolution, parallel execution, batch processing, and output validation.
[!WARNING] Experimental — Under active development. Expect breaking changes. Open an issue with feedback.
actions:
- name: extract_features
intent: "Extract key product features from listing"
model_vendor: anthropic # Each action picks its own model
model_name: claude-sonnet-4-20250514
- name: generate_description
dependencies: [extract_features]
model_vendor: openai # Mix vendors in one pipeline
model_name: gpt-4o-mini
context_scope:
observe:
- extract_features.features # See only what it needs
drop:
- source.raw_html # Don't waste tokens on noise
Install
pip install agent-actions
Quick start
agac init my_project && cd my_project # scaffold a project
agac init example contract_reviewer my_project # or start from an example
agac run -a my_workflow # execute
Why not just write Python?
You will, until you have 15 steps, 3 models, batch retry, and a teammate asks what your pipeline does.
| Capability | Agent Actions | Python script | n8n / Make |
|---|---|---|---|
| Per-step model selection | YAML field | Manual wiring | Per-node config |
| Context isolation per step | observe / drop |
You build it | Not available |
| Pre-check guards (skip before LLM call) | guard: |
If-statements | Post-hoc branching |
| Parallel consensus (3 voters + merge) | 2 lines of YAML | Custom code | Many nodes + JS |
| Schema validation + auto-repair | Built in | DIY | Not available |
| Batch processing (1000s of records) | Built in | For-loops | Loop nodes |
| The YAML is the documentation | Yes | No | Visual graph |
Examples
| Example | Pattern | Key Features |
|---|---|---|
| Review Analyzer | Parallel consensus | 3 independent scorers, vote aggregation, guard on quality threshold |
| Contract Reviewer | Map-reduce | Split clauses, analyze each, aggregate risk summary |
| Product Listing Enrichment | Tool + LLM hybrid | LLM generates copy, tool fetches pricing, LLM optimizes |
| Book Catalog Enrichment | Multi-step enrichment | BISAC classification, marketing copy, SEO metadata, reading level |
| Incident Triage | Parallel consensus | Severity classification, impact assessment, team assignment, response plan |
| Support Resolution | Non-JSON pipeline | Classify, route, and draft responses using output_field — works with any model including local Ollama |
Providers
| Provider | Batch | Provider | Batch |
|---|---|---|---|
| OpenAI | Yes | Groq | Yes |
| Anthropic | Yes | Cohere | Online only |
| Google Gemini | Yes | Ollama (local) | Yes |
Switch providers per-action by changing model_vendor.
Key capabilities
- Pre-flight validation — schemas, dependencies, templates, and credentials checked before any LLM call
- Batch processing — route thousands of records through provider batch APIs
- User-defined functions — Python tools for pre/post-processing and custom logic
- Expectations — declare rules the output must satisfy; failures are regenerated with the rule's feedback
- Observability — per-action timing, token counts, and structured event logs
- Interactive docs —
agac docsbuilds and serves a visual workflow dashboard
Documentation
- Full docs — guides, tutorials, reference
- Configuration — YAML schema reference
- CLI — all commands and options
Contributing
git clone https://github.com/Muizzkolapo/agent-actions.git && cd agent-actions
uv sync
pytest
See CONTRIBUTING.md. Report bugs via Issues.
License
Metadata
Release files for agent-actions 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agent_actions-1.0.0.tar.gz | 8.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agent_actions-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.0 MB
Release files / agent_actions-1.0.0.tar.gz
| Download URL | agent_actions-1.0.0.tar.gz |
|---|---|
| Size | 8.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4ac6225cce31784c3a8add19020fb23182bd96fb37690f894810a5d467ae86d1
|
|
BLAKE2b-256 checksum How to use checksums |
61fd35b5e213eca65551fd6e2a54503765481c4f1cff87e75896b1f5be01c340
|
| 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 8, 2026.
Transparency logRelease files / agent_actions-1.0.0-py3-none-any.whl
| Download URL | agent_actions-1.0.0-py3-none-any.whl |
|---|---|
| Size | 5.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
38231a085f16ea018e4b1185f316bd9eccb05063e720a825e97b02a9a09e1f00
|
|
BLAKE2b-256 checksum How to use checksums |
c51919a6e2f469bc9a3054dabc67d450c4f2c6668b0dafe97940ade4ece385b2
|
| 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 8, 2026.
Transparency log