Feishu完了通知
概要
チャットターンまたは該当するCodexの変更が完了した後、必要なFeishuアプリケーションボットの完了メッセージを送信します。バンドルされたスクリプトを使用することで、トークン取得、メッセージ形式、API呼び出しの一貫性を保ちます。
ワークフロー
- アクティブなプロジェクトルールが、チャットターンが完了するたびに通知を必要とするか確認します。必要な場合は、質問のみのターンでも送信します。それ以外の場合は、コード、アセット、UI、ドキュメント、またはプロジェクトの変更を完了してプッシュした後、またはそれらを終了した後にのみ送信します。
- メッセージフィールドを決定します:
- プロジェクト:現在のリポジトリ名またはワークスペース名。
codexの場合はCodexとして表示します。 - チャット:現在のチャット/スレッドタイトル。利用できない場合は、表示されているワークスペース/チャットディレクトリ名を使用します。
- セッション:現在のタスクまたは会話名。利用できない場合は、ユーザーのタスクから導出された簡潔な名前を使用します。
- 時間:ローカルの完了時刻。
- プロジェクト:現在のリポジトリ名またはワークスペース名。
- このスキルから
scripts/send_feishu_completion.pyを、--project、--chat、--sessionを明示的に指定して実行します(値を把握している場合)。 - スクリプトがFeishu環境変数の欠落を報告した場合、その具体的な理由で通知を送信できなかったことをユーザーに伝えます。Slackにフォールバックしないでください。
- FeishuがAPIエラーを返した場合、障害が一時的なものに見える場合にのみ1回リトライします。それ以外の場合は障害を報告し、最終応答を続行します。
スクリプトの使用法
使用法:
python3 /Users/pika/.codex/skills/notify-feishu-completion/scripts/send_feishu_completion.py \
--project "プロジェクト名" \
--chat "チャット名" \
--session "セッション名"
--dry-run を使用して、Feishuを呼び出さずに生成されたメッセージを検証します:
python3 /Users/pika/.codex/skills/notify-feishu-completion/scripts/send_feishu_completion.py \
--project "Codex" \
--chat "new-chat" \
--session "Feishu通知スキルの作成" \
--dry-run
スクリプトは以下の正確なメッセージ形式を送信します:
【プロジェクト名】【チャット名】【セッション名】変更が完了しました、【完了時刻】
スクリプトは、ドライランモード以外で以下の環境変数を読み取ります:
FEISHU_APP_ID
FEISHU_APP_SECRET
FEISHU_RECEIVE_ID_TYPE
FEISHU_RECEIVE_ID
注意事項
- Feishuのみを介して送信します。この完了通知にSlackを使用しないでください。
- 通知が送信されたか、送信できなかった場合、最終的なユーザー応答を明確にしてください。
- 現在のチャット/セッション名がわかっている場合は、スクリプトの推論に頼るよりも、明示的なフィールド値を渡すことを優先してください。