opencode-agent-creator について
特定のタスクやワークフロー向けに、OpenCode のエージェントを作成・設定するスキルです。エージェントの種類、プロンプト、モデル、ツール、権限、グローバルまたはプロジェクト単位の設定を扱います。
主な機能
- 01プライマリエージェントとサブエージェントの作成
- 02プロンプトとモデルの設定
- 03ツールと権限の制御
- 04Markdown と JSON の設定に対応
- 05グローバルおよびプロジェクト単位の設定
活用シーン
- 01コードレビュー用サブエージェントの設定
- 02ツールと承認要件の制限
- 03プロジェクト専用のドキュメントエージェント作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tumf/ skills --skill opencode-agent-creatorインストール後、Claude Code で/opencode-agent-creatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdexamples/code-reviewer.mddebug.mddocs-writer.mdopencode.jsoncREADME.mdsecurity-auditor.md詳細
OpenCode エージェント作成
OpenCode エージェント(特定のタスクやワークフロー向けに設定された専用 AI アシスタント)を作成するときに、このスキルを使用します。
使用する場面
ユーザーが次のことを希望している場合に、このスキルを使用します。
- 新しい OpenCode エージェント(プライマリまたはサブエージェント)を作成する
- 特定のタスク向けに専用 AI アシスタントを設定する
- カスタムプロンプト、モデル、ツールアクセス権を持つエージェントをセットアップする
- エージェントの権限と動作を定義する
エージェントの種類
プライマリエージェント
ユーザーが直接やり取りするメインのアシスタントです。ユーザーは Tab キーまたは switch_agent キーバインドを使用して切り替えられます。
組み込みの例:
- Build:すべてのツールを有効にした、開発全般向け
- Plan:権限を制限した、分析と計画向け
サブエージェント
プライマリエージェントから、または @mention で手動により呼び出される専用アシスタントです。特定のタスクに使用します。
組み込みの例:
- General:todo を除くすべてのツールを使用できる、複数ステップのタスク向け
- Explore:コードベースをすばやく読み取り専用で探索するためのもの
エージェントの構成
OpenCode エージェントは、次の 2 通りの方法で定義できます。
1. Markdown ファイル(推奨)
次の場所に .md ファイルを作成します。
- グローバル:
~/.config/opencode/agents/ - プロジェクトごと:
.opencode/agents/
形式:
---
description: Brief description of agent purpose
mode: primary|subagent|all
model: provider/model-id (optional)
temperature: 0.0-1.0 (optional)
maxSteps: number (optional)
tools:
write: true|false
edit: true|false
bash: true|false
permission:
edit: allow|ask|deny
bash:
"*": allow|ask|deny
"specific command": allow|ask|deny
webfetch: allow|ask|deny
task:
"*": allow|ask|deny
"agent-name": allow|ask|deny
hidden: true|false (optional, for subagents)
disable: true|false (optional)
---
System prompt content here.
Define the agent's purpose, behavior, and guidelines.
ファイル名がエージェント名になります:code-reviewer.md → code-reviewer エージェント
2. JSON 設定
opencode.jsonc に追加します。
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"agent-name": {
"description": "Brief description",
"mode": "primary",
"model": "anthropic/claude-sonnet-4-20250514",
"prompt": "{file:./prompts/agent.txt}",
"temperature": 0.3,
"maxSteps": 10,
"tools": {
"write": true,
"edit": true,
"bash": true
},
"permission": {
"edit": "allow",
"bash": {
"*": "ask",
"git status": "allow"
}
}
}
}
}
設定オプション
必須
description:エージェントの目的と使用する場面を簡潔に説明します
モード
mode:"primary"、"subagent"、または"all"(デフォルト:"all")primary:ユーザー向けエージェント。Tab で切り替えられますsubagent:他のエージェントまたは @mention で呼び出されますall:プライマリとサブエージェントの両方として使用できます
任意
prompt:カスタムシステムプロンプト(インラインまたは{file:path})model:デフォルトのモデルを上書きします(形式:provider/model-id)temperature:ランダム性を制御します(0.0-1.0)0.0-0.2:集中型/決定論的(コード分析)0.3-0.5:バランス型(一般的な開発)0.6-1.0:創造型(ブレインストーミング)
maxSteps:テキストのみの応答に切り替わるまでの、エージェントの最大反復回数disable:trueに設定すると、エージェントを無効にしますhidden:@mention のオートコンプリート候補にサブエージェントを表示しません(サブエージェントのみ)
ツール
利用可能なツールを制御します。
tools:
write: true
edit: false
bash: false
mymcp_*: false # Wildcard to disable MCP server tools
権限
どの操作に承認が必要かを制御します。
permission:
edit: ask # ask, allow, or deny
bash:
"*": ask # Default for all commands
"git status": allow
"git log*": allow
"git push": ask
webfetch: deny
task: # Which subagents can be invoked
"*": deny
"code-*": allow # Allow code-prefixed subagents
"reviewer": ask
値:"allow"(承認不要)、"ask"(ユーザーに確認)、"deny"(無効化)
プロバイダー固有のオプション
その他のオプションは、すべてプロバイダーに引き継がれます。
reasoningEffort: high # OpenAI reasoning models
textVerbosity: low # OpenAI reasoning models
例
ドキュメント作成者
---
description: Writes and maintains project documentation
mode: subagent
tools:
bash: false
---
You are a technical writer. Create clear, comprehensive documentation.
Focus on:
- Clear explanations
- Proper structure
- Code examples
- User-friendly language
セキュリティ監査担当
---
description: Performs security audits and identifies vulnerabilities
mode: subagent
tools:
write: false
edit: false
permission:
bash:
"*": deny
---
You are a security expert. Focus on identifying potential security issues.
Look for:
- Input validation vulnerabilities
- Authentication and authorization flaws
- Data exposure risks
- Dependency vulnerabilities
- Configuration security issues
コードレビュー担当
---
description: Reviews code for best practices and potential issues
mode: subagent
model: anthropic/claude-sonnet-4-20250514
temperature: 0.1
tools:
write: false
edit: false
permission:
bash:
"*": ask
"git diff": allow
"git log*": allow
---
You are a code reviewer. Focus on security, performance, and maintainability.
Review checklist:
1. Code quality and best practices
2. Potential bugs and edge cases
3. Performance implications
4. Security considerations
Provide constructive feedback without making direct changes.
デバッグエージェント
---
description: Focused debugging with investigation tools
mode: primary
temperature: 0.2
tools:
write: false
permission:
bash:
"*": allow
edit: ask
---
You are a debugging specialist. Systematically investigate issues.
Approach:
1. Reproduce the issue
2. Gather relevant logs and context
3. Identify root cause
4. Suggest minimal fix
5. Recommend preventive measures
ディープシンカー(推論モデル)
---
description: High-effort reasoning for complex problems
mode: subagent
model: openai/gpt-5
temperature: 0.1
reasoningEffort: high
textVerbosity: low
maxSteps: 20
---
You solve complex problems with deep reasoning.
For each problem:
1. Break down into components
2. Analyze dependencies
3. Consider edge cases
4. Propose robust solutions
5. Validate approach
ベストプラクティス
- 明確な説明:ユーザーとエージェントが、いつ呼び出すべきかを理解できるようにします
- 適切なモード:メインの作業には
primary、専門的なタスクにはsubagentを選択します - ツールの制限:エージェントに必要なツールだけを有効にします
- 権限の粒度:リスクのある操作には
ask、安全な操作にはallowを使用します - temperature の調整:分析的なタスクでは低く、創造的なタスクでは高く設定します
- 明確なプロンプト:エージェントの役割と制約を具体的に指定します
- ファイルの場所:
- グローバル:プロジェクトをまたいで使用する汎用エージェント
- プロジェクト:プロジェクト固有のワークフローや規約
実装手順
エージェントを作成する場合:
-
スコープを決定する:
- メインのワークフローにはプライマリエージェント
- 専門的なタスクにはサブエージェント
-
配置場所を選択する:
- 再利用可能なエージェントにはグローバル(
~/.config/opencode/agents/) - プロジェクト固有のエージェントにはプロジェクト(
.opencode/agents/)
- 再利用可能なエージェントにはグローバル(
-
設定を定義する:
- 必須:
description、mode - 任意:
model、temperature、maxSteps、tools、permission
- 必須:
-
システムプロンプトを作成する:
- 明確な役割の定義
- 具体的なガイドラインと制約
- 想定される動作
-
エージェントをテストする:
- プライマリエージェントの場合:Tab キーで切り替えます
- サブエージェントの場合:
@agent-nameで呼び出すか、プライマリエージェントに使用させます
-
調整する:
- 出力品質に基づいて温度を調整します
- 使用状況に基づいて権限を微調整します
- より良い結果が得られるようプロンプトを更新します
使用方法
プライマリエージェント
- Tab を押してプライマリエージェントを切り替えます
- または、設定済みの
switch_agentキーバインドを使用します
サブエージェント
- 自動:プライマリエージェントが説明に基づいて呼び出します
- 手動:
@agent-name messageで直接呼び出します - 移動:
<Leader>+Right/Leftで親/子セッションを切り替えます
対話形式での作成
組み込みコマンドを使用します:
opencode agent create
次の操作が行われます:
- エージェントの配置場所(グローバル/プロジェクト)を尋ねます
- 説明の入力を求めます
- システムプロンプトと識別子を生成します
- ツールを選択できるようにします
- 設定を含む Markdown ファイルを作成します
備考
- Markdown ファイル名によってエージェント名が決まります
- カスタムエージェントは組み込みエージェントと併用できます
- エージェントの変更を反映するには、OpenCode を再起動する必要があります
- モデル形式:
provider/model-id(例:anthropic/claude-sonnet-4-20250514) - 非表示のサブエージェント(
hidden: true)はオートコンプリートに表示されませんが、プログラムから呼び出すことはできます - タスク権限によって、エージェントが呼び出せるサブエージェントが制御されます