本文へ移動
cccskills
無料GitHub で公開

slack-unanswered

Slackの未返信メッセージを検出し、返信ドラフトを生成するスキル。「未返信メッセージ」「返信してないメッセージ」「Slack確認」等のリクエストで発動。

インストール方法を見る

含まれるファイル(4)

  • SKILL.md5.4 KB
  • agents/openai.yaml150 B
  • SKILL.en.md4.2 KB
  • SKILL.es.md4.9 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

トリガーワード

「未返信メッセージ」「返信してないメッセージ」「Slack確認」「未読メンション」

Slack Unanswered Messages Finder

This skill finds Slack messages that need your attention and helps you reply to them.

Target Directory

All searches are performed in: slack-sync/data/

Your Identifiers

以下を自分の Slack 表示名・ユーザー名に置き換えてください。

Search for these names (case-insensitive):

  • @{YOUR_DISPLAY_NAME}
  • @{YOUR_FULL_NAME}
  • @{YOUR_SLACK_USERNAME}
  • Messages posted by: {YOUR_FULL_NAME}, {YOUR_SLACK_USERNAME}

設定方法: 上記のプレースホルダーを自分の情報に書き換えるか、--users オプションで指定してください。


Workflow

Step 1: Find Unanswered Messages

Search for messages containing your identifiers:

grep -rn -B2 -A10 -E "@{YOUR_DISPLAY_NAME}|@{YOUR_SLACK_USERNAME}|{YOUR_FULL_NAME}" slack-sync/data/

Step 2: Identify Unanswered Messages

A message is unanswered if:

  1. It contains a mention of your name (or you posted it)
  2. It ends with a question (?) or contains a request
  3. There are NO lines starting with > #### immediately after it (before the next ### or ---)

Focus on recent messages (last 7 days). Exclude bot messages (Sentry, Vercel, etc.).

Step 3: Present Findings

For each unanswered message, provide:

  • Channel name
  • Date/Time
  • Sender
  • Content summary
  • Slack link
  • Whether it needs a reply or is a follow-up

Step 4: Generate Reply Draft

For messages that need replies, generate a draft reply in Japanese. Ask the user to review and edit.

Step 5: Send Reply (with confirmation)

IMPORTANT: Always get user confirmation before sending!

The reply flow is:

  1. Show the draft reply to the user
  2. Ask: "この内容で送信してよろしいですか? (修正があれば教えてください)"
  3. Wait for user confirmation or edits
  4. Only after explicit approval, use the reply script

Replying to Messages

Reply Script Location

data/slack-sync/scripts/reply_slack.py

Usage

# Dry run (preview without sending)
python data/slack-sync/scripts/reply_slack.py \
  --url "https://xxx.slack.com/archives/CHANNEL/pTIMESTAMP" \
  --message "返信内容" \
  --dry-run

# Actually send (only after user confirms!)
python data/slack-sync/scripts/reply_slack.py \
  --url "https://xxx.slack.com/archives/CHANNEL/pTIMESTAMP" \
  --message "返信内容"

Environment Variable Required

SLACK_USER_TOKEN=xoxp-...

This token needs the chat:write scope. See setup instructions below.


Reply Flow Example

Claude: 以下の返信案を作成しました:

---
宛先: @{SENDER_NAME}
チャンネル: datadev-ai
Slack: [リンク](https://...)

返信案:
「担当者名のSlackアカウントは @xxx です!」
---

この内容で送信してよろしいですか? (修正があれば教えてください)

User: OKです

Claude: [reply_slack.py を実行して送信]
送信しました!

Setup: Adding chat:write Scope

To enable reply functionality:

  1. Go to Slack API Apps
  2. Select your app (e.g., "Message Archiver")
  3. Navigate to OAuth & Permissions
  4. Under User Token Scopes, add:
    • chat:write - Post messages
  5. Click Reinstall to Workspace
  6. Copy the new xoxp-... token
  7. Update SLACK_USER_TOKEN in your environment/GitHub Secrets

Message Format Reference

Messages in markdown files:

  • Main message: ### HH:MM - Sender Name [[Slack]](url)
  • Reply: Lines starting with > ####

TODO File Management

TODO File Location

slack-sync/TODO.md

TODO Format

- [ ] **[channel-name]** Sender名 (日付 時刻)
  - 内容: メッセージの要約
  - Slack: URL
  - 返信案: 返信内容のドラフト

Workflow with TODO

  1. 検索時: 未回答メッセージを見つけたらTODO.mdに追加
  2. 返信時: 返信したらチェックボックスを [x] に変更
  3. 完了時: 「完了したメッセージ」セクションに移動

Adding a Task

When you find an unanswered message, add it to slack-sync/TODO.md:

- [ ] **[datadev-ai]** {SENDER_NAME}さん (1/7 19:10)
  - 内容: 担当者名のSlackアカウント名の確認
  - Slack: https://...
  - 返信案: アカウント名を確認して回答

Completing a Task

After sending a reply:

  1. Change - [ ] to - [x]
  2. Move the item to the "完了したメッセージ" section

Quick Commands

Find mentions in recent files:

grep -rn -B2 -A10 "@{YOUR_DISPLAY_NAME}" slack-sync/data/ | head -200

Find your posts:

grep -rn "### [0-9:]* - {YOUR_DISPLAY_NAME}" slack-sync/data/ | head -100

Find questions to you:

grep -rn -A5 "@{YOUR_DISPLAY_NAME}" slack-sync/data/ | grep -E "\?$|でしょうか|ですか|ますか|ください"

View current TODO:

cat slack-sync/TODO.md

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

ab-test-setup

無料日本語概要

A/Bテストや実験の設計・実装を支援するスキル。 「A/Bテストを設計して」「スプリットテストしたい」「仮説を立ててテストしたい」「バリアントを比較」等のリクエストで発動。 トラッキング実装は analytics-tracking を参照。

minicoohei/ai-agent-camp3472026年10月7日 更新

agent-designer

無料日本語概要

マルチエージェントシステムのアーキテクチャ設計ツールキット。 「エージェントを設計して」「マルチエージェント構成」「エージェントのアーキテクチャ」「オーケストレーション設計」等のリクエストで発動。

minicoohei/ai-agent-camp3472026年10月7日 更新

aiagent-check-setup

無料日本語概要

ai-agent-campのローカル環境セットアップを確認するスキル。 「セットアップ確認」「環境チェック」「初期設定できてる?」「インストール確認」「依存関係チェック」等のリクエストで発動。

minicoohei/ai-agent-camp3472026年10月7日 更新

aiagent-command-router

無料日本語概要

ai-agent-campのスラッシュコマンドをCodexでルーティングするスキル。 「/start-0-1を実行」「スラッシュコマンドを使いたい」「コマンドルーティング」「Cursorのコマンドを使いたい」等のリクエストで発動。

minicoohei/ai-agent-camp3472026年10月7日 更新

aiagent-env-manager

無料日本語概要

ai-agent-campの環境変数・認証情報を安全に管理するスキル。 「APIキーを設定」「.envを管理」「環境変数の設定」「credential managerを使いたい」「秘密情報の管理」等のリクエストで発動。

minicoohei/ai-agent-camp3472026年10月7日 更新

aiagent-guide

無料日本語概要

ai-agent-campリポジトリの案内・オリエンテーションスキル。 「リポジトリ案内」「次のレッスンは?」「どこから始める」「ツールの違い」「aiagent概要」等のリクエストで発動。

minicoohei/ai-agent-camp3472026年10月7日 更新

minicoohei のスキルをすべて見る

このスキルの問題を報告する