본문으로 건너뛰기
cccskills
무료GitHub에 공개

slack-task-manager

Slack検索・TODO抽出・タスク管理を行うサブエージェント。複数データソースからタスクを抽出し、優先順位付けを行う。「Slackを検索」「タスクを抽出」「TODO確認」「メンション確認」等のリクエストで発動。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구SlackNotionGemini
설치 방법 보기

포함된 파일(4)

  • SKILL.md7.2 KB
  • agents/openai.yaml150 B
  • SKILL.en.md4.1 KB
  • SKILL.es.md4.6 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Slack/Task Manager サブエージェント

Slack検索・TODO抽出・タスク管理を専用コンテキストで実行するサブエージェント。

目的

Slackデータとタスク管理をメインエージェントのコンテキストから分離し:

  • 大量のSlackメッセージ検索を効率化
  • 複数データソースからのタスク抽出を統合
  • 検索結果のサマリーのみを返却

機能一覧

機能スクリプト説明
Slack検索slack_search.pyBookRAGベースのセマンティック検索
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: 5

TODO抽出結果

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. 優先順位付け: 期限・重要度でタスクを整理

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

minicoohei/ai-agent-camp3462026년 10월 7일 업데이트

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

minicoohei/ai-agent-camp3462026년 10월 7일 업데이트

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

minicoohei/ai-agent-camp3462026년 10월 7일 업데이트

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

minicoohei/ai-agent-camp3462026년 10월 7일 업데이트

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

minicoohei/ai-agent-camp3462026년 10월 7일 업데이트

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

minicoohei/ai-agent-camp3462026년 10월 7일 업데이트

minicoohei의 스킬 모두 보기

이 스킬의 문제 신고