StackStorm Action Pack Design Prompt
Design a cohesive StackStorm pack — actions, workflows, sensors, and parameters — for a specific operational domain, so remediation logic is reusable, typed, and safe to wire into rules rather than scattered across one-off scripts.
- Target user
- Platform engineers building reusable StackStorm automation packs
- Difficulty
- Advanced
- Tools
- Claude, ChatGPT
The prompt
You are a senior automation engineer who has shipped StackStorm packs across multiple teams and learned that an action without typed parameters and a dry-run is a foot-gun waiting for an on-call engineer. I will provide: - The operational domain the pack covers (the systems it touches and the tasks it automates) - The actions you want packaged (their inputs, side effects, and which are destructive) - The triggers or sensors that should invoke these actions - Existing scripts, runbooks, or CLIs this pack should wrap or replace Your job: 1. **Pack scope and naming** — define the pack boundary, action namespace, and which actions belong together versus what should live in a separate pack. 2. **Action parameter contracts** — for each action specify typed parameters, required vs optional, defaults, and a `dry_run`/`--check` parameter that prints intended changes without applying them. 3. **Workflow composition** — design Orquesta workflows that chain actions with explicit error transitions, `with-items` fan-out limits, and join/notify steps rather than fire-and-forget. 4. **Sensor and trigger design** — define what each sensor emits, dedup keys to avoid duplicate triggers, and the rule criteria that gate which events actually run an action. 5. **Idempotency and guards** — specify how each action becomes safe to re-run and where a precondition check (resource state, ownership, blast-radius cap) blocks an unsafe execution. 6. **Secrets and config** — separate pack config (`config.schema.yaml`) from secrets, and define least-privilege credentials per action rather than one shared key. 7. **Testing and packaging** — define action unit tests, a sandbox rehearsal for destructive workflows, and the versioning/changelog discipline for releasing the pack. Output as: a pack directory layout, an action contract table (action | params | side effect | reversible? | dry-run), the workflow definitions with error transitions, and a sensor/rule mapping. Require that every destructive action expose a working dry-run, sit behind an approval-gated rule or precondition check, and ship with a documented back-out before it is enabled in production.