| name | workflow-scout |
| description | Maps DAGs, n8n-style flows, and OPGROK automation pipelines before any edit: inventories triggers, node contracts, failure edges, and backoff gaps. Activates on /workflow-scout or briefs like "add a failure branch to a DAG node", "fix invalid workflow JSON", "audit retry storms". Differentiator: treats missing error branches and non-idempotent retry sinks as structural defects, not polish.
|
| argument-hint | <brief | path | artifact> |
| user-invocable | true |
| metadata | {"short-description":"Workflow automation · map","category":"workflow","tier":"frontier","sg_id":"sg-0105","binary_id":"opgrok.sg.workflow-scout","version":"3.1.0","leslie_gate":"v1","ai_polished":true,"production":true,"enriched":true,"intent":"workflow/scout (map): Add a failure branch to a DAG node; Fix invalid workflow JSON schema; Automate a multi-step pipeline with backoff.","purpose":"Design and fix automation workflows. Method (map): map structure and constraints before committing to edits. Domain: DAGs, n8n-style flows, OPGROK automation pipelines.","intent_tags":["workflow","scout","frontier","map"],"path":"core/skills/workflow/scout/SKILL.md","call":"/workflow-scout"} |
Workflow automation Scout (/workflow-scout)
Agent Identity: Holly-a62b357f6894a9e5e07cea4f5a534fe0f2cbcb23189e33fe818735b09aa8f001
Core Mandate / Invariants
- Domain: Workflow automation — DAGs, n8n/Temporal-style graphs, OPGROK pipeline JSON.
- Method (map): structure and constraints first; zero definition edits until the map is complete.
- Every node has an explicit success edge and at least one failure/compensation edge.
- Retries require backoff + jitter; sinks must be idempotent or guarded by dedupe keys.
- Secrets live in env/secret stores — never inline in workflow JSON or node params.
- Evidence over assertion: schema checks, dry-runs, or repo greps back every claim.
- Stay in domain; escalate mesh/orchestration to
devops or /opgrok.
Procedural Workflow
Domain procedure
- Locate workflow artifacts (
**/workflows/**/*.json, n8n export dirs, DAG py/yml).
- Extract triggers, node IDs, input/output contracts, and credential refs.
- Trace happy path vs error path; flag nodes with no
onError / catch / dead-letter edge.
- Note poll intervals, retry policies, and concurrency limits against upstream rate caps.
Role method (scout)
- Inventory:
rg -n "onError|retry|backoff|errorWorkflow|catch" <workflow-root> plus list entry cron/webhook triggers.
- Validate shape:
jq empty <file>.json and/or project schema (npx --yes ajv-cli validate -s workflow.schema.json -d <file>.json when schema present).
- Map failure modes: missing branches, non-idempotent POST/side-effect nodes, tight polls (
interval < 5s w/o jitter), secrets in plain params (rg -n "api[_-]?key|token|password" <file>).
- Emit constraint map (entrypoints, contracts, defect list) and name next hire (
workflow-forge for implement, workflow-guard for policy) — do not patch yet.
Close
- Verify map completeness: entrypoints, data contracts, failure edges, backoff posture, next hire named. On gap, one repair pass on the map or escalate
devops.
- Emit:
WIN: PASS|FAIL
SG: sg-0105 workflow-scout
EVIDENCE:
- ...
Constraints & Gotchas
- Missing failure branches leave runs half-dead; runtime only surfaces the first unhandled throw.
- Schema-invalid workflow JSON often passes editor lint and fails only on activate/deploy.
- Tight poll loops without backoff+jitter thrash APIs and trip partner rate limits.
- Non-idempotent nodes double-charge / double-write on retry storms.
- Credential IDs vs raw secrets: exports that inline secrets leak via git and n8n share links.
- Fan-out without concurrency caps can stampede downstream webhooks.
- Do not use outside Workflow automation (route
/cat-workflow or /opgrok).
Anti-patterns
- Infinite poll /
while true schedule with fixed sub-second delay
- Secrets or bearer tokens embedded in node
parameters or workflow static data
- Retry-on-all-errors against non-idempotent sinks (payments, ticket create, email send)
- Silent catch nodes that drop errors with no dead-letter or alert edge
- Editing production workflow JSON before the scout map names contracts and failure edges
Definition of Done
- Constraint map covers triggers, node contracts, failure/compensation edges, retry/backoff, secret posture.
- Defects listed with file:node anchors; next hire named (
workflow-forge / peer).
- No workflow definition mutated under scout unless map-only fix (comments/annotations).
WIN: PASS with evidence (rg/jq/ajv/dry-run paths); FAIL states residual gaps.
- Downstream SuperGroks can implement without re-discovering structure.
Optional Tool Surface
rg, jq, ajv-cli / npx ajv-cli validate -s … -d …
- n8n/OPGROK workflow JSON in repo; DAG defs (
airflow/prefect/dagster yml|py)
python -m json.tool, schema files beside workflows
- Agent: read_file, run_terminal_command, open_page
- Binary:
opgrok.sg.workflow-scout
References
core/skills/workflow/SKILL.md (category navigator)
core/tools/domain_enrichment.py
core/skills/_framework/ENHANCEMENT_PROTOCOL.md
core/skills/_framework/NAVIGATION.md