Skip to content
Back to skills

Slack Todo Extractor

ASecurity

Slackの同期データからメンションを検索しTODO/タスクを抽出・ステータス判定するスキル。 「Slackからタスク抽出」「TODO確認」「メンション確認」等のリクエストで発動。

  • 348 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 27, 2026
developmentpythonbashapi

Works with

  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add minicoohei/ai-agent-camp --skill slack-todo-extractor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Slack Todo Extractor?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Slack Todo Extractor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/minicoohei-slack-todo-extractor/badge)](https://www.skillsdirectory.com/skills/minicoohei-slack-todo-extractor)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: slack-todo-extractor
description: "Slackの同期データからメンションを検索しTODO/タスクを抽出・ステータス判定するスキル。 「Slackからタスク抽出」「TODO確認」「メンション確認」等のリクエストで発動。"
triggers:
  - Slackからタスク抽出
  - TODO確認
  - メンション確認
  - 宛のタスク
  - Slackの未対応タスク
  - slack-todo-extractor
  - Slack TODO
---

# Slack TODO抽出スキル

## 概要

Slackの同期データ(`slack-sync/data/`)から、特定ユーザー宛のメンションを検索し、スレッド返信を含めてTODO/タスクを抽出・ステータス判定するスキルです。

## クイックスタート

```bash
# 基本(キーワードベース)
uv run python skills/slack-todo-extractor/scripts/extract_todos.py \
  --users "YourName,your-username" \
  --period "2026-01-06:2026-01-08"

# LLMベース(高精度、要GEMINI_API_KEY)
uv run python skills/slack-todo-extractor/scripts/extract_todos.py \
  --users "YourName,your-username" \
  --period "1/6:8" \
  --use-llm
```

## 入力パラメータ

| パラメータ | 必須 | 説明 | 例 |
|-----------|------|------|-----|
| `--users`, `-u` | Yes | 対象ユーザー名(カンマ区切り) | `YourName, your-username` |
| `--period`, `-p` | Yes | 検索期間 | `2026-01-06:2026-01-08` or `1/6:8` |
| `--workspace`, `-w` | No | ワークスペース(省略時は全て) | `my-workspace`, `my-workspace-2` |
| `--use-llm` | No | LLM(Gemini 2.0 Flash)で判定 | - |
| `--output`, `-o` | No | 出力形式 | `markdown`(デフォルト)or `json` |

## 処理フロー

### Step 1: メンション検索
`slack-sync/data/{workspace}/*.md` から `@ユーザー名` を含むメッセージを検索

### Step 2: スレッド返信の確認
各メンションに対して:
- スレッド返信(`> ####` 形式)を抽出
- 同日のチャンネル内後続メッセージを確認

### Step 3: ステータス判定

#### キーワードベース(`--use-llm` なし)
| 条件 | ステータス |
|------|-----------|
| 対象ユーザーが「完了」「対応しました」等 | completed |
| 依頼者が「ありがとう」「確認します」等 | completed |
| 対象ユーザーが「承知」「やります」等 | in_progress |
| 返信なし | pending |

#### LLMベース(`--use-llm` あり)
Gemini 2.0 Flashが文脈を理解して判定:
- 「承知」は受諾であり完了ではない
- 期限が設定されている場合、その期限前は対応中
- 依頼者の確認返信で完了判定

## 環境設定

### GEMINI_API_KEY(LLMモード使用時)

Credential Store に設定:
```bash
uv run python tools/credential_manager.py store GEMINI_API_KEY
```

## 前提条件

- `slack-sync/` のSlack同期が完了していること(`data/slack-sync/` 参照)

## 関連スキル

- `slack-search`: Slackメッセージの全文検索
- `slack-task-manager`: 統合タスク管理

Files in this skill

  • SKILL.en.md2.7 KB
  • SKILL.es.md3.1 KB
  • SKILL.md3 KB
  • agents/openai.yaml243 B
  • scripts/extract_todos.py25.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…