Skip to content
cccskills
FreePublished on GitHub

slack-search

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

The English summary is being prepared. Showing the original description.

Works withSlackGmail
See how to install

Files included (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 (original)

Review the instructions the agent will receive before you install.

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 "清水"

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

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

The English summary is being prepared. Showing the original description.

minicoohei/ai-agent-camp346Updated Oct 7, 2026

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

The English summary is being prepared. Showing the original description.

minicoohei/ai-agent-camp346Updated Oct 7, 2026

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

The English summary is being prepared. Showing the original description.

minicoohei/ai-agent-camp346Updated Oct 7, 2026

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

The English summary is being prepared. Showing the original description.

minicoohei/ai-agent-camp346Updated Oct 7, 2026

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

The English summary is being prepared. Showing the original description.

minicoohei/ai-agent-camp346Updated Oct 7, 2026

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

The English summary is being prepared. Showing the original description.

minicoohei/ai-agent-camp346Updated Oct 7, 2026

See all skills by minicoohei

Report a problem with this skill