{
  "schemaVersion": "1.0",
  "item": {
    "slug": "owa-outlook",
    "name": "OWA Outlook 日历+邮件",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/ilove323/owa-outlook",
    "canonicalUrl": "https://clawhub.ai/ilove323/owa-outlook",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/owa-outlook",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=owa-outlook",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "login.py",
      "owa_calendar.py",
      "owa_mail.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/owa-outlook"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/owa-outlook",
    "agentPageUrl": "https://openagent3.xyz/skills/owa-outlook/agent",
    "manifestUrl": "https://openagent3.xyz/skills/owa-outlook/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/owa-outlook/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "触发条件",
        "body": "日历：今天/明天/本周有什么安排、会议、日程、任务、工作\n邮件：有没有新邮件、未读邮件、查收件箱、搜索邮件"
      },
      {
        "title": "首次配置",
        "body": "敏感信息存放在 ~/.outlook/，不在 skill 目录内。"
      },
      {
        "title": "1. 创建配置文件",
        "body": "// ~/.outlook/config.json\n{\n  \"email\": \"your@company.com\",\n  \"password\": \"your_password\",\n  \"cookie_file\": \"/root/.outlook/cookies.json\",\n  \"cookie_max_age_days\": 7,\n  \"mfa_type\": \"authenticator_number_match\"\n}"
      },
      {
        "title": "2. 安装依赖",
        "body": "pip install playwright requests\nplaywright install chromium"
      },
      {
        "title": "3. 首次登录（MFA）",
        "body": "cd ~/.agents/skills/owa-outlook\npython login.py\n\n脚本输出 [NUMBER:XX] 时，在 Microsoft Authenticator App 输入数字 XX 并批准。"
      },
      {
        "title": "日历用法",
        "body": "cd ~/.agents/skills/owa-outlook\npython owa_calendar.py --today\npython owa_calendar.py --tomorrow\npython owa_calendar.py --week\npython owa_calendar.py --month 2026-03\npython owa_calendar.py --range 2026-03-01 2026-03-31\n\n注意：API 返回时间为 UTC，需 +8 转换为上海时间。"
      },
      {
        "title": "邮件用法",
        "body": "cd ~/.agents/skills/owa-outlook\npython owa_mail.py --unread              # 未读邮件（默认最近20封）\npython owa_mail.py --today               # 今天收到的邮件\npython owa_mail.py --limit 50            # 最近50封\npython owa_mail.py --search \"关键词\"     # 搜索主题/发件人\npython owa_mail.py --folder Inbox        # 指定文件夹\npython owa_mail.py --json                # JSON 格式输出"
      },
      {
        "title": "认证说明",
        "body": "Token 过期（1小时）→ 自动续，无感知\nCookie 过期 → 自动重新登录，输出 [MFA] 请在 Authenticator 选择数字：【XX】，你在手机上批准即可，脚本自动继续"
      },
      {
        "title": "文件结构",
        "body": "~/.agents/skills/owa-outlook/\n├── SKILL.md\n├── login.py          # MFA 登录\n├── owa_calendar.py   # 日历读取\n└── owa_mail.py       # 邮件读取\n\n~/.outlook/\n├── config.json       # 账号密码\n├── cookies.json      # 登录 Cookie\n└── token.json        # Bearer Token 缓存"
      }
    ],
    "body": "OWA Outlook 技能（日历 + 邮件）\n触发条件\n日历：今天/明天/本周有什么安排、会议、日程、任务、工作\n邮件：有没有新邮件、未读邮件、查收件箱、搜索邮件\n首次配置\n\n敏感信息存放在 ~/.outlook/，不在 skill 目录内。\n\n1. 创建配置文件\n// ~/.outlook/config.json\n{\n  \"email\": \"your@company.com\",\n  \"password\": \"your_password\",\n  \"cookie_file\": \"/root/.outlook/cookies.json\",\n  \"cookie_max_age_days\": 7,\n  \"mfa_type\": \"authenticator_number_match\"\n}\n\n2. 安装依赖\npip install playwright requests\nplaywright install chromium\n\n3. 首次登录（MFA）\ncd ~/.agents/skills/owa-outlook\npython login.py\n\n\n脚本输出 [NUMBER:XX] 时，在 Microsoft Authenticator App 输入数字 XX 并批准。\n\n日历用法\ncd ~/.agents/skills/owa-outlook\npython owa_calendar.py --today\npython owa_calendar.py --tomorrow\npython owa_calendar.py --week\npython owa_calendar.py --month 2026-03\npython owa_calendar.py --range 2026-03-01 2026-03-31\n\n\n注意：API 返回时间为 UTC，需 +8 转换为上海时间。\n\n邮件用法\ncd ~/.agents/skills/owa-outlook\npython owa_mail.py --unread              # 未读邮件（默认最近20封）\npython owa_mail.py --today               # 今天收到的邮件\npython owa_mail.py --limit 50            # 最近50封\npython owa_mail.py --search \"关键词\"     # 搜索主题/发件人\npython owa_mail.py --folder Inbox        # 指定文件夹\npython owa_mail.py --json                # JSON 格式输出\n\n认证说明\nToken 过期（1小时）→ 自动续，无感知\nCookie 过期 → 自动重新登录，输出 [MFA] 请在 Authenticator 选择数字：【XX】，你在手机上批准即可，脚本自动继续\n文件结构\n~/.agents/skills/owa-outlook/\n├── SKILL.md\n├── login.py          # MFA 登录\n├── owa_calendar.py   # 日历读取\n└── owa_mail.py       # 邮件读取\n\n~/.outlook/\n├── config.json       # 账号密码\n├── cookies.json      # 登录 Cookie\n└── token.json        # Bearer Token 缓存"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ilove323/owa-outlook",
    "publisherUrl": "https://clawhub.ai/ilove323/owa-outlook",
    "owner": "ilove323",
    "version": "1.0.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/owa-outlook",
    "downloadUrl": "https://openagent3.xyz/downloads/owa-outlook",
    "agentUrl": "https://openagent3.xyz/skills/owa-outlook/agent",
    "manifestUrl": "https://openagent3.xyz/skills/owa-outlook/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/owa-outlook/agent.md"
  }
}