mcpField
O
opencode-agent-creator

opencode-agent-creator

github.com/tumfエージェントワークフロー494 回インストール27 週間前に更新
リポジトリ

opencode-agent-creator について

特定のタスクやワークフロー向けに、OpenCode のエージェントを作成・設定するスキルです。エージェントの種類、プロンプト、モデル、ツール、権限、グローバルまたはプロジェクト単位の設定を扱います。

主な機能

  1. 01プライマリエージェントとサブエージェントの作成
  2. 02プロンプトとモデルの設定
  3. 03ツールと権限の制御
  4. 04Markdown と JSON の設定に対応
  5. 05グローバルおよびプロジェクト単位の設定

活用シーン

  1. 01コードレビュー用サブエージェントの設定
  2. 02ツールと承認要件の制限
  3. 03プロジェクト専用のドキュメントエージェント作成

インストール

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

$npx skills add https://github.com/tumf/skills --skill opencode-agent-creator

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
examples/
code-reviewer.md
debug.md
docs-writer.md
opencode.jsonc
README.md
security-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

ベストプラクティス

  1. 明確な説明:ユーザーとエージェントが、いつ呼び出すべきかを理解できるようにします
  2. 適切なモード:メインの作業には primary、専門的なタスクには subagent を選択します
  3. ツールの制限:エージェントに必要なツールだけを有効にします
  4. 権限の粒度:リスクのある操作には ask、安全な操作には allow を使用します
  5. temperature の調整:分析的なタスクでは低く、創造的なタスクでは高く設定します
  6. 明確なプロンプト:エージェントの役割と制約を具体的に指定します
  7. ファイルの場所:
    • グローバル:プロジェクトをまたいで使用する汎用エージェント
    • プロジェクト:プロジェクト固有のワークフローや規約

実装手順

エージェントを作成する場合:

  1. スコープを決定する:

    • メインのワークフローにはプライマリエージェント
    • 専門的なタスクにはサブエージェント
  2. 配置場所を選択する:

    • 再利用可能なエージェントにはグローバル(~/.config/opencode/agents/)
    • プロジェクト固有のエージェントにはプロジェクト(.opencode/agents/)
  3. 設定を定義する:

    • 必須:description、mode
    • 任意:model、temperature、maxSteps、tools、permission
  4. システムプロンプトを作成する:

    • 明確な役割の定義
    • 具体的なガイドラインと制約
    • 想定される動作
  5. エージェントをテストする:

    • プライマリエージェントの場合:Tab キーで切り替えます
    • サブエージェントの場合:@agent-name で呼び出すか、プライマリエージェントに使用させます
  6. 調整する:

    • 出力品質に基づいて温度を調整します
    • 使用状況に基づいて権限を微調整します
    • より良い結果が得られるようプロンプトを更新します

使用方法

プライマリエージェント
  • Tab を押してプライマリエージェントを切り替えます
  • または、設定済みの switch_agent キーバインドを使用します
サブエージェント
  • 自動:プライマリエージェントが説明に基づいて呼び出します
  • 手動:@agent-name message で直接呼び出します
  • 移動:<Leader>+Right/Left で親/子セッションを切り替えます

対話形式での作成

組み込みコマンドを使用します:

opencode agent create

次の操作が行われます:

  1. エージェントの配置場所(グローバル/プロジェクト)を尋ねます
  2. 説明の入力を求めます
  3. システムプロンプトと識別子を生成します
  4. ツールを選択できるようにします
  5. 設定を含む Markdown ファイルを作成します

備考

  • Markdown ファイル名によってエージェント名が決まります
  • カスタムエージェントは組み込みエージェントと併用できます
  • エージェントの変更を反映するには、OpenCode を再起動する必要があります
  • モデル形式:provider/model-id(例:anthropic/claude-sonnet-4-20250514)
  • 非表示のサブエージェント(hidden: true)はオートコンプリートに表示されませんが、プログラムから呼び出すことはできます
  • タスク権限によって、エージェントが呼び出せるサブエージェントが制御されます

コメント