Token导航 LogoToken导航

Agent Skill · 开发

microsoft-graph-todo(微软图表待办事项)

microsoft-graph-todo 用于补充开发相关能力,适合在 OpenClaw 中需要让 Agent 承接开发相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

microsoft-graph-todo 是开发类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为接触敏感数据;许可证为 MIT-0,第三方扫描已通过,按安装量在开发类的 21,746 个 Skill 里排第 4,326。

总安装 8,506周安装 358GitHub Stars 公开资料未说明下载 2,979核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.1

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:microsoft-graph-todo(微软图表待办事项)
来源仓库:https://github.com/karthidreamr/microsoft-graph-todo
安装命令:
openclaw skills install microsoft-graph-todo
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install microsoft-graph-todo

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

通过 Microsoft Graph 的 Microsoft 待办事项。列出任务列表、读取任务、创建任务、更新任务以及将任务标记为完成。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install microsoft-graph-todo;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

microsoft-graph-todo 怎么安装?

在终端执行 openclaw skills install microsoft-graph-todo。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

microsoft-graph-todo 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

microsoft-graph-todo 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

microsoft-graph-todo 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

microsoft-graph-todo 用的人多吗?

公开数据是累计安装 8,506 次,近一周安装 358 次,下载 2,979 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

microsoft-graph-todo 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
microsoft-graph-todo

微软图表待办事项 · 本页

8,506—接触敏感数据MIT-0通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
microsoft-todo
description
Microsoft To Do via Microsoft Graph. List task lists, read tasks, create tasks, update tasks, and mark tasks complete.
metadata
openclaw
category
productivity
primaryEnv
MS_TODO_CLIENT_ID
requires
bins
["python3"]
env
["MS_TODO_CLIENT_ID", "MS_TODO_TENANT_ID"]

microsoft-todo

Use Microsoft Graph To Do endpoints for personal task lists and tasks.

When to Use

Use this skill when the user wants to:

  • list Microsoft To Do task lists
  • read tasks from a list
  • create, update, complete, or delete tasks
  • authenticate a Microsoft personal account or Entra-backed account for To Do

Do not use this skill for:

  • Outlook mail APIs unrelated to To Do
  • app-only Graph auth flows
  • non-Microsoft task systems

Inputs Needed

  • client_id from an Entra app registration
  • tenant_id for work/school accounts, or consumers for personal Outlook/Hotmail/Live accounts
  • delegated Graph permissions: Tasks.ReadWrite

Secret and Config Storage

Use the OS-native user config directory as the default. That matches common cross-platform practice and keeps secrets out of shell startup files.

Default config locations:

  • Linux: $XDG_CONFIG_HOME/microsoft-todo or ~/.config/microsoft-todo
  • macOS: ~/Library/Application Support/microsoft-todo
  • Windows: %APPDATA%\\microsoft-todo

Use that config directory for:

  • client_id
  • tenant_id
  • token.json
  • device_code.json

Avoid putting bearer tokens or refresh tokens in:

  • ~/.bashrc
  • ~/.zshrc
  • committed .env files

For quick local-only usage, the bundled Python helper also loads scripts/.env if it exists. That is an override path, not the primary default for published usage.

Supported environment overrides:

  • MS_TODO_TENANT_ID
  • MS_TODO_CLIENT_ID
  • MS_TODO_CONFIG_DIR
  • MS_TODO_TOKEN_FILE
  • MS_TODO_DEVICE_FILE

Auth Model

Microsoft To Do on Graph uses delegated permissions. Authenticate as a signed-in user with device-code flow.

Required delegated permissions:

  • Tasks.Read
  • Tasks.ReadWrite
  • optional offline_access

Create a Microsoft Entra app registration, then store its IDs locally:

mkdir -p ~/.config/microsoft-todo
echo "YOUR_TENANT_ID_OR_consumers" > ~/.config/microsoft-todo/tenant_id
echo "YOUR_CLIENT_ID" > ~/.config/microsoft-todo/client_id

Where to get them:

  • tenant_id: Azure Portal -> Microsoft Entra ID -> Overview -> Tenant ID
  • client_id: Azure Portal -> Microsoft Entra ID -> App registrations -> your app -> Application (client) ID
  • For personal Microsoft accounts, use consumers instead of the directory tenant ID in auth URLs

Authentication requirements in Entra:

  • In Authentication, set Allow public client flows to Yes
  • If shown, under Mobile and desktop applications, enable the platform and keep public client flows enabled
  • Device-code flow will fail with AADSTS7000218 if the app is still treated as a confidential client
  • For personal Microsoft accounts, set supported account types to include personal accounts

Bundled helper:

  • scripts/ms_todo_auth.py handles device-code auth, token polling, refresh-token exchange, access-token output, and resolved path inspection

Optional local override file:

  • scripts/.env.example shows the supported variables for a portable setup
  • copy it to scripts/.env only if you explicitly want local overrides

Get an Access Token

Create the default config directory and store the app IDs:

python3 scripts/ms_todo_auth.py show-paths

Then place:

  • tenant_id in the reported tenant_file
  • client_id in the reported client_file

Request a device code:

python3 scripts/ms_todo_auth.py device-code

The response includes user_code, verification_uri, and device_code, and saves the full payload to device_code.json.

Open the verification_uri, enter the user_code, sign in, then poll for tokens:

python3 scripts/ms_todo_auth.py poll-token

This saves the full token response to token.json but does not echo raw token JSON with bearer or refresh secrets to stdout.

Refresh later when needed:

python3 scripts/ms_todo_auth.py refresh-token

This also updates token.json without echoing raw token JSON secrets to stdout.

