mcpField
I
iii-low-code-automation

iii-low-code-automation

github.com/iii-hq開発219 回インストール
リポジトリ

iii-low-code-automation について

iii エンジンで小さな登録関数をつなぎ、ローコードの自動化チェーンを構築するスキルです。HTTP・cron トリガー、キューによる処理、PubSub の完了イベントを扱います。

主な機能

  1. 01名前付きキューで関数を連結
  2. 02HTTP または cron トリガーで開始
  3. 03ステップ間でデータを永続化
  4. 04PubSub で完了イベントを配信

活用シーン

  1. 01フォーム送信を処理して通知
  2. 02RSS フィードの定期集約
  3. 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 スキルが適している場合、このスキルを適用してはいけません。
  • このスキルの例を適用する前に、必ず環境と安全性の制約を確認してください。

コメント