<< All versions
1. Slack検索 (
2. TODO抽出 (
3. タスク抽出 (
Skill v1.0.2
currentAutomated scan100/100minicoohei/ai-agent-camp/slack-task-manager
5 files
──Details
PublishedJuly 24, 2026 at 02:25 PM
Content Hashsha256:9eb0bc8c8f6c593e...
Git SHA1257e88e25e8
Bump Typepatch
──Files
Files (1 file, 7.2 KB)
SKILL.md7.2 KBactive
SKILL.md · 260 lines · 7.2 KB
version: "1.0.2" name: slack-task-manager description: "Slack検索・TODO抽出・タスク管理を行うサブエージェント。 複数データソースからタスクを抽出し、優先順位付けを行う。 「Slackを検索」「タスクを抽出」「TODO確認」「メンション確認」等のリクエストで発動。" triggers:
- Slackを検索
- Slack検索
- チャンネルを探して
- メンションを確認
- TODO抽出
- タスク抽出
- タスク一覧
- 未対応タスク
- 依頼事項
Slack/Task Manager サブエージェント
Slack検索・TODO抽出・タスク管理を専用コンテキストで実行するサブエージェント。
目的
Slackデータとタスク管理をメインエージェントのコンテキストから分離し:
- 大量のSlackメッセージ検索を効率化
- 複数データソースからのタスク抽出を統合
- 検索結果のサマリーのみを返却
機能一覧
| 機能 | スクリプト | 説明 | |
|---|---|---|---|
| Slack検索 | slack_search.py | BookRAGベースのセマンティック検索 | |
| TODO抽出 | extract_todos.py | メンションからTODO抽出・ステータス判定 | |
| タスク抽出 | extract_tasks.py | 複数ソースからタスク抽出 |
1. Slack検索 (tools/slack_search.py)
BookRAGに基づく階層的インデックスを活用したセマンティック検索。
機能
| メソッド | 説明 | |
|---|---|---|
get_workspace_overview() | ワークスペース全体の概要 | |
find_channels(query) | チャンネル検索 | |
get_channel_detail(channel_id) | チャンネル詳細 | |
find_related_channels(channel_id) | 関連チャンネル検索 | |
find_person(name) | 人物検索 |
使用方法(Python)
python
from tools.slack_search import SlackSearchsearch = 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")# 人物検索person = search.find_person("清水")
検索例
python
# プロジェクト関連のチャンネルを探すresults = search.find_channels("AIチュートリアル")# 特定の人物が関わるチャンネルperson = search.find_person("田中")
2. TODO抽出 (skills/slack-todo-extractor/scripts/extract_todos.py)
Slackのメンションからタスクを抽出し、ステータス判定を行う。
使用方法
bash
# 基本(キーワードベース)python skills/slack-todo-extractor/scripts/extract_todos.py \--users "YourName,your-username" \--period "2026-01-06:2026-01-08"# LLMベース(高精度、要GEMINI_API_KEY)python skills/slack-todo-extractor/scripts/extract_todos.py \--users "YourName,your-username" \--period "1/6:8" \--use-llm# JSON出力python skills/slack-todo-extractor/scripts/extract_todos.py \-u "YourName" -p "1/6:8" --use-llm -o json
パラメータ
| パラメータ | 必須 | 説明 | 例 | |
|---|---|---|---|---|
--users, -u | ✅ | 対象ユーザー名(カンマ区切り) | YourName, your-username | |
--period, -p | ✅ | 検索期間 | 2026-01-06:2026-01-08 or 1/6:8 | |
--workspace, -w | ❌ | ワークスペース | my-workspace, my-workspace-2 | |
--use-llm | ❌ | LLM(Gemini)で判定 | - | |
--output, -o | ❌ | 出力形式 | markdown or json |
ステータス判定
| ステータス | 条件 | |
|---|---|---|
| ✅ 完了 | 対象ユーザーが「完了」等 / 依頼者が「ありがとう」等 | |
| 🟡 対応中 | 対象ユーザーが「承知」「やります」等 | |
| 🔴 未対応 | 返信なし |
3. タスク抽出 (tools/extract_tasks.py)
複数のデータソースから自動的にタスクを抽出・優先順位付け。
データソース
| ソース | 説明 | |
|---|---|---|
| Git | 変更ファイル、未コミット作業 | |
| Activity Logger | 最近のアクティビティ | |
| SpecStory | 仕掛かりタスク | |
| Slack-sync | 依頼事項、メンション | |
| Output | カレンダー、Gmail、ボイスメモ | |
| Notion | データベース/ページ |
使用方法
bash
# 全ソースからタスク抽出uv run python tools/extract_tasks.py# 特定ソースのみuv run python tools/extract_tasks.py --sources git,slack# HowToDo生成付きuv run python tools/extract_tasks.py --with-howtodo# HTML出力uv run python tools/extract_tasks.py --format html --output tasks.html
出力形式
yaml
tasks:- id: task_001source: slacktitle: "EASソリューションの調査"priority: highstatus: pendingdue_date: "2026-01-10"assignee: "YourName"channel: "my-workspace/team-core"
サブエージェント呼び出しパターン
メインエージェントは以下のパターンでこのサブエージェントを呼び出す:
python
Task(subagent_type="generalPurpose",model="fast",description="Slack search",prompt="""このスキルを読んで実行してください: skills/slack-task-manager/SKILL.mdタスク: {ユーザーの指示}検索クエリ: {検索ワード}期間: {期間指定}検索結果のサマリーを返却してください。""")
返却フォーマット
Slack検索結果
yaml
status: successquery: "DX展示会"results:- channel: "my-workspace/example-event-2026"description: "2026年DX展示会の準備チャンネル"relevance: 0.95recent_activity: "2026-01-25"- channel: "my-workspace-2/example-project"description: "DXプロジェクト全般"relevance: 0.82total_matches: 5
TODO抽出結果
yaml
status: successperiod: "2026-01-06 ~ 2026-01-08"summary:total: 12pending: 3in_progress: 5completed: 4high_priority:- title: "EASソリューションの調査"from: "Sota Moriyama"channel: "my-workspace/team-core"status: pending
前提条件
slack-sync/のSlack同期が完了していること- スレッド返信が必要な場合は事前に同期
bash
# Slack同期python data/slack-sync/scripts/fetch_slack.py --workspace my-workspace# スレッド返信も取得python data/slack-sync/scripts/fetch_slack.py --workspace my-workspace --refresh-threads
依存関係
txt
python-dotenv>=1.0.0google-generativeai>=0.3.0 # LLMモード使用時
環境変数
bash
# LLMモード使用時GEMINI_API_KEY=your_api_key
Notion 連携は OAuth 統一です(環境変数は不要)。事前に /setup-notion を実行し、ncli login と Notion 公式 Hosted MCP(https://mcp.notion.com/mcp)をセットアップしてください。
ユースケース
- チャンネル検索: プロジェクト関連のチャンネルを探す
- TODO確認: 自分宛のメンションからタスクを抽出
- タスク統合: 複数ソースからタスクを一覧化
- 優先順位付け: 期限・重要度でタスクを整理