notify について
notify は、スクリプト経由で Discord の埋め込みメッセージを送るスキルです。タスクの進捗報告や一般通知に使われ、通知の分類、Webhook の設定、送信結果の扱いを定めています。
主な機能
- 01Discord 埋め込みメッセージの送信
- 02タスク通知と一般通知の区別
- 03タイトル、説明、リンク、フィールドの設定
- 04dry-run によるペイロード確認
- 05Webhook の検証と送信状態の処理
活用シーン
- 01PR やチケットへのリンク付き完了報告
- 02入力を求める通知の送信
- 03送信前のペイロード確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ prathamdby/ skills --skill notifyインストール後、Claude Code で/notifyを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
REFERENCE.mdwebhook.url.examplescripts/notify.py詳細
通知
./scripts/notify.py send を使って Discord の埋め込みメッセージを送信します。curl は使わないでください。JSON を手作業で組み立てないでください。
フラグ
スキルのフラグは、send の CLI フラグに対応します。
| フラグ | CLI フラグ | 効果 |
|---|---|---|
--task | --task | タスク通知です。--link が必要です。 |
--link <url> | --link | 埋め込みメッセージ内の URL です。--task と併用する必要があります。 |
--webhook <path> | --webhook-file | URL ファイルです。デフォルト:<anchor>/webhook.url。 |
--color <int|hex> | --color | 埋め込みメッセージの色です。デフォルトは 5814783 です。 |
--field "N|V" | --field | 繰り返し指定できます。最大 10 個です。 |
--content <text> | --content | 埋め込みメッセージの上に表示するメッセージです。 |
--dry-run | --dry-run | ペイロードを出力します。POST は行いません。 |
| 位置引数 | --description | フラグで指定しない場合、埋め込みメッセージの本文になります。 |
CLI では --title と --description が常に必須です。
アンカー
この SKILL.md を格納しているディレクトリです。スクリプト:<anchor>/scripts/notify.py。
ステップ 1:ブランチを分類する
- タスク作業(実装、修正、レビュー、PR、チケット、CI):
--taskと--linkを使います。 - 一般的な通知:
--taskは省略します。--linkは任意です。
ステップ 2:埋め込みメッセージを作成する
--title:短いラベル(「タスク完了」、「入力が必要」など)。--description:位置引数、またはセッションの概要を 1 行で指定します。--link:--taskを使う場合は実在する URL を指定します。GitHub の PR/コミット、Linear の課題、CI の実行、リポジトリのツリーへのリンクなどです。--field:情報を補足できる場合のみ指定します(ブランチ、チケット、ステータスなど)。
タイトルと説明が設定され、--task に --link が指定されていれば完了です。
ステップ 3:Webhook の設定を確認する
--dry-run を使う場合は、このステップを省略します。
- パスを解決します:
--webhook <path>または<anchor>/webhook.url。 - ファイルが存在する場合は読み取ります。ファイルがない場合、または空白のみの場合は、Discord の Webhook URL をユーザーに尋ねます。まだ
sendを実行しないでください。返信を待ちます。 - 返信があったら、解決したパスに URL を 1 行で書き込みます。必要に応じて親ディレクトリを作成します。URL は
https://discord.com/api/webhooks/で始まる必要があります。無効な場合は、プレフィックスの要件を伝えて再度尋ねます。 - ファイルに有効な Webhook URL のプレフィックスが含まれていれば、このステップは完了です。
初回セットアップの手順:Discord チャンネル → インテグレーション → Webhook → 新しい Webhook → URL をコピーします。./REFERENCE.md を参照してください。
ステップ 4:CLI を実行する
python3 <anchor>/scripts/notify.py send --title "..." --description "..." [flags]
ペイロードが不明確な場合は --dry-run を使います。例については send --help を確認してください。
ステップ 5:終了コードを確認する
0 は送信完了(または dry-run 成功)のみを意味します。2/3 の場合は、stderr をそのままユーザーに提示します。停止してください。ユーザーに知らせず再試行しないでください。
ステップ 3 の後に終了コード 1 となった場合:POST 時にファイル内の URL の検証に失敗しています。新しい Webhook URL をユーザーに尋ね、ファイルを書き換えてから send を 1 回再実行します。
ステップ 6:報告する
stdout の status:、title:、link: を解析します。Webhook URL は決して表示しないでください。
制約
- 常に埋め込みメッセージを使います。スクリプトで強制されます。
webhook.urlをコミットしないでください。- 終了コードが 3 の場合は、
./REFERENCE.mdのトラブルシューティングに従ってください。