mcpField
N
nocobase-plugin-manage

nocobase-plugin-manage

github.com/nocobase開発55240 回インストール8 週間前に更新
リポジトリ

nocobase-plugin-manage について

nocobase-plugin-manage は、直接 `nb plugin` コマンドを使って NocoBase プラグインの状態を確認、変更するスキルです。一覧表示、有効化、無効化に対応し、変更後の状態を読み戻して検証します。

主な機能

  1. 01プラグイン一覧と状態の確認
  2. 02プラグインの有効化
  3. 03プラグインの無効化
  4. 04変更後の状態の読み戻し
  5. 05設定済み CLI 環境の指定

活用シーン

  1. 01環境内で有効なプラグインの確認
  2. 02指定された NocoBase プラグインの有効化
  3. 03操作後に検証を行うプラグインの無効化
  4. 04プラグイン変更の完了または検証待ちの確認

インストール

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

$npx skills add https://github.com/nocobase/skills --skill nocobase-plugin-manage

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

同梱ファイル

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

agents/
openai.yaml
references/
test-playbook.md
v1-runtime-contract.md

詳細

目標

直接の nb plugin コマンドのみを使用する、決定論的なプラグインワークフローを提供します。

  • nb plugin list [--env <env>]
  • nb plugin enable [--env <env>] <plugin...>
  • nb plugin disable [--env <env>] <plugin...>

このスキルでは、ラッパースクリプトや代替手段を介してプラグイン操作を実行してはなりません。

対象範囲

  • CLI ランタイムからプラグインの一覧と状態を確認します(nb plugin list [--env <env>])。
  • nb plugin enable [--env <env>] <plugin...> でプラグインを有効化します。
  • nb plugin disable [--env <env>] <plugin...> でプラグインを無効化します。
  • 書き込み後は必ず nb plugin list で読み戻します。

対象外

  • docker compose exec ... yarn nocobase plugin ... は使用しません。
  • 代替手段として API アクションルートを使用しません。
  • プラグイン操作にレガシー ctl コマンドやラッパースクリプトを使用しません。
  • このスキルのバージョンでは install/remove をサポートしません。

入力契約

入力必須デフォルト検証確認の質問
actionはいなしinspect/enable/disable のいずれか「実行するアクションを選択してください:inspect、enable、disable のいずれですか?」
pluginsenable/disable の場合:はいなし空でない文字列配列「変更するプラグインを指定してください。」
runtime_env_nameいいえ現在の env設定済みの CLI env 名「対象の env を指定してください。」
base_dirいいえ現在の作業ディレクトリ存在するパス「nb コマンドを実行するディレクトリを指定してください。」
execution_modeいいえsafesafe/fast のいずれか「safe モードと fast モードのどちらを使用しますか?」
verify.timeout_secondsいいえ90整数 10..600「検証のタイムアウトを何秒にしますか?」

ルール:

  • 簡潔な呼び出し形式を維持します:Use $nocobase-plugin-manage <action> [plugin...]。
  • safe モードでは、操作前の状態と操作後の状態の読み戻しが必要です。
  • ユーザーが「任せる」と言った場合は、上記のデフォルトを使用します。

必須の確認ゲート

  • 確認ラウンドは最大 2 回です。
  • 1 ラウンドあたりの質問は最大 3 件です。
  • enable/disable の実行前に、plugins を確定する必要があります。
  • 必須入力が不足している場合は、変更を行わずに質問してください。

ワークフロー

  1. リクエストを解析し、inspect/enable/disable に正規化します。
  2. execution_mode=safe の場合は、nb plugin list で操作前の状態を取得します。
  3. 直接コマンドでアクションを実行します。
  • inspect:nb plugin list [--env <env>]
  • enable:nb plugin enable [--env <env>] <plugin...>
  • disable:nb plugin disable [--env <env>] <plugin...>
  1. nb plugin list で読み戻しを行い、タイムアウトまでポーリングします。
  2. 構造化された出力を返します。

安全性ゲート

  • 影響の大きいアクション:
  • 認証/ACL/システム上重要なプラグインの無効化
  • 共有環境での一括無効化
  • 確認テンプレート:
  • 「実行を確認してください:{{action}}、対象:{{plugins}}。続行するには confirm と入力してください。」
  • ロールバックのガイダンス:
  • 無効化に失敗した場合:nb plugin enable [--env <env>] <plugin...> を実行します。
  • 有効化に失敗した場合:nb plugin disable [--env <env>] <plugin...> を実行します(ユーザーがロールバックを要求した場合のみ)。

検証チェックリスト

  • action と plugins が確定していること。
  • コマンドパスが直接の nb plugin のみを使用していること。
  • safe モードで操作前の状態を取得していること。
  • 操作後の状態を読み戻していること。
  • enable の場合、プラグインに enabled=true と表示されること。
  • disable の場合、プラグインに enabled=false と表示されること。
  • タイムアウトの場合、pending_verification と報告すること。

最小テストシナリオ

  1. inspect では nb plugin list を使用します。
  2. enable では nb plugin enable を使用し、その後 nb plugin list で読み戻します。
  3. disable では nb plugin disable を使用し、その後 nb plugin list で読み戻します。
  4. プラグインの入力が不足している場合は、確認を求めて変更を中止します。

出力契約

必ず以下を返します。

  • request
  • commands
  • pre_state
  • post_state
  • verification(passed|failed|pending_verification)
  • assumptions
  • next_steps

リファレンス読み込みマップ

リファレンス使用する場面
V1 Runtime Contractプラグインのアクションを最終的な nb plugin コマンドに対応付ける場合。
Test Playbookinspect/enable/disable の動作と代替手段に関する保証を確認する場合。

References

コメント