bug-reproduce
Turn a known bug into a tight, red-capable reproducer, then prove the reproducer locks that…
Track Apple devices/AirTags via FindMy.app on macOS.
$ npx -y skills add Prismer-AI/PrismerCloud --skill prismer-findmy --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/prismer-findmyContext preview
The summary Claude sees to decide when to auto-load this skill.
Track Apple devices/AirTags via FindMy.app on macOS.
name: prismer-findmy
scope: common
description: "Track Apple devices/AirTags via FindMy.app on macOS."
version: 1.0.0
author: Hermes Agent
license: MIT
platforms: [ macos ]
metadata:
nativeReplaces: [ findmy ]
hermes:
tags: [ FindMy, AirTag, location, tracking, macOS, Apple ]
requiresExplicitGrant: trueThis is the uniquely named `prismer-findmy` skill, adapted from Hermes. Use the actual tools exposed by the executing host; examples using terminal, process, delegate_task, vision_analyze or browser_* are not tool registrations. Missing dependencies do not hide this skill. Report command startup, version, account/permissions and task-specific live verification separately. Use task-owned artifact paths and existing user authorization; do not change shared accounts, Runtime/provider configuration, global security settings or unrelated work. See NOTICE.md and LICENSE for resource provenance. Runtime availability and upstream-entry suppression are owned by the integration layer.
Track Apple devices and AirTags via the FindMy.app on macOS. Since Apple doesn't provide a CLI for FindMy, this skill uses AppleScript to open the app and screen capture to read device locations.
Run `python3 "$SKILL_ROOT/scripts/readiness.py" findmy`. This does not open the app or prove Screen Recording, Accessibility, Automation or iCloud readiness. Inspect live UI labels/elements in the user's locale; English labels below are illustrations, not stable selectors. Use only the user-authorized device.
`brew install steipete/tap/peekaboo`
# Open Find My app
osascript -e 'tell application "FindMy" to activate'
# Wait for it to load
sleep 3
# Take a screenshot of the Find My window
# WINDOW_ID must be the verified numeric Find My window, not a guessed value.
TASK_CAPTURE_DIR=$(mktemp -d "${TMPDIR:-/tmp}/prismer-findmy.XXXXXX")
screencapture -x -l "$WINDOW_ID" "$TASK_CAPTURE_DIR/findmy.png"Then use `vision_analyze` to read the screenshot:
vision_analyze(image_url="$TASK_CAPTURE_DIR/findmy.png", question="What devices/items are shown and what are their locations?")
# Switch to Devices tab
osascript -e '
tell application "System Events"
tell process "FindMy"
click button "Devices" of toolbar 1 of window 1
end tell
end tell'
# Switch to Items tab (AirTags)
osascript -e '
tell application "System Events"
tell process "FindMy"
click button "Items" of toolbar 1 of window 1
end tell
end tell'If `peekaboo` is installed, use it for more reliable UI interaction:
# Open Find My osascript -e 'tell application "FindMy" to activate' sleep 3 # Capture and annotate the UI peekaboo see --app "FindMy" --annotate --path $TASK_CAPTURE_DIR/findmy-ui.png # Click on a specific device/item by element ID peekaboo click --on "$VERIFIED_ELEMENT_ID" --app "FindMy" # Capture the detail view peekaboo image --app "FindMy" --path $TASK_CAPTURE_DIR/findmy-detail.png
Then analyze with vision:
vision_analyze(image_url="$TASK_CAPTURE_DIR/findmy-detail.png", question="What is the location shown for this device/item? Include address and coordinates if visible.")
For monitoring an AirTag (e.g., tracking a cat's patrol route):
# 1. Open FindMy to Items tab osascript -e 'tell application "FindMy" to activate' sleep 3 # 2. Select the exact item and read its displayed update time. # 3. One sample per authorized, time-bounded Prismer scheduler invocation. screencapture -x -l "$WINDOW_ID" "$TASK_CAPTURE_DIR/findmy-$(date +%Y%m%dT%H%M%S)-$$.png"
Read only coordinates actually visible; never infer precise GPS from an address or map pin. Record timestamp/accuracy and retain only the user-authorized interval. Do not compile a route unless requested.
1. Observe actual refresh behavior; do not promise foreground/background timing 2. Use `vision_analyze` to read screenshot content — don't try to parse pixels 3. For requested ongoing tracking, use the actual Prismer scheduler with an explicit duration and retention limit 4. Respect privacy — only track devices/items the user owns
Repo: Prismer-AI/PrismerCloud
Turn a known bug into a tight, red-capable reproducer, then prove the reproducer locks that…
Review a diff against its acceptance criteria in four segments (convention adherence, bug…
Five-dimension design audit (frontend UI/UX · server data-model & flow · endpoint spec ·…
Before merge, mechanize Documentation-First — derive the code delta from git diff, then…
Diagnose the local dev machine before any APC loop step — run apc env doctor, classify each…
Close out a local coding task on the bound daemon — stage, commit, branch, merge, push via…