agent-creator について
AiderDesk のエージェントプロファイルを作成するスキルです。グローバルまたはプロジェクト単位で保存できます。要件を集め、確認用の構成を提示してからファイルを作成します。
主な機能
- 01エージェントの目的と動作要件の収集
- 02プロバイダー、モデル、ツールグループの設定
- 03サブエージェント設定と対象の絞り込み
- 04ツール承認ポリシーの設定
- 05構成ファイルとルールファイルの作成
活用シーン
- 01プロジェクト単位のエージェントプロファイル作成
- 02サブエージェントとして委譲できるプロファイルの設定
- 03ツールアクセスと承認方法の構成
MCP 対応
プロファイルでは `enabledServers` を使って有効にする MCP サーバーを指定できます。この項目は希望がある場合に扱う詳細設定です。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ hotovo/ aider-desk --skill agent-creatorインストール後、Claude Code で/agent-creatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/examples/sample-profile.jsonassets/templates/config.json.templatereferences/agent-profile-schema.mdprofile-examples.mdsubagent-guide.mdtool-approval-guide.md詳細
エージェントプロファイルの作成
エージェントプロファイルを config.json として、~/.aider-desk/agents/{name}/(グローバル)または {project}/.aider-desk/agents/{name}/(プロジェクト単位)に作成します。
正確な内容を提案できるよう、プロファイルを作成する前にすべての参照ファイルを確認してください。
references/agent-profile-schema.md— プロパティの完全なリファレンスreferences/subagent-guide.md— サブエージェントの設定、システムプロンプト、コンテキストメモリ、フィルタリングreferences/tool-approval-guide.md— すべてのツールグループ、正しいツールキー、承認方法references/profile-examples.md— 完全な動作例
質疑応答の進め方
プロファイルを提案する前に、要件をすべて確認します。焦点を絞った質問をし、内部で案を作成してから、承認用の最終要約を1つ提示してください。
ステップ 1:目的と動作
次のように質問します。「エージェントの目的と、実行させたいことを説明してください。」
回答に基づき、内部で以下を提案します。
- 名前(目的から導出)
- 最大反復回数(デフォルトは
0=無制限。上限のあるタスクには 250 などの有限値を、レビューや分析などの対象を絞ったタスクには 150 などのより小さい値を使用) - ツールグループ(目的に基づく。ステップ 3 を参照)
- カスタム指示(システムプロンプトに追加する自由形式のガイダンス)
- システムプロンプト — デフォルトの組み込みシステムプロンプトを置き換える完全カスタムのシステムプロンプトが必要かどうか。ユーザーが具体的な動作上の制約、役割、またはアイデンティティを説明した場合は、
systemPromptを提案します。 - サブエージェント設定 — このプロファイルをサブエージェントとして使用できるようにするかどうか。有効にする場合は、サブエージェント固有のシステムプロンプト、呼び出しモード、色、説明、コンテキストメモリモードを確認します。
ステップ 2:プロバイダーとモデル
次のように質問します。「プロバイダー/モデルは何ですか?(形式:provider/model。例:anthropic/claude-sonnet-5)」
- 最初のスラッシュで分割して、プロバイダーとモデルを取得します。
- 明らかな誤字のみ修正し、それ以外はそのまま使用します。
- ユーザーが指定しない場合は、デフォルトで
anthropic/claude-sonnet-5を使用します(packages/common/src/agent.tsのDEFAULT_AGENT_PROFILE/DEFAULT_PROVIDER_MODELSに準拠)。ユーザーの希望するプロバイダー/モデルを尋ねてもかまいませんが、指定がなければこれらのデフォルトを使用してください。 - 目的から精度(低い temp)または創造性(高い temp)が求められる場合は、
temperatureとmaxTokensについて任意で質問します。
ステップ 3:ツールグループと承認
目的に基づいて、有効にするツールグループを提案します。各グループには簡潔な理由を添えてください。
| ツールグループフラグ | 説明 | 有効にするタイミング |
|---|---|---|
usePowerTools | ファイルの読み取り/書き込み/編集、glob、grep、bash、semantic_search、fetch | ファイルまたはシステムへのアクセスが必要なほとんどのエージェント |
useAiderTools | Aider の AI コード生成コンテキスト管理と実行 | コード生成/リファクタリングを行うエージェント |
useTodoTools | Todo リストの管理 | 複数ステップの作業を追跡するエージェント |
useSubagents | サブエージェントへのタスク委任 | オーケストレーター/マネージャーエージェント |
useTaskTools | タスクの作成/一覧表示/取得/削除/検索、プロンプトの実行 | プロジェクト管理エージェント |
useMemoryTools | 永続化された知識の保存/取得 | ほとんどのエージェント(ステートレスなエージェントでは無効) |
useSkillsTools | スキルの有効化 | 専門スキルが役立つエージェント |
useExtensionTools | インストール済みの拡張機能が提供するツール(デフォルト:true) | ほとんどのエージェント。サンドボックス化/隔離されたプロファイルでは無効 |
有効にするグループごとに、ツールの承認に関するデフォルト(always、ask、never)を提案します。toolApprovals に含めるのは、デフォルトの "ask" と異なるツールのみです。
useSubagents を有効にする場合は、次のように質問します。「このエージェントは利用可能なすべてのサブエージェントを使用しますか、それとも特定のサブエージェントのみを使用しますか?」— フィルタリングが必要な場合は enabledSubagentIds を設定し、すべてを使用する場合は省略します。
ステップ 4:サブエージェントの設定
「このプロファイルを、ほかのエージェントがサブエージェントとして利用できるようにしますか?」
「はい」の場合は、以下を確認します。
- サブエージェントのシステムプロンプト — サブエージェントの役割に特化したプロンプト(メインエージェントの
systemPromptとは別) - 呼び出しモード — 自動(明確な説明が必要)またはオンデマンド
- コンテキストメモリ — オフ(デフォルト)、直近のメッセージ、または全コンテキスト
- 色 — 視覚的な識別子
- 説明 — 自動呼び出しの場合は必須です。関連分野のキーワードを含めてください
ステップ 5:詳細設定(任意)
以下のいずれかについてユーザーが言及した場合に限り、確認してください。
- Temperature(0.1~1.0)
- 最大トークン数
- ツール呼び出し間の最小時間(レート制限、ミリ秒単位)
- 有効にする MCP サーバー(
enabledServers) - ルールファイル(
~/.aider-desk/agents/{name}/rules/に配置する Markdown ファイル) - 自動コンパクションの上書き設定(
autoCompactThresholdPercentage、autoCompactThresholdTokens、autoCompactionType) - Bash ツールの設定(
allowedPattern/deniedPatternの正規表現)
言及がなければ、このステップは完全に省略してください。
ステップ 6:保存場所
「グローバルプロファイル(すべてのプロジェクトで使用)とプロジェクト固有のどちらにしますか?(デフォルト:グローバル)」
ステップ 7:確認と承認
提案するすべてのプロパティを含む完全な概要を1つ提示します。
- 名前、プロバイダー/モデル、temperature/maxTokens(設定されている場合)
- 有効にするツールグループとその理由
- ツールの承認設定(「never」にするもの、「always」にするもの。残りはデフォルトの「ask」)
- システムプロンプト(ある場合)
- カスタム指示(ある場合)
- サブエージェント設定(有効にする場合)
- サブエージェントのフィルタリング(該当する場合は
enabledSubagentIds) - ルールファイル(ある場合)
- 保存場所(グローバル/プロジェクト)
「こちらがエージェントプロファイルです。作成しますか?」と尋ねます。
項目ごとに承認を求めないでください。 最後に一度だけ承認を求めます。
ステップ 8:作成
承認されたら、以下を行います。
- 一意でわかりやすい
idを選びます(例:code-reviewer、security-auditor)。UUID は不要です。例にあるようなわかりやすい名前で、一意であれば問題ありません。 config.jsonを完全に作成し、references/profile-examples.mdに照らして構造を確認します。- config.json に
ruleFilesを含めないでください。ルールファイルはrules/サブディレクトリから動的に検出されます。 isSubagentを含めないでください。これは実行時フラグです。- ディレクトリを作成し、
config.jsonを書き込みます。 - ルールファイルが指定されている場合は、
config.jsonと同じ場所にあるrules/サブディレクトリに.mdファイルとして作成します。
ツール承認の方針
キー:{group}---{tool}(区切り文字はハイフン3つ)
デフォルトは「ask」です。 明示的に設定するのは、以下の場合に限ります。
- 「never」:エージェントの目的にまったく関係のないツール
- 「always」:安全で、不可欠な読み取り専用操作
デフォルトの「ask」のままにするツールは含めないでください。
references/tool-approval-guide.md に存在するツールキーのみを含めてください。
システムプロンプトの方針
システムプロンプトには、次の2つの異なるフィールドがあります。
-
トップレベルの
systemPrompt— このプロファイルがメインエージェントとして動作する際に、組み込みのデフォルトシステムプロンプトを上書きします。ルールファイルとcustomInstructionsは引き続き追加されます。エージェントのアイデンティティや動作の枠組みを完全に変える必要がある場合に使用します。 -
subagent.systemPrompt— このプロファイルがサブエージェントとして動作する際に使用します。サブエージェントの LLM に直接渡されます。空の場合は、トップレベルのsystemPromptが代わりに使われます。
使い分け:
- エージェントがメインエージェントとしてのみ動作する → トップレベルの
systemPromptを設定 - エージェントがサブエージェントとしてのみ動作する →
subagent.systemPromptを設定 - エージェントが両方の役割で動作する → 両方を設定。状況に応じて内容を変えられます
- エージェントにカスタムプロンプトが不要 → 両方とも空のままにします。デフォルトのシステムプロンプトが使われます
サブエージェントの設定
すべてのエージェントはサブエージェントにできます。委任を許可するには、subagent.enabled: true を設定します。
コンテキストメモリのモード:
"off"— 毎回新しい状態で開始します(ほとんどのエージェントでのデフォルト)"last-message"— 前回の実行結果を受け取ります"full-context"— 複雑な反復分析向けに、会話履歴全体を受け取ります
サブエージェントの絞り込み: 親プロファイルの enabledSubagentIds?: string[] で、利用できるサブエージェントを制御します。省略すると、すべてのサブエージェントが利用できます。制限するには、プロファイルの id 値の配列を設定します。注:enabledSubagentIds に指定するのはプロファイルの id 値(各プロファイルに設定する同じ id フィールド)であり、ディレクトリ名ではありません。ディレクトリ名がプロファイルの id と一致する場合にのみ、ディレクトリ名でも一致します。
詳しい説明については、references/subagent-guide.md を参照してください。
最小限の config.json 構造
{
"id": "my-agent",
"name": "my-agent",
"provider": "anthropic",
"model": "claude-sonnet-5",
"maxIterations": 0,
"minTimeBetweenToolCalls": 0,
"enabledServers": [],
"toolApprovals": {
"power---file_read": "always",
"power---bash": "ask"
},
"toolSettings": {},
"includeContextFiles": false,
"includeRepoMap": false,
"usePowerTools": true,
"useAiderTools": false,
"useTodoTools": true,
"useSubagents": false,
"useTaskTools": false,
"useMemoryTools": true,
"useSkillsTools": true,
"useExtensionTools": true,
"disabledExtensionTools": [],
"customInstructions": "",
"subagent": {
"enabled": true,
"contextMemory": "off",
"systemPrompt": "",
"invocationMode": "on-demand",
"color": "#3368a8",
"description": ""
}
}
上記のデフォルト値について: id は一意で読みやすい任意の文字列です(UUID は不要です)。ユーザーがプロバイダー/モデルを指定しない場合は、デフォルトで anthropic / claude-sonnet-5 を使用します。maxIterations: 0 は無制限を意味します。includeContextFiles と includeRepoMap のデフォルトはいずれも false です。上記の値はデフォルト値であり、コンテキストファイル/リポジトリマップを含める場合にのみ true に設定します。サブエージェントの color のデフォルトは #3368a8 です。
検証チェックリスト
config.json を作成する前に:
- 一意の名前
- 一意で読みやすい
id(UUID は不要) - プロバイダー/モデルが指定されている(指定どおりに使用し、未指定の場合は
anthropic/claude-sonnet-5をデフォルトにする) - ツールキーが
{group}---{tool}形式で、ダッシュが3つ使われている - ツールの承認値が "always"、"ask"、"never" のいずれかである
-
toolApprovalsに含まれるのはreferences/tool-approval-guide.mdに記載されたツールのみ - カスタム動作が必要な場合にのみ
systemPromptを設定する - このプロファイルを委任可能にするかどうかに応じて、
subagent.enabledを設定する -
subagent.invocationModeが "automatic" の場合、descriptionが空でない -
useSubagentsが true で、絞り込みが必要な場合は、enabledSubagentIdsを設定する -
useExtensionToolsとdisabledExtensionToolsを含める(デフォルト:true / []) -
ruleFilesを config.json に含めない(動的に検出されます) -
isSubagentを config.json に含めない(ランタイムフラグです) - すべてのブール値のツールグループフラグを含める
- ディレクトリの場所がユーザーの希望(グローバル/プロジェクト)に一致している
リソース
references/agent-profile-schema.md— すべてのプロパティと型を含む完全なスキーマreferences/subagent-guide.md— サブエージェントの設定、コンテキストメモリ、絞り込み、システムプロンプトreferences/tool-approval-guide.md— すべてのツールグループと正しいツールキーreferences/profile-examples.md— 動作する完全な例assets/templates/config.json.template— テンプレートassets/examples/sample-profile.json— プロファイルの例