OpenCodeスキルシステム完全ガイド:カスタマイズ・拡張・MCP・プラグイン

OpenCodeのスキルシステムを徹底解説。カスタマイズ方法、MCPやプラグインによる拡張、スキル開発のチュートリアルを紹介。

OpenCodeスキルカスタマイズ拡張MCPプラグイン2026/5/25

OpenCodeのスキルシステムとは

OpenCodeは、AIアシスタントとしてコード生成や解析を得意としますが、その機能は「スキル」と呼ばれるモジュールによって拡張できます。スキルシステムを活用することで、特定のタスクに特化した動作や、外部サービスとの連携が可能になります。本記事では、スキルの基本概念からカスタマイズ、拡張方法までを実践的に解説します。

スキルの基本構造

スキルは以下の要素で構成されます:

  • トリガー:特定のキーワードやパターンで発動
  • アクション:実行される処理(コード生成、APIコールなど)
  • コンテキスト:スキルが利用する変数や設定
  • OpenCodeは標準で複数のスキルを搭載していますが、ユーザーが独自に定義することも可能です。

    スキルのカスタマイズ方法

    1. 設定ファイルの編集

    OpenCodeのスキルは、JSONまたはYAML形式の設定ファイルで管理されます。例えば、skills/my-skill.yaml を作成します:

    name: "custom-skill"
    description: "特定のフレームワーク用のコード生成"
    triggers:
      - "generate:react-component"
    actions:
      - type: "code-generation"
        language: "javascript"
        template: |
          import React from 'react';
          const {{componentName}} = () => {
            return <div>{{content}}</div>;
          };
          export default {{componentName}};
    context:
      componentName: "string"
      content: "string"
    

    このスキルは、「generate:react-component」というトリガーで発動し、Reactコンポーネントのテンプレートを生成します。

    2. スキルの有効化

    作成したスキルを有効にするには、OpenCodeの設定でスキルディレクトリを指定します。

    opencode --skills-dir ./skills
    

    または、GUI設定画面からスキルをインポートすることもできます。

    MCPによる拡張

    MCP(Model Context Protocol)は、OpenCodeが外部ツールやデータソースと連携するためのプロトコルです。スキルからMCPサーバーを呼び出すことで、データベース検索やファイル操作などを実行できます。

    MCPスキルの例

    name: "db-query"
    description: "データベースにクエリを実行"
    triggers:
      - "query:database"
    actions:
      - type: "mcp-call"
        server: "my-db-server"
        method: "query"
        params:
          sql: "{{query}}"
    context:
      query: "string"
    

    このスキルは、MCPサーバー「my-db-server」に対してクエリを送信し、結果を返します。MCPサーバーは別途設定が必要ですが、一度構築すれば複数のスキルから再利用可能です。

    プラグインによる拡張

    プラグインは、スキルよりも高度な拡張方法です。プラグインはJavaScriptやPythonで記述でき、OpenCodeの内部APIにアクセスできます。

    プラグインの作成手順

  • プラグインディレクトリを作成plugins/my-plugin/
  • プラグインファイルを作成main.js
  • module.exports = {
      name: 'my-plugin',
      hooks: {
        'before-response': (context) => {
          // 応答前に処理を追加
          context.response = context.response.toUpperCase();
        },
      },
    };
    
  • プラグインを登録:設定ファイルにプラグインのパスを追加します。
  • {
      "plugins": ["./plugins/my-plugin"]
    }
    

    プラグインは、スキルの実行前後や、メッセージの送受信時にフックできます。これにより、ログ記録や入力変換などが可能です。

    実践的なスキル開発チュートリアル

    ステップ1:スキルの要件定義

    例えば、「コードレビュー支援スキル」を作成します。このスキルは、コードのスタイル違反を検出し、修正案を提示します。

    ステップ2:スキルファイルの作成

    name: "code-review"
    description: "コードレビューを実行し、スタイル違反を指摘"
    triggers:
      - "review:code"
    actions:
      - type: "code-analysis"
        rules:
          - "no-unused-vars"
          - "prefer-const"
        format: "markdown"
    

    ステップ3:テストと調整

    実際にトリガーを実行し、期待通り動作するか確認します。必要に応じてルールを追加・変更します。

    ステップ4:共有・配布

    作成したスキルは、YAMLファイル単体で共有できます。コミュニティで公開することで、他のユーザーも利用可能です。

    まとめ

    OpenCodeのスキルシステムは、カスタマイズ性が高く、MCPやプラグインと組み合わせることで強力な拡張が可能です。本記事で紹介した方法を参考に、自分だけのスキルを作成してみてください。公式ドキュメントやコミュニティフォーラムも活用すると、さらに高度な活用ができるでしょう。

    🛡️
    ContentLens 品質チェック済み

    この記事はAI品質チェッカーContentLensで分析されています。記事を貼り付けるだけで誰でも無料で品質スコアを確認できます。