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

slack-search

Slackチャンネルやメッセージをセマンティック検索するスキル。「Slackで検索して」「チャンネルを探して」「発言を探して」等のリクエストで発動。

インストール方法を見る

含まれるファイル(6)

  • SKILL.md7.7 KB
  • agents/openai.yaml143 B
  • data/book_index.json409 B
  • scripts/slack_search.py20.2 KB
  • SKILL.en.md3.7 KB
  • SKILL.es.md4.2 KB

SKILL.md(原文)

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

Slack Search Skill

BookRAGに基づく階層的インデックスを活用したSlackセマンティック検索。

クイックスタート

import sys
from pathlib import Path
# プロジェクトルートの tools/ ディレクトリをパスに追加
sys.path.insert(0, str(Path(__file__).resolve().parents[4] / "tools"))
from slack_search import SlackSearch

search = SlackSearch()

# ワークスペース概要
overview = search.get_workspace_overview()

# チャンネル検索(セマンティック検索)
results = search.find_channels("DX展示会")

# チャンネル詳細
detail = search.get_channel_detail("my-workspace/example-channel")

# 関連チャンネル探索
related = search.find_related_channels("my-workspace/example-channel")

# 人物検索
persons = search.find_person("清水")

# イベント検索
events = search.find_events("DX")

# タイムライン検索
timeline = search.get_timeline("2025-12-01", "2025-12-31")

利用可能な検索機能

1. ワークスペース概要 (get_workspace_overview)

全体の統計情報とカテゴリ構造を取得。

# 全ワークスペース
overview = search.get_workspace_overview()

# 特定のワークスペース
overview = search.get_workspace_overview("my-workspace")

対応ワークスペース: 設定されたワークスペース(build_book_index.py の WORKSPACES を参照)

2. チャンネル検索 (find_channels)

チャンネル名、トピック、概要からセマンティック検索。

# 基本検索
results = search.find_channels("展示会")

# フィルタ付き検索
results = search.find_channels(
    query="プロジェクト",
    workspace="my-workspace",
    category="project",
    limit=20
)

チャンネルカテゴリ:

  • cafe: 個人チャンネル(cafe_*)
  • project: プロジェクト(pj_*)
  • product: プロダクト開発(product_*)
  • sales: 営業(sales_*)
  • notify: 通知(notify_*)
  • partner: 外部パートナー(*_partner)
  • event: イベント(日付パターン)
  • external: 外部連携(ex-, ext-)

3. チャンネル詳細 (get_channel_detail)

特定チャンネルの詳細情報を取得。

# フルID指定
detail = search.get_channel_detail("my-workspace/example-channel")

# チャンネル名のみでも可
detail = search.get_channel_detail("example-channel")

返却情報:

  • 概要(overview)
  • トピック(topics)
  • 参加者(participants)
  • 活動期間(first_activity, last_activity)
  • ファイルパス(data, summary, archive)
  • 関連チャンネル(related_channels)

4. 関連チャンネル探索 (find_related_channels)

グラフ構造に基づいて関連チャンネルを探索。

# 直接関連
related = search.find_related_channels("example-channel")

# 間接関連まで(depth=2)
related = search.find_related_channels("example-channel", depth=2)

5. 人物検索 (find_person)

発言者やメンションから人物を検索。

results = search.find_person("清水")
# 返却: 名前、エイリアス、参加チャンネル数、チャンネルリスト

6. イベント検索 (find_events)

展示会、会議などのイベントを検索。

# 全イベント
events = search.find_events()

# キーワード検索
events = search.find_events("DX")

7. カテゴリ別一覧 (list_channels_by_category)

特定カテゴリのチャンネルを一覧。

# 全ワークスペースのcafeチャンネル
cafes = search.list_channels_by_category("cafe")

# 特定ワークスペースのprojectチャンネルのみ
projects = search.list_channels_by_category("project", workspace="my-workspace")

8. タイムライン検索 (get_timeline)

期間指定でアクティビティを検索。

timeline = search.get_timeline(
    start_date="2025-12-01",
    end_date="2025-12-31",
    workspace="my-workspace"  # オプション
)

9. 出力ソース情報 (get_output_sources)

calendar, gmail, drive, voicememoの統計情報。

sources = search.get_output_sources()

データ構造

インデックスパス

  • メインインデックス: slack-sync/index/book_index.json
  • スキーマ定義: slack-sync/index/schema.md

データソース

  • 現在データ: slack-sync/data/{workspace}/
  • サマリー: slack-sync/data/summary/{workspace}/
  • アーカイブ: slack-sync/data/archive/{workspace}/
  • 出力: output/ (calendar, gmail, drive, voicememo)

CLIコマンド

# ワークスペース概要
uv run python tools/slack_search.py overview [workspace]

# チャンネル検索
uv run python tools/slack_search.py find "クエリ"

# チャンネル詳細
uv run python tools/slack_search.py detail "channel_id"

# 関連チャンネル
uv run python tools/slack_search.py related "channel_id"

# 人物検索
uv run python tools/slack_search.py person "名前"

# イベント検索
uv run python tools/slack_search.py events [クエリ]

# カテゴリ別
uv run python tools/slack_search.py category "カテゴリ名"

# タイムライン
uv run python tools/slack_search.py timeline "開始日" "終了日"

インデックス更新

インデックスはGitHub Actionsで毎日自動更新されます。 手動更新:

python3 data/slack-sync/scripts/build_book_index.py

ユースケース例

「清水さんが参加しているプロジェクトを教えて」

person = search.find_person("清水")[0]
project_channels = [
    ch for ch in person["channels"]
    if search.get_channel_detail(ch).get("category") == "project"
]

「最近のDX展示会イベントの成果を確認」

events = search.find_events("DX")
for event in events:
    detail = search.get_channel_detail(event["channel"])
    print(f"{event['name']}: {detail['overview']}")

「example-channelに関連する活動を調べる」

detail = search.get_channel_detail("example-channel")
related = search.find_related_channels("example-channel", depth=2)
print(f"関連チャンネル数: {related['total_related']}")

Overview

BookRAGに基づく階層的インデックスを活用し、Slackチャンネル・メッセージをセマンティック検索するスキルです。チャンネル検索、人物検索、イベント検索、タイムライン検索に対応。

Troubleshooting

エラー解決方法
Index file not foundpython3 data/slack-sync/scripts/build_book_index.py でインデックスを再構築
No results foundクエリのキーワードを変えるか、get_workspace_overview() で利用可能なカテゴリを確認

Success Criteria

  • 検索クエリに対して関連するチャンネルまたはメッセージが返却されている
  • 検索結果にチャンネル名・概要・関連度が含まれている
  • エラーなく完了している

Usage

上記「クイックスタート」および「CLIコマンド」セクションを参照。基本例:

# チャンネル検索
uv run python tools/slack_search.py find "DX展示会"

# 人物検索
uv run python tools/slack_search.py person "清水"

レビュー

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

同じリポジトリのスキル

概要と使いどころ

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 のスキルをすべて見る

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