envelope-team について
Envelope のマルチエージェントチームを設計し、スキーマに準拠した `.envelope.json` 定義を作成するスキルです。エージェント階層、アクセス方針、変数、シークレット、人間による承認ゲートを扱います。
主な機能
- 01エージェント階層の設計
- 02スキーマ準拠のチームファイル生成
- 03アクセス方針と設定の定義
- 04人間参加型ゲートの追加
- 05スキーマ項目の説明
活用シーン
- 01ワークフローの説明からチームを設計
- 02Envelope チームのデプロイ準備
- 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ファイルを作成したい場合 - エージェントの階層、アクセス権限ポリシー、ゲートについてサポートが必要な場合
このスキルでできること
- チームの目的について自然言語での説明を受け取ります
- エージェントの階層(スーパーバイザー → マネージャー → ワーカー)を設計します
- スキーマに準拠した
.envelope.jsonファイルを生成します - 必要に応じてアクセス権限ポリシー、変数、シークレット、ゲートを含めます
- ユーザーから質問されたスキーマの概念を説明します
使用方法
基本的な使用方法
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
リンク
- openenvelope.org — チームをデプロイして実行します
- schema.openenvelope.org/team/v1.json — JSON スキーマ
- npmjs.com/package/@openenvelope/schema — TypeScript 型とバリデーター
- openenvelope.org/mcp — Claude.ai または ChatGPT から MCP 経由でチームを実行します
コメント
Markdown 対応