Configures Claude Code hooks and Codex hooks.json/notify. Use when adding PreToolUse guards, Stop hooks, managed hooks, format-on-save, preflight, audits, or worktree/budget hooks.
日本語の概要は準備中です。原文の説明を表示しています。
Designs workflow automation with n8n, Zapier/Make, Temporal, Trigger.dev, Inngest. Use when choosing platforms, durable execution, or approval gates; not job queues or agents.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
| Need | Default path | Notes |
|---|---|---|
| Broad integration workflow with many SaaS connectors | n8n | Strong default for business and product operations with many external systems. Check the licence before reselling hosted access (Licensing). |
| Visual AI or LLM pipeline prototyping | Langflow | Best fit when the workflow is model-centric and still evolving quickly. Open source; self-host it, or check which managed Langflow offerings exist before recommending a hosted one. |
| Self-hosted event watchers and automation agents | Huginn | Good fit for monitoring, alerts, and privacy-first self-hosted automations; check upstream release activity before committing |
| Long-running, retried, or replay-sensitive business workflows | Temporal or Trigger.dev | Use when durable execution, idempotency, and code review matter more than visual editing speed. |
| Complex state, strong testing, or strict SLOs | Custom code | Move out of no-code/low-code once the workflow becomes core software |
| Tool protocol or reusable tool surface | ../agents-mcp/SKILL.md | MCP is the integration contract layer, not the workflow designer itself |
| Platform state, version traps, and migration notes (check vendor release notes before advising) | references/platform-state.md | Temporal, Trigger.dev, n8n, Inngest, Hatchet, durable-execution selector, iPaaS buy-vs-build, licensing |
| Durable execution deep-dive: Temporal, Trigger.dev, n8n, Langflow | references/durable-execution.md | breaking changes and production traps |
| Replay DLQ messages from a JSON file | scripts/replay_dlq.py | generic scaffold; adapt TARGET_COMMAND_TEMPLATE |
| Platform | Best fit | Durable execution | Visual editor | Code review | Self-host |
|---|---|---|---|---|---|
| n8n | SaaS integration glue, many connectors | No | Yes | Limited | Yes (Sustainable Use License) |
| Langflow | AI/LLM chain prototyping | No | Yes | Limited | Yes |
| Huginn | Self-hosted event monitoring, alerts | No | Yes | No | Only |
| Temporal | Long-running, retried business processes | Yes (replay-safe) | No | Yes | Yes |
| Trigger.dev | Code-first durable tasks, cloud or self-host | Yes | No | Yes | Yes |
| Custom code | Core product logic, strict SLOs, testable | Custom | No | Yes | Yes |
| Signal | Action |
|---|---|
| Flow has conditional branches affecting billing, access control, or user-visible state | Move to code |
| Team cannot run unit tests against the flow | Move to code |
| Flow cannot meet its measured latency SLO in the visual runtime | Move to code |
| Flow has several dependent external side effects | Audit idempotency first; then evaluate code |
| Flow is still a prototype with evolving branches | Stay in visual tool |
| Flow is pure integration glue between stable SaaS APIs | Stay in visual tool |
<business-id>:charge, <business-id>:email).When not to automate. Leave a task manual (with a checklist) when it runs rarely, its inputs change shape each time, the failure cost of a wrong automated side effect exceeds the time saved, or no one will own the flow after launch. Automate the checklist first; automate the action once the steps have stayed stable for several runs.
LLM steps in workflows. Treat each model call as an untrusted step: validate structured output against a schema and route failures to a deterministic fallback or a human queue; cap tokens, cost, and retries per run; run evals before letting model output trigger side effects without approval; and version prompts and model IDs with the workflow version so in-flight runs stay reproducible. Keep deterministic routing in code, not in the model.
Compensation contract.
For each multi-step workflow, classify every completed side effect as reversible, compensatable, or irreversible. Define compensation order, retry behavior, and the terminal state when compensation also fails. Never claim transaction semantics across independent SaaS APIs; expose partial completion to operators with the run ID, completed steps, and safe next action.
Before a workflow is production-ready:
parameters.operation, check the node type/version’s default in vendor documentation and review its side effects manually. The linter does not resolve app defaults; a clean report does not satisfy this gateUse this skill when the user asks:
Recipes keyed to common workflow automation design moments. Each lists the shortest path using patterns above.
Math.random and Date.now deterministic, but I/O still belongs in activities.Activity; activities own all I/O.ScheduleToCloseTimeout on each activity to bound how long a retry loop may run for that step.workflow.Sleep in Go, sleep in TypeScript) for delays inside the workflow; do not use OS sleep or tickers.HeartbeatTimeout on long-running activities so Temporal detects worker crashes and reschedules.docs/workflow/trigger-deployment-decision.md for future team members, including any static-IP allowlist updates needed for outbound calls (Trigger.dev's infrastructure IPs can change on major-version migrations).workflow.GetSignalChannel("approve") or use a Condition; resume on signal receipt.pending_escalation state and notify the escalation owner; do not silently expire.References
Scripts
steps/tasks/nodes/activities/jobs object, a bare step array (group steps with their own steps stay steps), or an array made only of workflows (each linted separately; issues carry workflow). Anything else exits 2, and so does input with no steps at all ({"nodes": []}, [{"nodes": []}]), so an empty export cannot pass a --fail-on error gate; one empty workflow inside a non-empty batch gets a no-steps-found warning.sendgrid, createOrder; words split on non-alphanumerics and camelCase, with an exception list so words such as postgres, posthog and postal are not post), outbound POST/PUT/PATCH/DELETE (method, or requestMethod on the n8n HTTP Request node's typeVersion 1), and n8n app nodes whose parameters.operation contains a write verb (create, update, delete, upsert, insert, send, charge, post, capture, refund, add, remove, cancel, append, upload, reply, publish, push, incr/increment, decr/decrement, move, copy, share, invite, archive). Not linted: n8n trigger nodes (Webhook, Form, Manual, any *Trigger, whose httpMethod is inbound), Respond to Webhook, explicit reads (select, get, getAll, find, aggregate), and DLQ targets, meaning DLQ-named nodes reached only through an error output (a duplicate failure record is harmless; check the DLQ write's own durability by hand). Any other error-path node, such as a fallback charge, is linted like the normal path.upsert and simple SQL conflict writes are static candidates, not proof: confirm a unique business key, stable input, and replay-safe triggers. SQL SET assignments accept only literals/binds or direct incoming values (excluded.col, a simple MERGE source alias, MySQL VALUES(col)). Increments, functions, complex expressions, comments and multiple statements get a warning rather than a clean result; complex safe SQL needs manual review. A query is read-only only when every statement is a SELECT or WITH … SELECT with no write keyword. Any other write, including a node with no operation (n8n omits default values from exports), gets the warning non-idempotent-db-write: use stable replacement values on a unique business key. App nodes relying on a default operation are not detected; resolve the default against the exported node type/version before accepting a clean report.idempotency (e.g. X-Idempotency-Key), and PayPal-Request-Id; add other providers' key headers to IDEMPOTENCY_HEADER_NAMES in the script. In n8n exports a key must be a ={{ }} expression reading the current item ($json.id, $('Node').item.json.id): a constant, $execution, $workflow, or a batch accessor (.first(), .last(), .all(), $items(...)[n]) alone is static-idempotency-key (use .item to follow the current item); item data mixed with $execution, $runIndex, $now, $today, Date()/new Date(), Date.now(), DateTime.now/local/utc(), performance.now(), Math.random(), randomUUID() or a batch accessor is unstable-idempotency-key. A passing key can still have the wrong business scope.dlq field. In n8n exports only a connected onError error output whose direct target is a DLQ-named node counts; a dlq field on an n8n node does not, and disabled nodes, sticky notes and No-Op nodes never do. Either is static evidence, not proof of delivery.--fail-on (default warning, so any issue fails; --fail-on error reports warnings but passes them); 2 input error, including no steps to lint. --strict changes what is found (keyword steps need keys and DLQs, missing retries become errors); --fail-on only sets which severities fail, so --strict --fail-on error gates on strict-mode errors. --format text prints a readable report.--execute exits 2 until the echo template is configured; invalid messages, missing payloads, non-object filters and non-positive limits also exit 2. Offline regressions: scripts/test_replay_dlq.py.Related Skills
When prior decisions or pitfalls are relevant, consult learnings.consolidated.md if present; use learnings.md only for needed history or as the available fallback. Otherwise skip both.
After applying it, if you encountered a pattern worth remembering, a mistake worth preventing, or a domain fact that surprised you, append one dated bullet to learnings.md via agents-skills-feedback-loop/scripts/append_learning.py. Do not modify SKILL.md itself.
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Configures Claude Code hooks and Codex hooks.json/notify. Use when adding PreToolUse guards, Stop hooks, managed hooks, format-on-save, preflight, audits, or worktree/budget hooks.
日本語の概要は準備中です。原文の説明を表示しています。
Configures and hardens Claude Code and Codex MCP servers. Use when connecting databases, APIs, SaaS, building servers, or serving a clearance-filtered knowledge base.
日本語の概要は準備中です。原文の説明を表示しています。
Owns instruction files: AGENTS.md, CLAUDE.md, personal and repo rules. Use when writing, pruning, auditing them, sharing rules across Claude and Codex, or fixing ignored rules.
日本語の概要は準備中です。原文の説明を表示しています。
Creates and audits agent skills: SKILL.md, references, scripts, runtime metadata. Use when writing, validating, or security-reviewing a skill, or fixing truncated skill listings.
日本語の概要は準備中です。原文の説明を表示しています。
Adds per-skill learnings loops for dated patterns, mistakes, and domain facts. Use when wiring skill memory, consolidation, or drift audits.
日本語の概要は準備中です。原文の説明を表示しています。
Chooses subagent, team, workflow, or debate and launches it on Claude Code or Codex. Use when delegating, running agent review boards, or installing shared agents.
日本語の概要は準備中です。原文の説明を表示しています。