Agent Skillsaduermael/herm › apple-context

apple-context

GitHub

该技能用于在用户查询日历、日程、可用性、行程时间或基于当前位置的本地信息(如天气、附近地点)时,调用CPSL的日历和位置模块。它强调权限检查、最小化访问原则及隐私保护,仅在获得明确授权或必要时才请求日历和位置数据。

app/apple/herm/Skills/apple-context/SKILL.md aduermael/herm

触发场景

用户询问日程安排或事件详情 需要计算行程时间或查找附近地点 查询基于当前设备位置的天气或本地上下文

安装

npx skills add aduermael/herm --skill apple-context -g -y
更多选项

非标准路径

npx skills add https://github.com/aduermael/herm/tree/main/app/apple/herm/Skills/apple-context -g -y

不安装直接使用

npx skills use aduermael/herm@apple-context

指定 Agent (Claude Code)

npx skills add aduermael/herm --skill apple-context -a claude-code -g -y

安装 repo 全部 skill

npx skills add aduermael/herm --all -g -y

预览 repo 内 skill

npx skills add aduermael/herm --list

SKILL.md

Frontmatter
{
    "name": "apple-context",
    "metadata": {
        "short-description": "Calendar and location through CPSL"
    },
    "description": "Use CPSL calendar and location modules for user-approved Apple Calendar events and current device location."
}

Apple Context

Use this skill when the user asks about their calendar, schedule, events, availability, travel time, local context, nearby places, weather at their current position, or any request that depends on the device's current location.

Permissions

  • Check help(), then calendar.help() or location.help() before using the modules.
  • Calendar and location access states use granted, denied, and undefined through the state or access fields. If access is undefined, calling the relevant request/current function may prompt the user.
  • If access is denied, stop using that capability and tell the user to enable access for Herm in iOS Settings or macOS System Settings. Do not repeatedly retry.
  • Use only the minimum needed capability. Do not request calendar or location access unless it materially helps with the user's request.

Calendar

Use calendar.status() before reading or changing events when practical. If a calendar operation reports denied access, explain that Calendar access must be enabled in Settings.

local status = calendar.status()
if status.state == "undefined" then
  status = calendar.request_access("full")
end

List events with an explicit time range:

local events = calendar.events("2026-07-08T00:00:00Z", "2026-07-09T00:00:00Z", {limit = 50})

Create events only when the user asked you to add something or clearly approved it:

local event = calendar.create("Dentist", "2026-07-08T16:00:00Z", "2026-07-08T17:00:00Z", {
  location = "Main St"
})

Location

Use location.current() for the current device location. It prompts if access is undefined and returns a table containing location.latitude, location.longitude, accuracy, and timestamp.

local here = location.current()
print(here.location.latitude, here.location.longitude)

Treat location as sensitive. Do not print precise coordinates unless the user needs them or asks for them; prefer using the location to answer the task.

版本历史

  • f2da284 当前 2026-07-19 13:56

同 Skill 集合

app/apple/herm/Skills/beautiful-pdfs/SKILL.md
app/apple/herm/Skills/image-vision/SKILL.md
app/apple/herm/Skills/webbrowser/SKILL.md
skills/c-bounds-safety/SKILL.md
skills/device-interaction/SKILL.md
skills/modernize-tests/SKILL.md
skills/uikit-app-modernization/SKILL.md
skills/audit-xcode-security-settings/SKILL.md
skills/swiftui-specialist/SKILL.md
skills/swiftui-whats-new-27/SKILL.md

元信息

文件数
0
版本
f2da284
Hash
988c0708
收录时间
2026-07-19 13:56

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-22 23:17
浙ICP备14020137号-1 $访客地图$