プラグインアーキテクチャ
概要
動的な機能拡張を可能にするプラグインアーキテクチャの設計を専門とするスキル。レジストリパターン、動的ロード、依存性注入を活用し、機能追加時の既存コード修正を不要にする拡張性の高いシステム設計を提供します。
ワークフロー
Phase 1: 要件分析
目的: プラグインシステムの拡張要件を分析
アクション:
- 拡張ポイントの特定(どこを拡張可能にするか)
- プラグインインターフェースの設計要件の整理
- ライフサイクル管理の必要性を評価
Task: agents/analyze-requirements.md を参照
Phase 2: システム設計
目的: プラグインシステムの全体設計を確定
アクション:
- レジストリパターンの選択(Map-based, Service Locator等)
- ロード戦略の決定(Eager, Lazy, On-Demand)
- 依存性注入方式の設計
- プラグインライフサイクルフックの定義
Task: agents/design-plugin-system.md を参照
Phase 3: レジストリ実装
目的: 型安全なレジストリを実装
アクション:
assets/registry-implementation.mdを基にレジストリクラスを作成- CRUD操作(register, get, list, unregister)を実装
- エラーハンドリング(重複登録、未登録キーアクセス)を追加
scripts/validate-plugin-structure.mjsで検証
Task: agents/implement-registry.md を参照
Task仕様ナビ
| Task | 起動タイミング | 入力 | 出力 |
|---|---|---|---|
| analyze-requirements | Phase 1開始時 | システム要件 | 拡張要件分析書 |
| design-plugin-system | Phase 2開始時 | 拡張要件分析書 | プラグインシステム設計書 |
| implement-registry | Phase 3開始時 | プラグインシステム設計書 | Registryクラス実装 |
詳細仕様: 各Taskの詳細は agents/ ディレクトリの対応ファイルを参照
ベストプラクティス
すべきこと
- ワークフローエンジンのプラグインシステムを構築する時
- 機能の動的追加・削除が必要な時
- 疎結合なモジュール設計が必要な時
- 拡張ポイントを提供するフレームワークを設計する時
- 型安全なプラグイン登録メカニズムを実装する時
- ロード順序の依存性を明確に管理する時
避けるべきこと
- プラグイン間の循環依存を許可しない
- グローバル状態を使用してプラグイン間通信を行わない
- 型安全性なしでプラグインレジストリを実装しない
- ライフサイクルフックなしで動的ロードを行わない
- 依存性注入なしでプラグイン間の依存を解決しない
リソース参照
references/(詳細知識)
| リソース | パス | 内容 |
|---|---|---|
| 基礎知識 | See references/Level1_basics.md | プラグインの基本概念 |
| 実装パターン | See references/Level2_intermediate.md | レジストリ・DI実装パターン |
| 高度なテクニック | See references/Level3_advanced.md | 動的ロード・スケーリング |
| エキスパート知見 | See references/Level4_expert.md | 大規模システムの設計知見 |
| レジストリパターン | See references/registry-pattern.md | 型安全なレジストリ詳細 |
| ライフサイクル管理 | See references/plugin-lifecycle.md | 初期化・シャットダウン |
| 依存性注入 | See references/dependency-injection.md | DI Container設計 |
| 動的ロード | See references/dynamic-loading.md | 動的モジュールロード |
| サービスロケーター | See references/service-locator.md | Service Locatorパターン |
scripts/(決定論的処理)
| スクリプト | 用途 | 使用例 |
|---|---|---|
validate-plugin-structure.mjs |
プラグイン構造検証 | node scripts/validate-plugin-structure.mjs src/features |
validate-skill.mjs |
スキル構造検証 | node scripts/validate-skill.mjs |
log_usage.mjs |
フィードバック記録 | node scripts/log_usage.mjs --result success --phase "Phase 3" |
assets/(テンプレート)
| テンプレート | 用途 |
|---|---|
plugin-implementation.md |
IPlugin実装、ライフサイクルフック |
registry-implementation.md |
型安全なRegistry実装 |
変更履歴
| Version | Date | Changes |
|---|---|---|
| 2.0.0 | 2026-01-02 | 18-skills.md仕様完全準拠、構造再編成 |
| 1.0.0 | 2025-12-31 | 初版 |