playbook-validate
User-invoked as /playbook-validate <path>. Validates an Aegis remediation playbook (YAML/JSON) for step ordering, required fields, idempotency, and rollback coverage. Use before a playbook is trusted
SKILL.md.junie/skills/playbook-validate/SKILL.md
GitHubPlaybook Validate
Validate the playbook file at the path the user supplied ($ARGUMENTS). A
playbook drives automated or semi-automated remediation during an incident, so
a malformed one is a safety hazard.
Checks
- Required fields - each playbook has:
id,name,trigger(fault class /IncidentMode/ signal),steps,owner,severity. Each step has:id,description,action,idempotent(bool),rollback,requires_authorisation(bool),timeout. - Step ordering - steps form a sane sequence: detect/confirm → contain → remediate → verify. No remediation step runs before the triggering condition is confirmed.
- Idempotency - every step declares
idempotent; any non-idempotent step documents why re-running is unsafe and how it is guarded. - Rollback - every state-changing step has a
rollback(or an explicit, justifiedrollback: nonefor read-only steps). - Authorisation - any production-affecting step sets
requires_authorisation: true; cross-check against theAEGIS_PROD_CONFIRMEDguard convention. - Consensus weights - consensus weight is a
default_weightClassVaron each agent class (src/aegis_swr/agents/), not a file: check every registered agent declares a numeric weight and the built-in roster sums to ~1.0 (±0.01).
Output
## Playbook Validation - <file>
**Verdict: VALID | INVALID**
### Errors (blocking)
- <field/step> - <problem>
### Warnings
- <improvement>
### Coverage
- steps: N | with rollback: N | idempotent: N | needs-auth: N
Default to INVALID if any required field is missing or any state-changing step lacks a rollback.