本文へ移動
cccskills
無料GitHub で公開

plugin-system

Python アプリケーション向けの汎用プラグインシステム。自動検出、検証、障害耐性を備えています。依存関係ゼロ(Python 標準ライブラリのみ)。

インストール方法を見る

含まれるファイル(1)

  • SKILL.md4.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

<img src="../banner.png" width="100%" alt="plugin-system banner">

日本語 — plugin-system の公式日本語版。

プラグインシステム (日本語)

Python CLI アプリケーション向けの障害耐性プラグインシステム。 欠陥のあるプラグインがアプリケーションの残りの部分を停止させることはありません。

主な機能

  • 自動検出: ディレクトリ内のプラグインを自動的に検出
  • 検証: 各プラグインクラスの name、version、execute() をチェック
  • 障害耐性: 欠陥のあるプラグインはログに記録されますが、ロードされません
  • 依存関係ゼロ: Python 標準ライブラリのみ使用

ファイル

scripts/
  plugin_system.py       Core: PluginBase (ABC) + PluginManager
  cli_demo.py            Demo CLI with argparse
  test_plugin_system.py  16+ unit tests
examples/
  hello.py               Hello World plugin
  calculator.py          Calculator plugin
  systeminfo.py          System Info plugin

クイックスタート

1. プラグインの作成

from plugin_system import PluginBase

class MyPlugin(PluginBase):
    name = "MyPlugin"
    version = "1.0.0"

    def execute(self, *args, **kwargs):
        return {"status": "ok", "message": "Hello!"}

2. PluginManager の使用

from plugin_system import PluginManager

manager = PluginManager(plugins_dir="./my_plugins")
plugins = manager.discover_plugins()

# List all plugins (Deutsch)
manager.list_plugins()

# Execute a plugin (Deutsch)
success, result = manager.execute_plugin("MyPlugin", param="value")
if success:
    print(result)

3. アプリケーションへの統合

class MyApp:
    def __init__(self):
        self.plugins = PluginManager("./plugins")
        self.plugins.discover_plugins()

    def run_command(self, command, **params):
        success, result = self.plugins.execute_plugin(command, **params)
        return result if success else None

プラグインインターフェース

すべてのプラグインは以下を満たす必要があります:

要件詳細
PluginBase を継承from plugin_system import PluginBase
name を設定クラス属性、空でないこと
version を設定クラス属性、セマンティックバージョニング
execute() を実装任意の *args, **kwargs

障害耐性

エラータイプ動作
プラグイン内の SyntaxErrorプラグインはスキップされ、残りがロードされます
属性の欠落プラグインは is_valid=False としてマークされます
execute() 内の例外(False, error_message) を返します
ディレクトリにプラグインがない空のリストを返し、クラッシュしません

変更履歴

1.0.0 (2026-03-12)

  • MODULAR_AGENTS/plugins から skill ライブラリへの移行
  • PluginBase ABC + PluginManager
  • 3 つのサンプルプラグイン (Hello, Calculator, SystemInfo)
  • 16 以上のユニットテスト
  • argparse を使用した CLI デモ

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Akademisches Studien- und Fristenmanagement mit Quellenprüfung, Datenschutz und realistischer Handlungsplanung.

日本語の概要は準備中です。原文の説明を表示しています。

ellmos-ai/skills82026年10月12日 更新

Aktives Lernen, Erarbeitung von Fachinhalten und strukturierte Erstellung von Synthesen.

日本語の概要は準備中です。原文の説明を表示しています。

ellmos-ai/skills82026年10月12日 更新

Prüfungsvorbereitung, Selbsttests, Probeklausuren und systematische Fehleranalyse.

日本語の概要は準備中です。原文の説明を表示しています。

ellmos-ai/skills82026年10月12日 更新

Terapia de Aceptación y Compromiso (ACT) según Steven Hayes: modelo Hexaflex con los seis procesos nucleares de la flexibilidad psicológica.

日本語の概要は準備中です。原文の説明を表示しています。

ellmos-ai/skills82026年10月12日 更新

Acceptance & Commitment Therapy (ACT) nach Steven Hayes: Hexaflex-Modell mit den sechs Kernprozessen psychischer Flexibilität.

日本語の概要は準備中です。原文の説明を表示しています。

ellmos-ai/skills82026年10月12日 更新

Acceptance & Commitment Therapy (ACT) according to Steven Hayes: Hexaflex model with the six core processes of psychological flexibility.

日本語の概要は準備中です。原文の説明を表示しています。

ellmos-ai/skills82026年10月12日 更新

ellmos-ai のスキルをすべて見る

このスキルの問題を報告する