Slack Approval

Sends a Slack Block Kit message with [✅ 実行する][❌ キャンセル] buttons and waits for user response. Returns 'approved' or 'denied'. Use when any skill needs user confirmation before executing a destructive or external action (email send, form submit, install, deploy, etc.)

majiayu000 dafa9ea 2 files · 2.9 KB Updated 567 repo stars

File contents

slack-approval

全スキル共通の承認ユーティリティ。Block Kit ボタンを Slack に投稿し、ユーザーのクリックを待つ。

使い方(全スキルからこの1行)

const { requestApproval } = require('../slack-approval/scripts/approve');

const result = await requestApproval({
  channel: 'C091G3PKHL2',   // 送信先チャンネルID
  title:   '📧 メール返信',
  detail:  '宛先: 山田教授\n本文: お世話になっております...'
});

if (result === 'approved') { /* 実行 */ }
if (result === 'denied')   { /* 停止 */ }

表示される UI

┌─────────────────────────────────────┐
│  📧 メール返信                        │
│  宛先: 山田教授                       │
│  本文: お世話になっております...        │
│                                     │
│  [✅ 実行する]    [❌ キャンセル]      │
└─────────────────────────────────────┘

→ [✅ 実行する]  押したら: ✅ 実行しました(ボタン消える)
→ [❌ キャンセル] 押したら: ❌ キャンセルしました(ボタン消える)

戻り値

意味
'approved' ✅ を押した
'denied' ❌ を押した

timeout なし。ユーザーが押すまで待つ。

セットアップ(初回のみ)

cd .claude/skills/slack-approval/scripts
npm install @slack/web-api @slack/socket-mode

適用スキル

naist-mail / naist-portal / naist-wiki / skill-for-you / mobile-app-factory / 全ての新規スキル

majiayu000/claude-skill-registry-data/tree/main/communication/slack-approval commit dafa9eae47

Frequently asked questions

npx skillmds add majiayu000/slack-approval