Skills DirectorySearch all skills ↗

AI agent skill · by @automateyournetwork

Aap Eda

Event-Driven Ansible (EDA) — activation lifecycle, rulebook management, decision environments, event stream monitoring. Use when managing event-driven automation triggers, enabling/disabling activations, or reviewing EDA rulebooks.

Archived 2026-10-23 · Source updated 2026-10-11 · License: Apache-2.0. Check the original repository for the latest version.

SKILL.md instructions

# Event-Driven Ansible (EDA) Operations

## MCP Server

- **Repository**: [sibilleb/AAP-Enterprise-MCP-Server](https://github.com/sibilleb/AAP-Enterprise-MCP-Server)
- **Transport**: stdio (Python via `uv run eda.py`)
- **Install**: `git clone` + `uv sync` (or `pip install -e .`)
- **Requires**: `EDA_URL`, `EDA_TOKEN`

## Available Tools (12)

### Activation Management (7)

| Tool | What It Does |
|------|-------------|
| `list_activations` | List all activations in EDA |
| `get_activation` | Retrieve details for a specific activation by ID |
| `create_activation` | Create a new activation |
| `enable_activation` | Enable a disabled activation |
| `disable_activation` | Disable an active activation |
| `restart_activation` | Restart an activation |
| `delete_activation` | Delete an activation |

### Rulebooks & Environments (3)

| Tool | What It Does |
|------|-------------|
| `list_rulebooks` | List all rulebooks in EDA |
| `get_rulebook` | Retrieve details of a specific rulebook |
| `list_decision_environments` | List all decision environments |

### Event Streams & Environments (2)

| Tool | What It Does |
|------|-------------|
| `create_decision_environment` | Add a new decision environment |
| `list_event_streams` | List all event streams |

## Key Concepts

| Concept | What It Means |
|---------|---------------|
| **EDA** | Event-Driven Ansible — reactive automation triggered by events |
| **Activation** | A running instance of a rulebook processing events |
| **Rulebook** | YAML-defined rules mapping events to Ansible actions |
| **Decision Environment** | Container image with collections and dependencies for EDA |
| **Event Stream** | Source of events fed into EDA for processing |

## Workflow: Activation Management

1. **List activations**: `list_activations` — see all current activations and their state
2. **Inspect**: `get_activation` — review activation details (rulebook, decision env, status)
3. **Lifecycle**: `enable_activation`, `disable_activation`, `restart_activation` as needed
4. **Report**: Activation health summary

## Workflow: Event-Driven Automation Audit

1. **List activations**: `list_activations` — enumerate all EDA activations
2. **List rulebooks**: `list_rulebooks` — review available automation rules
3. **Check environments**: `list_decision_environments` — verify container images
4. **Monitor streams**: `list_event_streams` — confirm event sources are active
5. **Report**: EDA health, dormant activations, orphaned rulebooks

## Integration with Other Skills

| Skill | How They Work Together |
|-------|----------------------|
| `aap-automation` | EDA triggers → AAP job template execution |
| `aap-lint` | Validate rulebook playbook actions before activation |
| `servicenow-change-workflow` | ServiceNow CR before enabling EDA activations in production |
| `gait-session-tracking` | Audit trail for EDA lifecycle changes |
| `slack-network-alerts` | EDA event notifications via Slack |

## Environment Variables

- `EDA_URL` — EDA API endpoint (e.g., `https://aap.example.com/api/eda/v1`)
- `EDA_TOKEN` — EDA API token (can match AAP_TOKEN)

## Important Rules

- **Activations process events in real-time** — disabling/enabling affects live automation
- **ServiceNow CR** — gate activation changes behind change requests in production
- **Record in GAIT** — log all EDA operations for audit trail

## Failure Behavior

- If a tool call fails with an authentication or connection error, check that `EDA_TOKEN`, `EDA_URL` are set and valid before assuming a data or device problem.
- On a tool error (timeout, unreachable host, malformed response), report the failure and its error message directly to the user rather than fabricating or guessing at results.
- Do not automatically retry a write/mutating operation after a failure — surface the error and get explicit confirmation before retrying, since a blind retry on a partially-applied change can leave state inconsistent.

Related skills