Extract the bearer token when needed:

ACCESS_TOKEN=$(python3 scripts/ms_todo_auth.py access-token)

Do not hardcode access tokens in the skill. They expire.

Example with env-var overrides:

MS_TODO_TENANT_ID=consumers \
MS_TODO_CLIENT_ID="your-client-id" \
python3 scripts/ms_todo_auth.py device-code

Example with portable local overrides in scripts/.env:

MS_TODO_TENANT_ID=consumers
MS_TODO_CLIENT_ID=your-client-id
MS_TODO_CONFIG_DIR=./state

Base Request Pattern

ACCESS_TOKEN=$(python3 scripts/ms_todo_auth.py access-token)

curl -s "https://graph.microsoft.com/v1.0/me/todo/lists" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" | jq

Common Operations

List task lists

curl -s "https://graph.microsoft.com/v1.0/me/todo/lists" \
  -H "Authorization: Bearer $ACCESS_TOKEN" | jq

Get one task list

LIST_ID="your-list-id"

curl -s "https://graph.microsoft.com/v1.0/me/todo/lists/$LIST_ID" \
  -H "Authorization: Bearer $ACCESS_TOKEN" | jq

List tasks in a list

LIST_ID="your-list-id"

curl -s "https://graph.microsoft.com/v1.0/me/todo/lists/$LIST_ID/tasks" \
  -H "Authorization: Bearer $ACCESS_TOKEN" | jq

Create a task

LIST_ID="your-list-id"

curl -s -X POST "https://graph.microsoft.com/v1.0/me/todo/lists/$LIST_ID/tasks" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Buy milk",
    "importance": "normal"
  }' | jq

Update a task

LIST_ID="your-list-id"
TASK_ID="your-task-id"

curl -s -X PATCH "https://graph.microsoft.com/v1.0/me/todo/lists/$LIST_ID/tasks/$TASK_ID" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Buy milk and eggs",
    "status": "inProgress"
  }' | jq

Mark a task complete

LIST_ID="your-list-id"
TASK_ID="your-task-id"

curl -s -X PATCH "https://graph.microsoft.com/v1.0/me/todo/lists/$LIST_ID/tasks/$TASK_ID" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "completed"
  }' | jq

Delete a task

LIST_ID="your-list-id"
TASK_ID="your-task-id"

curl -i -X DELETE "https://graph.microsoft.com/v1.0/me/todo/lists/$LIST_ID/tasks/$TASK_ID" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

Notes

  • To Do is user-scoped. Use delegated auth, not app-only auth.
  • Hardcoding tenant_id and client_id is acceptable for a personal setup, but store them in the platform config directory unless you intentionally choose scripts/.env for a local portable copy.
  • A bearer token comes from the token endpoint after device-code sign-in. It is not shown in the Azure dashboard.
  • If you want automatic renewal, save the refresh token from token.json and exchange it for a new access token later.
  • poll-token and refresh-token persist the full token payload to token.json; stdout is summarized so raw token JSON secrets are not printed.
  • For personal Outlook/Hotmail/Live accounts, set tenant_id to consumers for device-code and token requests.

Validation

The skill is working when:

  • python3 scripts/ms_todo_auth.py show-paths reports the expected config locations
  • python3 scripts/ms_todo_auth.py device-code returns a user_code
  • python3 scripts/ms_todo_auth.py poll-token writes the platform config token.json
  • GET /v1.0/me/todo/lists returns a JSON value array

Common Failure Modes

  • AADSTS7000218: app is not configured as a public client
  • AADSTS700016 on consumers: app does not allow personal Microsoft accounts
  • MailboxNotEnabledForRESTAPI: account auth worked, but mailbox/To Do access is not usable for that account/authority combination
  • authorization_pending: complete the device-code sign-in in the browser and retry token polling

Links

  • Graph To Do overview: https://learn.microsoft.com/en-us/graph/api/resources/todo-overview
  • Device code flow: https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-device-code

User Setup Checklist

Before using this skill, do this once in Azure Portal and once on your local machine:

  1. Go to Azure Portal -> Microsoft Entra ID -> App registrations -> New registration.
  2. Name the app something like Microsoft To Do Skill.
  3. Set supported account types to Accounts in any organizational directory and personal Microsoft accounts.
  4. Create the app, then copy the Application (client) ID.
  5. If you want personal Microsoft accounts such as Outlook/Hotmail/Live, use consumers as the tenant value for this skill.
  6. If you only want a specific work or school tenant, use that Entra tenant ID instead.
  7. Open the app's Authentication page and enable Allow public client flows.
  8. If Azure shows a Mobile and desktop applications platform section, enable it and keep the app as a public client.
  9. Open API permissions, add Microsoft Graph delegated permissions, and include Tasks.ReadWrite.
  10. Keep offline_access available for refresh-token renewal during device-code auth.
  11. Run python3 scripts/ms_todo_auth.py show-paths to see where this skill expects local config files.
  12. Create the reported tenant_id file and client_id file with your chosen tenant value and copied client ID.
  13. Run python3 scripts/ms_todo_auth.py device-code, open the returned verification_uri, and enter the user_code.
  14. After sign-in completes, run python3 scripts/ms_todo_auth.py poll-token.
  15. Confirm that token.json was written, then use python3 scripts/ms_todo_auth.py access-token or call GET /v1.0/me/todo/lists.

If device-code auth fails, re-check these settings first:

  • account type allows personal accounts if you are using consumers
  • public client flows are enabled
  • Microsoft Graph delegated permission Tasks.ReadWrite is present

平台分布

OpenClaw

76.33%
按下载量换算2,274

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills