Install
$ agentstack add skill-taktamur-claude-code-skills-mgc-todo ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
MGC TODO マネージャー
概要
mgc (Microsoft Graph CLI) コマンドラインツールを使用してMicrosoft To Doタスクを管理する。このスキルは、一般的なTODO操作のワークフローとヘルパーツールを提供し、カレンダー計画、プロジェクト管理、日常活動の調整など、他のワークフローとタスク管理を簡単に統合できるようにする。
このスキルを使用するタイミング
以下の場合にこのスキルを使用する:
- TODOタスクやリストを一覧表示する
- タスクを作成、更新、完了する
- TODOをカレンダーや他ツールと統合する
- 利用可能な時間に基づいて日々の活動を計画する
- プログラム的にタスクワークフローを管理する
- タスクの一括操作(フィルタリング、複数タスクの更新)
一般的なシナリオ:
- 「今日のTODOタスクを表示して」
- 「食料品を買うタスクを作成して」
- 「『レポート完成』タスクを完了にして」
- 「次の2時間でできるタスクは何?」
- 「明日のカレンダーイベントに基づいてタスクを追加して」
前提条件
このスキルを使用する前に、mgcがインストールされ認証されていることを確認する:
# mgcのインストール(まだの場合)
# 参照: https://learn.microsoft.com/en-us/graph/cli/installation
# 必要なスコープで認証
mgc login --scopes User.Read Tasks.ReadWrite
主要な操作
1. TODOリストの一覧表示
利用可能なすべてのTODOリストを表示する:
mgc me todo lists list
デフォルトリストはレスポンスに "wellknownListName": "defaultList" が含まれている。
ヘルパースクリプトを使用する場合:
python scripts/mgc_todo_helper.py list-lists
一般的なワークフロー:
- すべてのTODOリストを一覧表示
- 名前または
wellknownListNameで目的のリストを特定 - 後続の操作で使用するために
idフィールドを抽出 - デフォルトリストで作業する場合、ヘルパースクリプトを使用すると自動的に検出される
2. タスクの一覧表示
デフォルトリストからすべてのタスクを一覧表示:
python scripts/mgc_todo_helper.py list-tasks
特定のリストからタスクを一覧表示:
python scripts/mgc_todo_helper.py list-tasks --list-id "AQMk..."
ステータスでフィルタ:
# 未完了タスクのみ
python scripts/mgc_todo_helper.py list-tasks --status notStarted
# 完了済みタスクのみ
python scripts/mgc_todo_helper.py list-tasks --status completed
# 進行中タスク
python scripts/mgc_todo_helper.py list-tasks --status inProgress
mgcコマンドを直接使用:
mgc me todo lists tasks list --todo-task-list-id ""
jqでフィルタリング:
# 高優先度の未完了タスク
mgc me todo lists tasks list --todo-task-list-id "" | \
jq '.value[] | select(.status == "notStarted" and .importance == "high")'
# 今日または期限切れのタスク
TODAY=$(date -u +%Y-%m-%d)
mgc me todo lists tasks list --todo-task-list-id "" | \
jq --arg today "$TODAY" '.value[] | select(.dueDateTime.dateTime " --body '{
"title": "プロジェクト会議",
"body": {
"content": "Q4の進捗報告を準備",
"contentType": "text"
},
"importance": "high",
"isReminderOn": true,
"reminderDateTime": {
"dateTime": "2025-10-25T09:00:00.0000000",
"timeZone": "Asia/Tokyo"
},
"dueDateTime": {
"dateTime": "2025-10-25T14:00:00.0000000",
"timeZone": "Asia/Tokyo"
}
}'
4. タスクの更新
タイトルを更新:
python scripts/mgc_todo_helper.py update-task --task-id "AQMk..." --title "新しいタイトル"
説明を更新:
python scripts/mgc_todo_helper.py update-task --task-id "AQMk..." --body "更新された説明"
ステータスを変更:
python scripts/mgc_todo_helper.py update-task --task-id "AQMk..." --status inProgress
複数フィールドを更新:
python scripts/mgc_todo_helper.py update-task \
--task-id "AQMk..." \
--title "更新されたタスク" \
--body "新しい説明" \
--status inProgress
5. タスクの完了
完了としてマーク:
python scripts/mgc_todo_helper.py complete-task --task-id "AQMk..."
update-taskを使用:
python scripts/mgc_todo_helper.py update-task --task-id "AQMk..." --status completed
6. タスクの削除
python scripts/mgc_todo_helper.py delete-task --task-id "AQMk..."
統合ワークフロー
ワークフロー1: カレンダーと組み合わせた日次計画
TODOとカレンダーイベントを組み合わせる場合:
- 今日のカレンダーイベントを取得(カレンダーツール/スキルを使用)
- 未完了のTODOタスクを一覧表示:
``bash python scripts/mgc_todo_helper.py list-tasks --status notStarted ``
- カレンダーイベント間の利用可能時間を分析
- 利用可能な時間枠に収まるタスクを提案
- 必要に応じて新しいタスクを作成(カレンダーの予定に基づく)
- カレンダーの緊急度に基づいてタスクの優先度を更新
プロンプト例: 「今日のカレンダーとTODOリストを表示して、空き時間に完了できるタスクを提案して」
ワークフロー2: タスク完了レビュー
1日または1週間の終わりに:
- 完了したタスクを一覧表示:
``bash python scripts/mgc_todo_helper.py list-tasks --status completed ``
- 達成事項をレビュー
- 残りの未完了タスクを一覧表示:
``bash python scripts/mgc_todo_helper.py list-tasks --status notStarted ``
- 残りのタスクの優先度を再設定またはスケジュール変更
ワークフロー3: タスクの一括管理
複数のタスクを管理する場合:
- すべてのタスクを一覧表示し、必要に応じてフィルタ
- タスクIDを抽出(jqなどのツールを使用)
- タスクをループ処理して一括操作:
``bash # 例: すべての期限切れタスクを高優先度としてマーク mgc me todo lists tasks list --todo-task-list-id "" | \ jq -r '.value[] | select(.dueDateTime.dateTime " | \ jq -r '.value[].id' | \ while read task_id; do python scripts/mgc_todo_helper.py update-task --task-id "$task_id" --status notStarted echo "✓ Updated: $task_id" done ``
- 完了状態のタスクのみをクリアする場合:
``bash # 完了済みタスクのみを未完了に戻す python scripts/mgc_todo_helper.py list-tasks --list-id "" --status completed | \ jq -r '.value[].id' | \ while read task_id; do python scripts/mgc_todo_helper.py update-task --task-id "$task_id" --status notStarted done ``
実用例:
# 「出勤リスト 2025」のチェックを全てクリア
LIST_ID="AQMkADAwATYwMAItODQ2Zi1kZAA1OC0wMAItMDAKAC4AAAMs14Xqqux2Q4pIBDgCp60JAQAWnHKFZriMTJXBoTlBdANNAAfeceN0AAAA"
python scripts/mgc_todo_helper.py list-tasks --list-id "$LIST_ID" | \
jq -r '.value[].id' | \
while read task_id; do
python scripts/mgc_todo_helper.py update-task --task-id "$task_id" --status notStarted
done
注意事項:
- この操作はリスト内の全タスクを未完了にするため、意図しないタスクまで変更しないよう、事前にリストIDが正しいことを確認すること
- 大量のタスクがある場合は、APIレート制限に注意
ヘルパースクリプトリファレンス
scripts/mgc_todo_helper.py スクリプトは一般的な操作の便利なラッパーを提供する:
コマンド:
list-lists- すべてのTODOリストを一覧表示list-tasks- オプションのフィルタリング付きでタスクを一覧表示create-task- 新しいタスクを作成update-task- タスクプロパティを更新complete-task- タスクを完了としてマークdelete-task- タスクを削除
主な機能:
- 指定がない場合、デフォルトリストIDを自動的に検出
- mgcコマンドのJSON形式を処理
- ステータスによるフィルタリング提供
- 明確なCLIインターフェースで一般的な操作を簡素化
完全な使用方法を表示:
python scripts/mgc_todo_helper.py --help
高度なトピック
チェックリストアイテムの操作
タスクにはサブタスク(チェックリストアイテム)を持つことができる。詳細なAPIリファレンスは references/mgc_api.md を参照。
チェックリストアイテムを一覧表示:
mgc me todo lists tasks checklist-items list \
--todo-task-list-id "" \
--todo-task-id ""
チェックリストアイテムを作成:
mgc me todo lists tasks checklist-items create \
--todo-task-list-id "" \
--todo-task-id "" \
--body '{"displayName": "サブタスク1"}'
「今日の予定」(My Day)への対応
重要な制限事項: Microsoft To Doの「今日の予定」(My Day)機能は、Microsoft Graph API(mgcが使用)で直接サポートされていません(2024年時点)。APIを通じて直接タスクを「今日の予定」に追加することはできません。
回避策: タスクを今日のタスクとして扱いたい場合は、dueDateTimeを今日の日付に設定します:
# 今日の日付(例: 2025-11-22)を期限に設定
python scripts/mgc_todo_helper.py create-task "掃除" --due-date "2025-11-22"
python scripts/mgc_todo_helper.py create-task "洗濯" --due-date "2025-11-22"
この方法により:
- Microsoft To Doアプリで今日が期限のタスクとして表示される
- タスクが今日完了すべきものとして明確になる
- 必要に応じて、アプリから手動で「今日の予定」に追加できる
複数のタスクを一度に作成する例:
# 日常的なタスクを今日の期限で作成
for task in "掃除" "洗濯" "食器洗い"; do
python scripts/mgc_todo_helper.py create-task "$task" --due-date "$(date +%Y-%m-%d)"
done
日付と時刻の処理
すべての日付はISO 8601形式を使用:
日付のみ: "2025-10-25"
DateTimeオブジェクト:
{
"dateTime": "2025-10-25T09:00:00.0000000",
"timeZone": "Asia/Tokyo"
}
一般的なタイムゾーン:
UTC- 協定世界時Asia/Tokyo- 日本標準時America/New_York- 東部標準時
パフォーマンスの考慮事項
- ページネーション: 大きなタスクリストはページ分割される;レスポンスの
@odata.nextLinkを確認 - レート制限: 過度に急速なAPI呼び出しを避ける
- キャッシング: API呼び出しを減らすためリストIDのキャッシュを検討
- 一括操作: 個別呼び出しではなく、一括操作にはスクリプトを使用
リソース
scripts/mgctodohelper.py
mgc TODO操作の便利なラッパー関数を提供するPythonヘルパースクリプト。以下を含む:
- デフォルトリストの自動検出
- 簡略化されたコマンドラインインターフェース
- mgcコマンドのJSON処理
- ステータスフィルタリング機能
直接実行するか、カスタムスクリプトで関数をインポートして使用。
references/mgc_api.md
mgc TODOコマンドの包括的なリファレンスドキュメント。以下を含む:
- 完全なコマンド構文
- レスポンス構造の詳細
- jqを使用した高度なフィルタリング
- エラーハンドリングパターン
- ベストプラクティスと一般的なパターン
- APIの制限と考慮事項
複雑な操作に詳細なAPI情報が必要な場合にこのリファレンスを読み込む。
トラブルシューティング
認証エラー:
# 適切なスコープで再認証
mgc login --scopes User.Read Tasks.ReadWrite
リストIDが見つからない:
- リストが存在することを確認:
mgc me todo lists list - リストIDのタイポをチェック
- ヘルパースクリプトを使用してデフォルトリストを自動検出
タスクが更新されない:
- タスクIDが正しいことを確認
- 書き込み権限があることをチェック
- mgcコマンドでJSON形式が有効であることを確認
日付形式エラー:
- ISO 8601形式を使用: 日付は
YYYY-MM-DD - DateTimeオブジェクトにはタイムゾーンを含める
- 日付/時刻フィールドの適切なJSON構造を確認
ベストプラクティス
- 一般的な操作にはヘルパースクリプトを使用して複雑さを軽減
- 可能な限りデフォルトリストで作業してリストID管理を回避
- ステータスと重要度を使用して早期にタスクをフィルタして処理を削減
- 時間的制約のあるタスクには期限を設定して優先度付けを改善
- 明確なタイトルを使用してタスクを明確に説明
- コンテキスト付きの説明を追加して後でタスクを実行可能にする
- 他のツールと組み合わせる(カレンダー、メール)包括的な生産性向上のため
- 定期的にレビューしてタスクリストを最新かつ関連性のある状態に保つ
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: taktamur
- Source: taktamur/claude-code-skills
- License: CC0-1.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.