nocobase-notification-manage について
nocobase-notification-manageは、NocoBaseの通知チャネルとワークフロー通知を管理するスキルです。設定、配信テスト、送信ログによる診断を扱い、秘密情報を保護し、リスクの高い操作には確認を求めます。
主な機能
- 01通知チャネルと送信ログの確認
- 02アプリ内通知とSMTPメールの設定
- 03ワークフロー通知ノード設定の案内
- 04明示された宛先への配信テスト
- 05ログとジョブ結果による障害診断
活用シーン
- 01既存チャネルと最近の送信記録の確認
- 02メールまたはアプリ内通知チャネルの設定
- 03ワークフロー通知の送信失敗の調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ nocobase/ skills --skill nocobase-notification-manageインストール後、Claude Code で/nocobase-notification-manageを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/channel-configuration.mddiagnostics.mdindex.mdworkflow-notification.md詳細
目標
NocoBase の通知管理をエンドツーエンドで支援します。通知プラグインとチャネルを確認し、アプリ内メッセージまたはメールチャネルを設定し、ワークフローの通知ノードを接続して、配信をテストし、送信ログを調査します。
対象範囲
- 対象:
notificationChannels内のチャネルやnotificationSendLogs内の送信ログなど、通知マネージャーの使用方法。 - 対象:アプリ内メッセージチャネル(
notificationType: in-app-message)と、そのワークフローのメッセージフィールド。 - 対象:SMTP トランスポートを使用するメールチャネル(
notificationType: email)。 - 対象:ノードタイプ
notificationのワークフロー通知ノードに関するガイダンス。 - 対象:送信ログ、ワークフロージョブの結果、チャネル設定の読み戻しによる配信診断。
対象外
- プラグインを直接インストール、有効化、または無効化しないでください。プラグインの状態変更には
nocobase-plugin-manageを使用してください。 - ワークフロー全体をゼロから設計しないでください。トリガーとノードチェーンの作成には
nocobase-workflow-manageを使用してください。 - 新しい通知チャネルタイプを作成しないでください。カスタムプロバイダーにはプラグイン開発ガイダンスを使用してください。
- 受信者の明示的な確認なしに、実際の外部メールテストを送信しないでください。
- SMTP パスワード、アプリパスワード、その他のチャネルシークレットを公開またはそのまま表示しないでください。
入力契約
| 入力 | 必須 | デフォルト | 検証 | 確認の質問 |
|---|---|---|---|---|
action | はい | inspect | inspect/configure-channel/test-channel/configure-workflow/diagnose のいずれか | 「実行するアクションを選んでください。inspect、configure-channel、test-channel、configure-workflow、diagnose のどれにしますか?」 |
channel | configure/test:はい | なし | 既存のチャネル名、または in-app-message/email のいずれか | 「使用するチャネル名またはチャネルタイプを指定してください。」 |
env | いいえ | 現在の CLI env | 設定済みの nb env 名 | 「対象とする NocoBase CLI env を指定してください。」 |
workflow | configure-workflow/diagnose:場合による | なし | ワークフロー ID/キー/タイトルが一意に解決されること | 「確認するワークフローまたは通知ノードを指定してください。」 |
recipients | test-channel:はい | なし | 明示的なユーザー ID またはメールアドレス | 「通知を受信する安全なテスト対象を指定してください。」 |
mode | いいえ | safe | safe/fast のいずれか | 「読み戻しを行うセーフモードと、ファストモードのどちらを使用しますか?」 |
ルール:
- 必須入力が不足している場合は、変更を中止して確認してください。
- ユーザーが「決めて」と言った場合は、文書化されたデフォルトを使用してください。
- チャネル名は
notificationChannelsから解決してください。生成されたs_名を推測しないでください。 - ワークフローノードまたは送信操作で使用する前に、通知チャネルが
notificationChannelsに存在している必要があります。存在しないchannelNameを決して作り出したり補完したりしないでください。先にチャネルを作成し、読み戻して実際のnameを使用してください。 - すべての設定およびテスト作業では、セーフモードを優先してください。
必須の確認ゲート
- 確認ラウンドの上限:
2 - 1 ラウンドあたりの質問数の上限:
3 - 変更の前提条件:
actionが確定していること。- アプリケーション操作において、
nbCLI の接続性と認証が確認されていること。 - チャネルへの書き込みでは、チャネルタイプと必須のプロバイダーフィールドが明らかになっていること。
- テストでは、受信者が明示され、承認されていること。
- ワークフローの編集では、対象のワークフローまたはノードの所有者が特定されていること。
- 前提条件が満たされていない場合は中止し、不足している入力または機能を報告してください。
ワークフロー
nbCLI に接続できることと、プラグインの状態を確認します。プラグインを有効にする必要がある場合は、nocobase-plugin-manageに引き継ぎます。- 変更を加える前に、
notificationChannelsと登録済みのチャネルタイプを確認します。 - 適切な手順を選択します。
inspect:チャネルと最近のnotificationSendLogsを一覧表示します。configure-channel:要求されたチャネルタイプのみを作成または更新します。test-channel:明示的に指定された安全な宛先に送信してから、ログを読み取ります。configure-workflow:タイプがnotificationのワークフローノードの編集を案内または委任します。diagnose:チャネル設定、送信ログ、ワークフロージョブ、サーバーログを照合します。
- フィールド単位の案内を行う前に、関連するリファレンスファイルを読みます。
- 変更を加える場合は、一度に1つの書き込みを実行し、その都度
notificationChannelsを読み戻します。 - 配信テストでは、
notificationSendLogs.status、reason、message、triggerFrom、channelNameを確認します。 - ワークフロー通知ノードには、読み戻した
notificationChannels.nameのみを使用します。適切なチャネルがない場合は、先にチャネルを作成または設定するか、不足しているチャネルを報告して停止します。 - 最終状態、根拠、残るリスクを報告します。
リファレンスの読み込みマップ
曖昧なリファレンスの使用を防ぐため、このセクションを使用します。各項目には、いつ読み込むかを明記してください。
| リファレンス | 読み込む場合 | 備考 |
|---|---|---|
| チャネル設定 | アプリ内メッセージチャネルやメールチャネルを作成、更新、確認するとき。 | チャネルタイプ、フィールド、シークレットの取り扱いを含みます。 |
| ワークフロー通知 | ワークフロー通知ノードを追加または確認するとき。 | ノードタイプとチャネルごとのメッセージフィールドを含みます。 |
| 診断 | 通知の失敗や未着を調査するとき。 | コレクション、ステータスフィールド、よくある失敗原因を含みます。 |
リファレンスのルール:
- ローカルファイルへのリンクには、相対 Markdown リンクを使用します。
- リンクのパス区切りには
/を使用します。 - 可能な限り、リファレンスは
SKILL.mdから1階層以内に配置します。 - リファレンスファイルが100行を超える場合は、そのファイルに目次を追加します。
安全性の確認
- 高リスクの操作を実行するには、事前に二次確認が必要です。
- 高リスクの操作には、次のものが含まれます。
- 外部の宛先への実際のメール送信
- SMTP のホスト、アカウント、パスワード、差出人の値の変更
- 通知チャネルまたは送信ログの削除
- 有効化済み、または以前実行されたワークフローの通知ノードの変更
- 通知関連プラグインの有効化または無効化
二次確認のテンプレート:
- "実行を確認してください:通知チャネル
{{channel}}に対する{{action}}。想定される影響:{{impact}}。続行するにはconfirmと入力してください。"
ロールバックの案内:
- 読み戻した内容が要求されたチャネルまたはワークフロー設定と一致しない場合は、ロールバックを実行します。
- ロールバック手順:
- 以前の
notificationChannelsレコードの値を復元します nocobase-workflow-manageを使用して、以前のワークフローリビジョンまたはノード設定を復元します- 読み戻しと、必要に応じて安全なテスト送信で確認します
検証チェックリスト
- 対象のチャネルまたはワークフローノードが存在し、一意に特定されています。
nbの認証状態が有効です。- 必要な通知プラグインが有効になっているか、引き継ぎが行われています。
- 入力値が検証ルールを満たしています。
- すべての書き込みが直後の読み戻しで検証されています。
- チャネルの
notificationTypeが意図したプロバイダーと一致しています。 - メールチャネルには SMTP の
host、port、secure、account、password、fromが設定されており、シークレットは表示されていません。 - アプリ内メッセージチャネルには表示タイトルが設定され、ワークフロー通知で選択できます。
- ワークフロー通知ノードはタイプ
notificationを使用し、実在するchannelNameを指定しています。 - ワークフローのアプリ内メッセージの
receivers定数には、"1"のような文字列ではなく、整数のユーザー ID を使用しています。 - 送信ログには、期待される
status、triggerFrom、channelNameが記録されており、失敗時にはreasonも記録されています。 - エラーと部分的な成功が分けて報告されています。
- 最終出力には、使用した CLI 環境とアプリのコンテキストが含まれています。
最小テストシナリオ
- 確認のみ:通知チャネルと最近の送信ログを一覧表示します。
- アプリ内メッセージチャネルを設定し、
notificationChannelsに表示されることを確認します。 - メール SMTP チャネルを設定し、出力内のシークレットがマスキングされていることを確認して、設定内容を読み戻します。
- 明示的な受信者を指定してチャネルをテストし、
notificationSendLogsを確認します。 - 実際のテストで受信者が指定されていない場合、送信がブロックされます。
- 実行済みワークフローのノードを変更する場合は、
nocobase-workflow-manageのリビジョンルールに引き継ぎます。
出力要件
最終回答には以下を含めてください。
- 依頼された内容。
- 実行した内容。
- 検証した内容。
- 失敗した内容、または不明な点。
- 適用したデフォルト値や前提条件。
- 通知チャネル名/タイプと使用した CLI 環境変数。
- 作業がブロックされた場合にユーザーが行うべき具体的な次の手順。
参考資料
コメント
Markdown 対応