Communityライティング&編集github.com

amplifthq/opentag

Slack や GitHub の @メンションをオープンソースで処理するツール。OpenTag はタグ付けされたリクエストを Codex や Claude Code にルーティングし、結果をスレッド内に返します。

opentag とは?

OpenTag は、Slack や GitHub 上の @mentions をエージェント実行に変換するオープンソーススキルです。このスキルは、ユーザーがワークスペースイベントからディスパッチャ、ローカルランナー、エグゼキュータ、コールバックに至るパスを設定するのを支援します。設定を明示的に保ち、ディスパッチャのヘルスチェック、ランナー登録、リポジトリや Slack のバインディング、実行作成、デーモン実行、コールバック配信といった段階を分離して検証します。ローカルエコーループを優先し、実際のエージェントやライブコールバックより先に小さな動作ループを構成・確認します。コマンドのデフォルトとして、ディスパッチャアプリやローカルデーモンアプリの起動コマンド、ディスパッチャURL、サンプルペイロードなどを提供します。

対応✓Claude Code✓Codex CLI~Cursor
npx skills add amplifthq/opentag

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

opentag は何をしますか?

OpenTag は、@opentag これを修正して のようなワークスペースメンションを監査可能なエージェント実行に変換します。このスキルは、ユーザーがワークスペースイベントからディスパッチャ、ローカルランナー、エグゼキュータ、コールバックに至るパスを設定するのに役立ちます。

リクエストのルーティング

ユーザーのパスに必要なリファレンスのみを参照してください:

  • ローカルスモークテストまたは初回セットアップ: references/local-echo.md
  • GitHub Issue または PR のメンション: references/github-setup.md
  • Slack アプリのメンション: references/slack-setup.md
  • 実際のコーディング実行または PR 作成: references/codex-runner.md
  • 実行の中断、コールバックの欠落、拒否された実行、認証エラー: references/troubleshooting.md

ユーザーが複数のパスを要求する場合は、最初に最小の動作ループを構成・検証し、その後次のアダプターを追加してください。

動作ルール

  • ユーザーが既に動作するディスパッチャとランナーを持っている場合を除き、実際のエージェントやライブコールバックよりもローカルエコーループを優先してください。
  • 設定は明示的に保ちます: リポジトリ所有者、リポジトリ名、チェックアウトパス、トークン、Slack ID、ディスパッチャ URL をでっち上げないでください。
  • フォールバック動作を追加しないでください。必須の値が不足している場合は、不足しているものの明確なリストを提示してセットアップを中止してください。
  • opentagd をローカル実行権限として扱います。opentagd は、その設定にリストされているリポジトリのみを要求します。
  • 非破壊的なスモークテストには echo を使用し、ユーザーが実際のコード実行を望む場合にのみ codex を使用します。
  • 証明レイヤーを分離します: ディスパッチャのヘルス、ランナー登録、リポジトリまたは Slack のバインディング、実行作成、デーモン実行、コールバック配信。

セットアップワークフロー

  1. ターゲットループを特定します。 完了条件: local-echo、github、slack、または codex-runner というループが 1 つ指定される。

  2. 必要な事実を収集します。 完了条件: 回答に不足しているすべての値が含まれているか、必要なすべての値が利用可能であること。

  3. 最小限の設定を記述または更新します。 完了条件: 設定には選択したループに必要なフィールドのみが含まれ、ユーザーの実際のリポジトリ/チャンネル/チェックアウトが使用されていること。

  4. 実行を作成する前にバインディングを登録します。 完了条件: ランナーが登録され、リポジトリがバインドされ、Slack が適用範囲内の場合は Slack チャンネルがバインドされていること。

  5. 実際の実行を 1 回検証します。 完了条件: 実行がディスパッチャを通じて確認でき、監査イベントがあり、完了または特定のエラーで失敗していること。

  6. 結果を報告します。 完了条件: 何が設定されたか、どのコマンドでそれが証明されたか、何が未設定かをユーザーに伝える。

コマンドのデフォルト

プロジェクトで変更がない限り、これらのデフォルトを使用してください:

  • ディスパッチャアプリ: pnpm --filter @opentag/dispatcher-app dev
  • ローカルデーモンアプリ: pnpm --filter @opentag/opentagd dev -- <command>
  • Slack イベントアプリ: pnpm --filter @opentag/slack-events dev
  • ディスパッチャ URL: http://localhost:3030
  • Slack イベント URL パス: /slack/events
  • サンプル実行ペイロード: examples/github-to-echo/run.example.json

このリポジトリ内でパッケージコマンドを実行する前に、Node 22.x を使用し、必要に応じて依存関係をインストールしてください。

関連スキル