iii-low-code-automation について
iii エンジンで小さな登録関数をつなぎ、ローコードの自動化チェーンを構築するスキルです。HTTP・cron トリガー、キューによる処理、PubSub の完了イベントを扱います。
主な機能
- 01名前付きキューで関数を連結
- 02HTTP または cron トリガーで開始
- 03ステップ間でデータを永続化
- 04PubSub で完了イベントを配信
活用シーン
- 01フォーム送信を処理して通知
- 02RSS フィードの定期集約
- 03決済 Webhook の検証と注文更新
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ iii-hq/ skills --skill iii-low-code-automationインストール後、Claude Code で/iii-low-code-automationを入力して読み込まれたか確認します。
詳細
ローコード自動化チェーン
類似サービス:n8n、Zapier、LangFlow
主な概念
タスクに合う場合は、以下の概念を使用してください。すべての自動化で、これらすべてが必要になるわけではありません。
- 自動化の各「ノード」は、単一の役割を持つ小さな登録済み関数です
- ノードは
TriggerAction.Enqueueを使い、名前付きキューで連結します。手順の追加、削除、並べ替えが簡単です - HTTP トリガーは、外部からの Webhook(フォーム送信、決済イベントなど)を受け取ります
- Cron トリガーは、スケジュールされた自動化(毎日のダイジェスト、定期的な同期など)を開始します
- PubSubは、後続のリスナーに完了イベントをブロードキャストします
アーキテクチャ
Automation 1: Form → Enrich → Store → Notify
HTTP webhook → auto::enrich-lead → auto::store-lead → auto::notify-slack
Automation 2: Cron → Fetch → Transform → Store
Cron (daily) → auto::fetch-rss → auto::transform-articles → auto::store-articles
Automation 3: Payment webhook → Validate → Update → Notify
HTTP webhook → auto::validate-payment → auto::update-order → publish(payment.processed)
使用する iii のプリミティブ
| プリミティブ | 目的 |
|---|---|
registerWorker | ワーカーを初期化し、iii に接続します |
registerFunction | 各自動化ノードを定義します |
trigger({ ..., action: TriggerAction.Enqueue({ queue }) }) | 名前付きキューでノードを連結します |
trigger({ function_id: 'state::set', payload }) | ノード間でデータを永続化します |
trigger({ ..., action: TriggerAction.Void() }) | 通知をファイア・アンド・フォーゲットで送信します |
registerTrigger({ type: 'http' }) | Webhook のエントリーポイント |
registerTrigger({ type: 'cron' }) | スケジュールされた自動化 |
リファレンス実装
完全に動作するサンプル(3 つの自動化チェーン:フォームから Slack への通知、RSS フィードの集約、決済 Webhook の処理)は、../references/low-code-automation.js を参照してください。
よくあるパターン
このパターンを使うコードには、該当する場合、一般的に以下が含まれます。
registerWorker(url, { workerName })— ワーカーの初期化trigger({ function_id, payload, action: TriggerAction.Enqueue({ queue: 'automation' }) })— ノードの連結- 各ノードを独自の
registerFunctionとして定義し、ID にauto::プレフィックスを付けます - 1 つの処理(拡充、検証、保存、通知など)を行う、小さく目的を絞った関数
trigger({ function_id: 'state::set', payload: { scope, key, value } })— ノード間でデータを永続化しますconst logger = new Logger()— 各ノードで構造化ログを記録します
このパターンの適用
タスクに該当する場合は、以下の適用方法を使用してください。
- HTTP/cron トリガーを登録し、関数を連結して新しい自動化チェーンを追加します
- 各ノードは独立してテストできるようにしてください。入力を受け取り、出力を生成します
- チェーンごとに異なる再試行/同時実行の設定が必要な場合は、別々のキュー名を使用します
- 信頼性の低い外部サービスを利用する場合は、呼び出しを try/catch で囲み、失敗を明示的に処理します
- ノード関数は小さく保ち、複雑なロジックは専用の関数に委譲します
パターンの境界
- Saga 補償とステップ追跡を備えた、耐久性のあるマルチステップワークフローが必要なタスクでは、
iii-workflow-orchestrationを優先してください。 - 複数の AI エージェントが作業を引き継ぐタスクでは、
iii-agentic-backendを優先してください。 - 主な要件が、オーケストレーションのオーバーヘッドを最小限に抑えたシンプルなトリガー・変換・アクションのチェーンである場合は、
iii-low-code-automationを使用してください。
使用する場面
- タスクの主な内容が、iii エンジンでの
iii-low-code-automationに関する場合は、このスキルを使用してください。 - リクエストでこのパターンまたは同等の実装が直接求められている場合に使用します。
境界
- 無関係なタスクに対する汎用的な代替手段として、このスキルを使用しないでください。
- より具体的な iii スキルが適している場合、このスキルを適用してはいけません。
- このスキルの例を適用する前に、必ず環境と安全性の制約を確認してください。
コメント
Markdown 対応