rtjowo/openclaw-with-apple/archive-full-version
Claude Code and agent skill by rtjowo/openclaw-with-apple
- community
Checking that the SKILL.md file is still in the repository.
Apple iCloud 全功能访问 + Apple Health 深度健康分析 + 双向待办同步
Install
npx vskill@latest install rtjowo/openclaw-with-apple/archive-full-versionSKILL.md
⛔ 铁律(最高优先级,必须无条件遵守)
用户在对话中提到任何行动事项(吃饭、开会、洗车、取快递等)或知识笔记时,你必须:
- 立刻运行命令写入,不要口头回复"好的"然后什么都不做。
- 不要反问"几点?""要我记吗?""记到哪儿?"——用户说了就是指令,直接执行。
- 不要编造用户没说的信息(比如自己编一个时间)。
- 先执行命令,再回复用户。
该运行什么命令?
| 用户说的话 | 要运行的命令 | 说明 | |
|---|---|---|---|
| "明天去吃烤肉"(行动,无具体时间) | python tasks_tool.py add "吃烤肉" --date tomorrow --target reminder | 只写提醒事项JSON,不写日历 | |
| "明天2点开会"(行动,有具体时间) | python tasks_tool.py add "开会" --date tomorrow --time 14:00 --target reminder + python icloud_calendar.py new tomorrow 14:00 15:00 "开会" | 写提醒事项JSON + 写日历 | |
| "记一下:React useEffect空数组只执行一次"(笔记) | python tasks_tool.py add "React笔记" --target note --notes "useEffect空数组只执行一次" | 只写备忘录JSON |
回复话术
- 写了提醒事项:"已加到待办文件中,今晚九点自动同步至提醒事项 ✓"
- 写了提醒事项+日历:"已加到待办文件和日历中,待办今晚九点同步至提醒事项 ✓📅"
- 写了备忘录:"已加到备忘录文件中,今晚九点自动同步至备忘录 ✓"
违反以上任何一条 = 严重错误。
<!-- ═══════════════════════════════════════════════════════════ -->
OpenClaw with Apple
Apple iCloud 服务访问 + Apple Health 深度健康分析 + 双向待办同步(AI→iPhone 提醒事项/备忘录)的 AI Skill。
🎯 Skill 启用引导流程
重要:启用此 Skill 后,请严格按照以下流程与用户交互。
第一步:开场 & 收集凭证
Skill 启用后,直接告知用户需要什么、怎么拿:
用户只提供了应用专用密码:
设置环境变量并验证日历:
验证成功后进入第二步。
用户提供了邮箱 + 主密码:
AI 直接通过环境变量设置凭证并登录,全程非交互式:
脚本会自动判断是否需要双重认证:
- 不需要 2FA → 直接登录成功
- 需要 2FA(退出码 2)→ AI 立刻告知用户:
用户发来验证码后,AI 执行:
认证成功后 session 会被缓存到~/.pyicloud/,后续使用不再需要密码。
验证成功后,进入第二步。
第二步:依次询问并引导三个功能配置
iCloud 登录完成后,依次询问用户是否需要以下三个功能。每个功能独立引导,用户可以选择全部启用或部分启用。
🏥 Health 健康分析配置
先询问:
用户需要时,发送以下引导:
AI 执行服务端配置(用户确认已完成 iPhone 端步骤后):
📋 提醒事项(Tasks)配置
用户需要时,发送以下引导:
📝 备忘录(Notes)配置
用户需要时,发送以下引导:
配置完成
所有功能配置完成后:
💡 AI 日常行为规则
以下规则是对顶部铁律的详细补充。铁律优先级最高。
用户问"xx怎么用"时
当用户问某个功能怎么用、或者第一次使用某功能时,必须先引导用户完成 iPhone 端配置(参考上方对应功能的配置引导),不能直接教用法就完事。
Tasks 相关
- 主动识别(最重要):用户说的话只要涉及以下任何一种,必须立即自动存储,无需用户明确说"帮我记":
- 提醒类:开会、约会、取快递、交报告、还书、打电话、买东西、预约、面试、截止日期等
- 备忘类:笔记、想法、灵感、总结、读书笔记、会议纪要、学到的东西、要查的资料等
- 判断标准:如果这句话明天可能有用或需要被记住,就存
- 不存的情况:纯闲聊、问答、技术讨论、写代码、改 bug 等不涉及行动或记忆的对话
- 三种存储目标的判断规则(核心,严格执行):
用户说了一句话后,按以下决策树判断写入哪里,并实际运行对应命令:
`` 用户说的内容是什么类型? │ ├─ 行动/事件类(开会、洗车、吃饭、取快递...) │ │ │ ├─ 有具体时间点("2点"、"14:00"、"早上8点") │ │ → ✅ 实际运行: python tasks_tool.py add "xxx" --date xxx --time xx:xx --target reminder │ │ → ✅ 实际运行: python icloud_calendar.py new xxx xx:xx xx:xx "xxx" │ │ │ └─ 没有具体时间点("明天"、"晚上"、"下周"等模糊时间) │ → ❌ 不写日历(严禁编造时间!) │ → ✅ 实际运行: python tasks_tool.py add "xxx" --date xxx --target reminder │ └─ 知识/笔记/记录类("记一下xxx"、想法、灵感、纪要、学到的东西...) → ❌ 不写日历 → ❌ 不写提醒事项 → ✅ 实际运行: python tasks_tool.py add "xxx" --target note --notes "内容" ``
⛔ 严禁行为:
- 用户没说几点,AI 自己脑补一个时间写进日历(如把"明天去洗车"变成"14:00 洗车")
- 不执行任何命令,只在回复文字中说"已添加"或列日程表(这是欺骗用户!)
✅ 完整示例(含实际要执行的命令):
| 用户说的话 | 必须执行的命令 | |
|---|---|---|
| "明天2点开会" | python tasks_tool.py add "开会" --date tomorrow --time 14:00 --target reminder + python icloud_calendar.py new tomorrow 14:00 15:00 "开会" | |
| "明天去洗车" | python tasks_tool.py add "洗车" --date tomorrow --target reminder(不写日历) | |
| "明天晚上去开会" | python tasks_tool.py add "开会" --date tomorrow --target reminder("晚上"不是具体时间,不写日历) | |
| "记一下:useEffect依赖数组为空时只执行一次" | python tasks_tool.py add "useEffect笔记" --target note --notes "依赖数组为空时只执行一次" |
- 智能解析:从自然语言中提取日期("明天"、"下周三")、时间("下午2点")、优先级("重要"→high)
- 主动确认:命令执行成功后,简短确认告知用户:
- 写了提醒事项:"已加到待办文件中,今晚九点自动同步至提醒事项 ✓"
- 写了提醒事项+日历:"已加到待办文件和日历中,待办今晚九点同步至提醒事项 ✓📅"
- 写了备忘录:"已加到备忘录文件中,今晚九点自动同步至备忘录 ✓"
- 必须如实告知,不能说加了日历但实际没加,也不能没说几点就偷偷加日历
- 合并整理:用户说"帮我看看明天的待办"时,调用
tasks_tool.py list --date tomorrow - 手动同步:用户说"现在就推送到手机"时,调用
tasks_tool.py sync(不等定时任务)
Health 相关
同样遵守铁律:用户问健康相关问题时,直接运行分析命令,不要反问"你想分析哪天的?"——默认分析今天,用户没指定就用最新数据。
- 定时报告:在用户设定的报告时间,自动读取 iCloud Drive 中最新的健康数据文件并生成深度分析
- 文件路径:
~/Library/Mobile Documents/com~apple~CloudDocs/Shortcuts/Health/health_YYYY-MM-DD.txt - 分析命令:
python scripts/health_tool.py analyze <file>或python scripts/health_tool.py today - 用户主动询问:随时可以问健康相关问题,AI 自动读取对应日期的数据分析
- 多日趋势:
python scripts/health_tool.py report <dir> --days 7
iCloud 相关
- 用户提到日历、照片、文件、设备时,直接调用对应工具执行
- 任何 iCloud 操作报错时,必须先运行 `python scripts/icloud_auth.py status` 检查 session 状态
- 如果 session 过期或不存在,立即告知用户需要重新登录,并给出具体步骤:
`` iCloud 登录已过期,需要重新登录: 请提供你的 Apple ID 邮箱和密码,我来帮你登录。 ``
- 用户提供凭证后,运行
python icloud_tool.py login,如需 2FA 则让用户发验证码,再运行python icloud_tool.py verify <验证码> - Find My 只能定位 Apple 设备(iPhone/iPad/Mac/AirTag),无法定位安卓/华为等非 Apple 设备
- 照片显示异常:如果
photos list返回的是很久以前的照片(不是最近的),说明 session 或 pyicloud 版本有问题。解决方案:
- 确认环境变量
ICLOUD_CHINA=1已设置(中国大陆用户必须) - 重新登录:
python icloud_tool.py login+verify - 检查 pyicloud 版本:
pip install --upgrade pyicloud
📋 功能参考
🍎 Apple iCloud
照片
iCloud Drive
设备列表
查找设备 (Find My)
日历 (CalDAV)
选项: --calendar/-c 指定日历, --location/-l 地点, --description/-d 描述
Session 管理
📋 待办同步 (Tasks)
管理待办
选项: --date 日期, --time 时间, --priority high/medium/low, --notes 备注, --target reminder/note, --list 列表名
同步
定时任务
数据流
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingarchive-full-version/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/rtjowo/openclaw-with-apple/archive-full-version)