Declarative YAML-based framework for orchestrating agentic workflows
Project description
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-reprompt | 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 |
Providers
| Provider | Batch | Provider | Batch |
|---|---|---|---|
| OpenAI | Yes | Groq | Yes |
| Anthropic | Yes | Mistral | Yes |
| Google Gemini | Yes | Cohere | Online only |
| Ollama (local) | Online only |
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
- Reprompting — auto-retry when LLM output doesn't match schema
- 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
pip install -e ".[dev]"
pytest
See CONTRIBUTING.md. Report bugs via Issues.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agent_actions-0.1.9.tar.gz.
File metadata
- Download URL: agent_actions-0.1.9.tar.gz
- Upload date:
- Size: 3.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bc650ec31675e1054bea9eed934b9f7dd7b43ac5bcb0030b3a0b8f45d8a06f5
|
|
| MD5 |
16c606657765f80ac0fe3456c5ccb1e6
|
|
| BLAKE2b-256 |
5623d9114980fb77b05cd819c6537d1d41d853b84d6a7fa65449d5392388ee0b
|
Provenance
The following attestation bundles were made for agent_actions-0.1.9.tar.gz:
Publisher:
publish.yml on Muizzkolapo/agent-actions
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_actions-0.1.9.tar.gz -
Subject digest:
0bc650ec31675e1054bea9eed934b9f7dd7b43ac5bcb0030b3a0b8f45d8a06f5 - Sigstore transparency entry: 1257622467
- Sigstore integration time:
-
Permalink:
Muizzkolapo/agent-actions@7eeedf92175184646766d72a8dc371c4388ecab5 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/Muizzkolapo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7eeedf92175184646766d72a8dc371c4388ecab5 -
Trigger Event:
release
-
Statement type:
File details
Details for the file agent_actions-0.1.9-py3-none-any.whl.
File metadata
- Download URL: agent_actions-0.1.9-py3-none-any.whl
- Upload date:
- Size: 2.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
888e4d66f652f2a5271ffbab111fe3c19bc1b71b70258393725ffa4ccccd0ff4
|
|
| MD5 |
90c5c597d3876aa35cd1caa502663b3b
|
|
| BLAKE2b-256 |
00ada2122b3906cd6d2afaa4d25d4f7631aa28f725f3887d08c572361093ccd5
|
Provenance
The following attestation bundles were made for agent_actions-0.1.9-py3-none-any.whl:
Publisher:
publish.yml on Muizzkolapo/agent-actions
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_actions-0.1.9-py3-none-any.whl -
Subject digest:
888e4d66f652f2a5271ffbab111fe3c19bc1b71b70258393725ffa4ccccd0ff4 - Sigstore transparency entry: 1257622522
- Sigstore integration time:
-
Permalink:
Muizzkolapo/agent-actions@7eeedf92175184646766d72a8dc371c4388ecab5 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/Muizzkolapo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7eeedf92175184646766d72a8dc371c4388ecab5 -
Trigger Event:
release
-
Statement type: