用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/aduermael/herm --skill apple-context命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Inspect attached or local images and visually analyze PDFs with vision. Use for photos, screenshots, scans, charts, diagrams, OCR, handwriting, UI inspection, or any task that depends on pixels, layout, or other non-structural page content.
Use the native webbrowser module for web search, browsing, authenticated website interaction, forms, file uploads and downloads, screenshots, and user handoff.
Build polished PDF documents by composing semantic HTML/CSS and rendering HTML to PDF.
基于 SOC 职业分类
正在显示 SKILL.md
| name | apple-context |
| description | Use calendar and location modules for user-approved Apple Calendar events and current device location. |
| metadata | {"short-description":"Calendar and location on device"} |
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.
This file is markdown under /skills/apple-context/SKILL.md. Read it with:
print(fs.read("/skills/apple-context/SKILL.md"))
Do not require("apple-context"), require("/skills/apple-context"), require("/skills/apple-context/SKILL.md"), or any other require path. Skills are not Luau modules. The calendar and location modules are globals (listed by help()); call them directly after you understand the APIs below.
calendar.help() or location.help() when a signature is unclear.granted, denied, and undefined through the state or access fields. If access is undefined, calling the relevant request/current function may prompt the user.print(here) (or tostring(here)); both show nested JSON. Do not conclude "unavailable" from top-level nils alone—coords and place live under here.location.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"
})
Use location.current() for the current device location. It prompts if access is undefined and returns access metadata plus a nested location object with coordinates and, when reverse geocoding succeeds, human place fields (city, region, country, etc.).
local status = location.status()
print(status)
local here = location.current()
print(here)
-- Coordinates (always when a fix is available):
print(here.location.latitude, here.location.longitude)
-- Place names from Apple reverse geocoding (may be nil if geocode fails offline):
print(here.location.city, here.location.region, here.location.country)
print(here.location.formatted_address)
print(here.access) -- granted | denied | undefined
Prefer answering with city/region/country when present; still keep latitude/longitude available if the user wants precision. If here.access is denied or the call errors with a permission message, tell the user to enable Location for Herm in Settings.
Treat location as sensitive. Do not print precise coordinates unless the user needs them or asks for them; prefer city-level place fields for ordinary answers.