Agently/Skill Store/TaskMDタスク管理

TaskMDタスク管理

TaskMD形式でタスクを管理。追加、一覧表示、ステータス変更に対応

productivityby

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)

  • [ ] タスク名1 (due: 2025-01-10)
  • [ ] タスク名2 (due: 2025-01-15)

  • Planned (3)

  • タスク名3 (review: 2025-01-05)
  • タスク名4 (review: 2025-01-06)

  • On Hold (1)

  • タスク名5 (waiting: メール返信待ち, review: 2025-01-07)

  • Icebox (5)

  • タスク名6, タスク名7, ...
  • ```


    進行中タスク


    **トリガー**: 「進行中タスク」「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` をクリアまたは設定


    **ステータス変更ルール**:

  • `開始` → status: in-progress, review_date: クリア
  • `完了` → status: done, review_date: クリア
  • `棚上げ` → status: on-hold, review_date: 指定日付
  • `計画` → status: planned, review_date: 指定日付
  • `キャンセル` → status: cancelled

  • WIP確認


    **トリガー**: 「WIP確認」「WIPチェック」


    **処理**:

    1. in-progress タスク数をカウント

    2. WIP_LIMIT (5) と比較

    3. 超過時は警告を表示


    期限切れ


    **トリガー**: 「期限切れ」「オーバーデュー」「遅延タスク」


    **処理**:

    1. 今日の日付を取得

    2. `due_date < 今日` かつ `status != done/cancelled` を検索


    タスク詳細


    **トリガー**: 「タスク詳細: [タスク名]」「[タスク名]の詳細」


    **処理**:

    1. タスクファイルを読み込み

    2. フロントマターと本文を表示


    フロントマター編集時の注意


  • `status` 変更時は必ず `modified` も更新
  • `planned`, `on-hold` への変更時は `review_date` 必須
  • `in-progress` への変更時は WIP制限を確認

  • ファイル操作例


    タスクファイル検索


    ```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` で以下を更新:

  • `status: {old}` → `status: {new}`
  • `modified: {old}` → `modified: {現在時刻}`
  • `review_date: {old}` → `review_date: {新日付}` (または削除)

  • Obsidian連携


    タスクファイルは Obsidian Vault 内に保存されるため:

  • Obsidian で直接編集可能
  • Dataview ダッシュボードで一覧表示
  • Templater でテンプレートから新規作成

  • ダッシュボードの場所: `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)」

    ```