mcpField
E
envelope-team

envelope-team

github.com/davepoonエージェントワークフロー3.7k40 回インストール今日更新
リポジトリ

envelope-team について

Envelope のマルチエージェントチームを設計し、スキーマに準拠した `.envelope.json` 定義を作成するスキルです。エージェント階層、アクセス方針、変数、シークレット、人間による承認ゲートを扱います。

主な機能

  1. 01エージェント階層の設計
  2. 02スキーマ準拠のチームファイル生成
  3. 03アクセス方針と設定の定義
  4. 04人間参加型ゲートの追加
  5. 05スキーマ項目の説明

活用シーン

  1. 01ワークフローの説明からチームを設計
  2. 02Envelope チームのデプロイ準備
  3. 03エージェントワークフローへの承認手順追加

MCP 対応

README によると、Envelope チームは MCP 経由で Claude.ai または ChatGPT から実行できます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/davepoon/buildwithclaude --skill envelope-team

インストール後、Claude Code で/envelope-teamを入力して読み込まれたか確認します。

詳細

Envelope Team

Envelope 上でマルチエージェントチームを構築・デプロイするためのオープンスタンダードである、.envelope.json AI エージェントチーム定義ファイルを設計・生成します。

このスキルを使用する場面

  • Envelope チームの構築、設計、生成を依頼された場合
  • AI エージェントのチームで自動化できるワークフローについて説明された場合
  • デプロイ用の .envelope.json ファイルを作成したい場合
  • エージェントの階層、アクセス権限ポリシー、ゲートについてサポートが必要な場合

このスキルでできること

  1. チームの目的について自然言語での説明を受け取ります
  2. エージェントの階層(スーパーバイザー → マネージャー → ワーカー)を設計します
  3. スキーマに準拠した .envelope.json ファイルを生成します
  4. 必要に応じてアクセス権限ポリシー、変数、シークレット、ゲートを含めます
  5. ユーザーから質問されたスキーマの概念を説明します

使用方法

基本的な使用方法
Build me an Envelope team for customer support triage — one supervisor,
two agents that read Zendesk tickets, and a Slack notifier for escalations.
Create an Envelope team definition for outbound sales — an SDR manager
overseeing two SDRs who work HubSpot leads and a RevOps analyst.
人間が介在するゲートを設ける場合
Build an Envelope team that drafts marketing emails and pauses for
human approval before sending.

例

ユーザー:「コンテンツモデレーション用の Envelope チームを作ってください。コミュニティガイドラインに照らして投稿を確認するスーパーバイザーと 2 つのレビュー担当エージェントが必要です。」

出力:

{
  "$schema": "https://schema.openenvelope.org/team/v1.json",
  "name": "Content Moderation Team",
  "slug": "content-moderation",
  "version": "1.0.0",
  "description": "A supervisor and two reviewer agents that check posts against community guidelines.",
  "visibility": "team",
  "category": "ops",
  "requiredVariables": ["companyName"],
  "requiredSecrets": ["MODERATION_API_KEY"],
  "metadata": { "generatedBy": "Claude Code · openenvelope.org" },
  "agents": [
    {
      "key": "supervisor",
      "name": "Moderation Supervisor",
      "role": "supervisor",
      "capabilities": ["Route content to reviewer agents", "Aggregate decisions", "Escalate edge cases"],
      "model": "anthropic:claude-sonnet-4-5",
      "systemPrompt": "You supervise the content moderation team at {{companyName}}. Delegate each item to a reviewer and consolidate their verdicts."
    },
    {
      "key": "policy-reviewer",
      "name": "Policy Reviewer",
      "role": "reviewer",
      "capabilities": ["Check content against community guidelines", "Flag policy violations"],
      "model": "anthropic:claude-haiku-3-5",
      "systemPrompt": "You review content for policy violations at {{companyName}}. Return a verdict of approve, flag, or remove with a reason.",
      "reportsToKey": "supervisor",
      "accessPolicy": {
        "accessPolicyVersion": "1",
        "rules": [
          { "host": "api.moderation-service.com", "action": "allow" },
          { "host": "*", "action": "deny" }
        ]
      }
    },
    {
      "key": "spam-reviewer",
      "name": "Spam Reviewer",
      "role": "reviewer",
      "capabilities": ["Detect spam, bot activity, and duplicate content"],
      "model": "anthropic:claude-haiku-3-5",
      "systemPrompt": "You detect spam and bot activity at {{companyName}}. Return a verdict of approve, flag, or remove with a confidence score.",
      "reportsToKey": "supervisor"
    }
  ]
}

スキーマリファレンス

トップレベルのフィールド
フィールド必須説明
$schemaはい常に https://schema.openenvelope.org/team/v1.json
nameはい人が読めるチーム名
slugはいURL で使用できる、小文字とハイフンのみの名前
versionはいSemVer(例:"1.0.0")
descriptionはいこのチームが行うこと
visibilityはい"public" · "team" · "private"
requiredVariablesいいえ機密情報ではない設定。{{varName}} を使って補間します
requiredSecretsいいえAPI キー。暗号化して保存し、${SECRET_NAME} として注入します
scheduleいいえCron スケジュール { cron, timezone, task }
agentsはいエージェント定義
gatesいいえ人間が介在するチェックポイント
エージェントのフィールド
フィールド必須説明
keyはいこのファイル内で一意の識別子
nameはい表示名
roleはい自由形式(例:"supervisor"、"analyst"、"sdr")
capabilitiesはいこのエージェントが実行できること。委任先の振り分けに使用します
modelはい例:anthropic:claude-sonnet-4-5、anthropic:claude-haiku-3-5
systemPromptはいエージェントへの指示。{{varName}} と ${SECRET_NAME} を使用します
reportsToKeyいいえマネージャーエージェントの key。最上位のスーパーバイザーでは省略します
accessPolicyいいえ外部向け HTTP の許可リスト
階層のルール

reportsToKey を持たないエージェントは 1 つだけにします。これが最初のタスクを受け取るスーパーバイザーです。その他のすべてのエージェントには、マネージャーの key を指定します。

アクセス権限ポリシー
"accessPolicy": {
  "accessPolicyVersion": "1",
  "rules": [
    { "host": "api.example.com", "action": "allow" },
    { "host": "*", "action": "deny" }
  ]
}
人間が介在するゲート
"gates": [
  {
    "name": "approval-check",
    "type": "approval",
    "trigger": { "afterAgent": "drafter" },
    "onApprove": "continue",
    "onReject": "halt"
  }
]

ヒント

  • スーパーバイザーとマネージャーには anthropic:claude-sonnet-4-5 を、反復作業を行う末端のエージェントには anthropic:claude-haiku-3-5 を使用してください
  • 組織固有の情報(会社名、サポートメールアドレス、Slack チャンネル)はすべて requiredVariables に設定してください
  • 厳格な許可リストにするには、アクセス権限ポリシーのルールの末尾に { "host": "*", "action": "deny" } を追加してください
  • メールの送信、公開投稿、購入を行うエージェントの前にゲートを追加してください
  • デプロイ前に検証してください:npx @openenvelope/schema validate ./team.envelope.json

リンク

コメント