TaskMD - タスク管理スキル
TaskMD-Shelf方式に基づいたタスク管理スキルです。1タスク=1Markdownファイルで管理します。
設定
```
TASKS_DIR: /Users/reomatsuda/Documents/personal/500 Tasks
WIP_LIMIT: 5
```
ステータス定義
| ステータス | 意味 | review_date |
|-----------|------|-------------|
| icebox | 検討中・アイデア段階 | 任意 |
| planned | 着手待ち | 必須 |
| in-progress | 実行中 | 不要 |
| on-hold | 一時停止・待ち状態 | 必須 |
| done | 完了 | 不要 |
| cancelled | 中止 | 不要 |
コマンド一覧
タスク追加
**トリガー**: 「タスク追加: [タスク名]」「[タスク名]をタスクに追加」
**処理**:
1. タスクIDを生成: `T{YYYYMMDD}-{連番3桁}`
2. 以下のフロントマターでファイル作成
```yaml
---
task_id: T20250104-001
status: icebox
review_date:
due_date:
waiting_for: ""
tags: []
priority: 0
estimate: ""
created: 2025-01-04T10:00:00
modified: 2025-01-04T10:00:00
---
タスク名
Overview
Goal
Definition of Done
TODO
Links
Notes
```
**ファイル名**: `/Users/reomatsuda/Documents/personal/500 Tasks/{タスク名}.md`
タスク一覧
**トリガー**: 「タスク一覧」「全タスク」
**処理**:
1. `Glob` で `500 Tasks/*.md` を取得
2. `Grep` で各ファイルのステータスを抽出
3. ステータス別にグループ化して表示
**出力形式**:
```
In Progress (2/5)
Planned (3)
On Hold (1)
Icebox (5)
```
進行中タスク
**トリガー**: 「進行中タスク」「WIP」「作業中タスク」
**処理**:
1. `Grep` で `status: in-progress` を検索
2. WIP制限との比較を表示
今日レビュー
**トリガー**: 「今日レビュー」「今日のタスク」「レビュー対象」
**処理**:
1. 今日の日付を取得
2. `Grep` で `review_date: {今日}` を検索
3. planned, on-hold のタスクを表示
ステータス変更
**トリガー**: 「開始: [タスク名]」「完了: [タスク名]」「棚上げ: [タスク名] [日付]」
**処理**:
1. タスクファイルを特定(部分一致で検索)
2. フロントマターの `status` を更新
3. `modified` を現在時刻に更新
4. 必要に応じて `review_date` をクリアまたは設定
**ステータス変更ルール**:
WIP確認
**トリガー**: 「WIP確認」「WIPチェック」
**処理**:
1. in-progress タスク数をカウント
2. WIP_LIMIT (5) と比較
3. 超過時は警告を表示
期限切れ
**トリガー**: 「期限切れ」「オーバーデュー」「遅延タスク」
**処理**:
1. 今日の日付を取得
2. `due_date < 今日` かつ `status != done/cancelled` を検索
タスク詳細
**トリガー**: 「タスク詳細: [タスク名]」「[タスク名]の詳細」
**処理**:
1. タスクファイルを読み込み
2. フロントマターと本文を表示
フロントマター編集時の注意
ファイル操作例
タスクファイル検索
```bash
ステータスで検索
grep -l "status: in-progress" "/Users/reomatsuda/Documents/personal/500 Tasks/"*.md
今日のreview_date検索
grep -l "review_date: 2025-01-04" "/Users/reomatsuda/Documents/personal/500 Tasks/"*.md
```
フロントマター更新パターン
`Read` でファイル内容を取得後、`Edit` で以下を更新:
Obsidian連携
タスクファイルは Obsidian Vault 内に保存されるため:
ダッシュボードの場所: `500 Tasks/_views/dashboard.md`
使用例
例1: 新規タスク追加
```
ユーザー: 「タスク追加: APIドキュメント作成」
実行:
1. タスクID生成: T20250104-001
2. ファイル作成: /Users/reomatsuda/Documents/personal/500 Tasks/APIドキュメント作成.md
3. ステータス: icebox
出力: 「タスク 'APIドキュメント作成' を追加しました (status: icebox)」
```
例2: タスク開始
```
ユーザー: 「開始: APIドキュメント」
実行:
1. 部分一致でファイル検索
2. status を in-progress に変更
3. WIP確認 (3/5 なら OK)
出力: 「'APIドキュメント作成' を開始しました (WIP: 4/5)」
```
例3: 棚上げ
```
ユーザー: 「棚上げ: APIドキュメント 2025-01-10」
実行:
1. status を on-hold に変更
2. review_date を 2025-01-10 に設定
出力: 「'APIドキュメント作成' を棚上げしました (review: 2025-01-10)」
```