/slack-task-manager
Slack検索・TODO抽出・タスク管理を行うサブエージェント。 複数データソースからタスクを抽出し、優先順位付けを行う。 「Slackを検索」「タスクを抽出」「TODO確認」「メンション確認」等のリクエストで発動。
$ npx -y skills add minicoohei/ai-agent-camp --skill slack-task-manager --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/slack-task-manager
Context preview
The summary Claude sees to decide when to auto-load this skill.
Slack検索・TODO抽出・タスク管理を行うサブエージェント。 複数データソースからタスクを抽出し、優先順位付けを行う。 「Slackを検索」「タスクを抽出」「TODO確認」「メンション確認」等のリクエストで発動。
SKILL.md
slack-task-manager.SKILL.mdname: 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)
from tools.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")
# 人物検索
person = search.find_person("清水")検索例
# プロジェクト関連のチャンネルを探す
results = search.find_channels("AIチュートリアル")
# 特定の人物が関わるチャンネル
person = search.find_person("田中")2. TODO抽出 (`skills/slack-todo-extractor/scripts/extract_todos.py`)
Slackのメンションからタスクを抽出し、ステータス判定を行う。
使用方法
# 基本(キーワードベース)
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 | データベース/ページ |
使用方法
# 全ソースからタスク抽出
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
出力形式
tasks:
- id: task_001
source: slack
title: "EASソリューションの調査"
priority: high
status: pending
due_date: "2026-01-10"
assignee: "YourName"
channel: "my-workspace/team-core"サブエージェント呼び出しパターン
メインエージェントは以下のパターンでこのサブエージェントを呼び出す:
Task(
subagent_type="generalPurpose",
model="fast",
description="Slack search",
prompt="""
このスキルを読んで実行してください: skills/slack-task-manager/SKILL.md
タスク: {ユーザーの指示}
検索クエリ: {検索ワード}
期間: {期間指定}
検索結果のサマリーを返却してください。
"""
)返却フォーマット
Slack検索結果
status: success
query: "DX展示会"
results:
- channel: "my-workspace/example-event-2026"
description: "2026年DX展示会の準備チャンネル"
relevance: 0.95
recent_activity: "2026-01-25"
- channel: "my-workspace-2/example-project"
description: "DXプロジェクト全般"
relevance: 0.82
total_matches: 5TODO抽出結果
status: success
period: "2026-01-06 ~ 2026-01-08"
summary:
total: 12
pending: 3
in_progress: 5
completed: 4
high_priority:
- title: "EASソリューションの調査"
from: "Sota Moriyama"
channel: "my-workspace/team-core"
status: pending前提条件
- `slack-sync/` のSlack同期が完了していること
- スレッド返信が必要な場合は事前に同期
# 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
依存関係
python-dotenv>=1.0.0
google-generativeai>=0.3.0 # LLMモード使用時
環境変数
# LLMモード使用時
GEMINI_API_KEY=your_api_key
Notion 連携は OAuth 統一です(環境変数は不要)。事前に `/setup-notion` を実行し、ncli login と Notion 公式 Hosted MCP(`https://mcp.notion.com/mcp`)をセットアップしてください。
ユースケース
1. **チャンネル検索**: プロジェクト関連のチャンネルを探す 2. **TODO確認**: 自分宛のメンションからタスクを抽出 3. **タスク統合**: 複数ソースからタスクを一覧化 4. **優先順位付け**: 期限・重要度でタスクを整理
Read more
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)
from tools.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")
# 人物検索
person = search.find_person("清水")検索例
# プロジェクト関連のチャンネルを探す
results = search.find_channels("AIチュートリアル")
# 特定の人物が関わるチャンネル
person = search.find_person("田中")2. TODO抽出 (`skills/slack-todo-extractor/scripts/extract_todos.py`)
Slackのメンションからタスクを抽出し、ステータス判定を行う。
使用方法
# 基本(キーワードベース) 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 | データベース/ページ |
使用方法
# 全ソースからタスク抽出 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
出力形式
tasks:
- id: task_001
source: slack
title: "EASソリューションの調査"
priority: high
status: pending
due_date: "2026-01-10"
assignee: "YourName"
channel: "my-workspace/team-core"サブエージェント呼び出しパターン
メインエージェントは以下のパターンでこのサブエージェントを呼び出す:
Task(
subagent_type="generalPurpose",
model="fast",
description="Slack search",
prompt="""
このスキルを読んで実行してください: skills/slack-task-manager/SKILL.md
タスク: {ユーザーの指示}
検索クエリ: {検索ワード}
期間: {期間指定}
検索結果のサマリーを返却してください。
"""
)返却フォーマット
Slack検索結果
status: success
query: "DX展示会"
results:
- channel: "my-workspace/example-event-2026"
description: "2026年DX展示会の準備チャンネル"
relevance: 0.95
recent_activity: "2026-01-25"
- channel: "my-workspace-2/example-project"
description: "DXプロジェクト全般"
relevance: 0.82
total_matches: 5TODO抽出結果
status: success
period: "2026-01-06 ~ 2026-01-08"
summary:
total: 12
pending: 3
in_progress: 5
completed: 4
high_priority:
- title: "EASソリューションの調査"
from: "Sota Moriyama"
channel: "my-workspace/team-core"
status: pending前提条件
- `slack-sync/` のSlack同期が完了していること
- スレッド返信が必要な場合は事前に同期
# 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
依存関係
python-dotenv>=1.0.0 google-generativeai>=0.3.0 # LLMモード使用時
環境変数
# LLMモード使用時 GEMINI_API_KEY=your_api_key
Notion 連携は OAuth 統一です(環境変数は不要)。事前に `/setup-notion` を実行し、ncli login と Notion 公式 Hosted MCP(`https://mcp.notion.com/mcp`)をセットアップしてください。
ユースケース
1. **チャンネル検索**: プロジェクト関連のチャンネルを探す 2. **TODO確認**: 自分宛のメンションからタスクを抽出 3. **タスク統合**: 複数ソースからタスクを一覧化 4. **優先順位付け**: 期限・重要度でタスクを整理
AI Agent Training for Non-Engineers - Complete Guide to Claude Code / Cursor / Codex ### ⚠️ Before you clone Official repository (maintained by the authors): Running AI agents from this repo grants them shell, file-write, and external-API permissions on your
Other skills on ai-agent-camp.
- /ab-test-setup
A/Bテストや実験の設計・実装を支援するスキル。 「A/Bテストを設計して」「スプリットテストしたい」「仮説を立ててテストしたい」「バリアントを比較」等のリクエストで発動。 トラッキング実装は analytics-tracking を参照。
Open skill - /agent-designer
マルチエージェントシステムのアーキテクチャ設計ツールキット。 「エージェントを設計して」「マルチエージェント構成」「エージェントのアーキテクチャ」「オーケストレーション設計」等のリクエストで発動。
Open skill - /analytics-tracking
アナリティクスのトラッキング設定・改善・監査を支援するスキル。 「トラッキングを設定」「GA4を導入」「コンバージョン計測」「イベントトラッキング」「UTMパラメータ」「GTMの設定」等のリクエストで発動。 A/Bテスト計測は ab-test-setup を参照。
Open skill - /article-writer
テーマからアウトライン生成→文体プロファイル適用→Markdown記事出力を行う記事執筆スキル。 挿絵マーカーの自動挿入、style-analyzerプロファイル参照による文体統一に対応。 「記事を書いて」「ブログ作成」「テーマで記事生成」等のリクエストで発動。
Open skill - /banner-creator
各種SNS・広告プラットフォーム向けのバナー/クリエイティブを生成するスキル。 X, Facebook, Instagram, PRTimes, YouTube, LINE, Web広告に対応。 「バナーを作って」「広告画像を生成」「SNS用の画像」「クリエイティブ制作」等のリクエストで発動。
Open skill - /bigquery-auth
GCPプロジェクト単位でBigQuery認証を設定するスキル。 gcloud設定プロファイルで複数プロジェクトを安全に分離管理。 「BigQueryに繋ぎたい」「BQ認証」「gcloud認証」「データ分析の認証設定」等のリクエストで発動。
Open skill

