liamnichols

iCloud Find My

Life Servicev1.0.0
By liamnicholsUpdated 2026-05-184 versions · latest released 2026-01-07icloud-findmy@clawhub_liamnichols/icloud-findmy
Family

According to AlphaMoat, as of 2026-09, iCloud Find My has 4,545 downloads and 6 stars — ranked #2,108 of 5,078 AI skills overall, and #73 of 246 in Life Service.

Installs
148
Downloads
4.5K
Stars
6
Overall Rank
#2,108
Top 42% overall · Top 30% in Life Service
PlatformInstallsDownloadsStarsComments
ClawHub ↗1484.5K6-
SkillHub ↗1474.5K6—

Platforms count differently and update at different times.

What this skill does

Use requires Apple ID authentication and two-factor verification, and the session is stored locally. Device locations and family data are highly sensitive; query only devices whose owners or family members have consented, and do not track proactively unless explicitly requested. The source includes an unsafe eval() example for parsing location data; replace it with a validated safe parser. Protect local Apple ID and session files, and do not store the Apple ID in ordinary workspace documents. The source requires macOS and the pyicloud CLI; family devices require Family Sharing.

Profile published 2026-10-29

What you can do with it

  • Review the location and battery status of an authorized device
  • Summarize a device’s recent location and charging information
  • Plan a low-battery alert when explicitly requested by the user

When to use it

  • When the device owner or family member has consented
  • When local Apple ID and session files are protected
  • When location data is parsed with a safe parser rather than eval()

Example prompts

Generated from the skill’s documentation as examples; not results of actual runs.

Explain how to safely check the battery status of one authorized device. Do not retrieve its location, store an Apple ID, or perform tracking.

Monthly Trend

Downloads4.5K
3.6K4.1K4.6K2026-05 · Downloads 3.7K2026-06 · Downloads 3.9K2026-07 · Downloads 4.2K2026-08 · Downloads 4.4K2026-09 · Downloads 4.5K26-0526-09
Stars6
5672026-05 · Stars 62026-06 · Stars 62026-07 · Stars 62026-08 · Stars 62026-09 · Stars 626-0526-09

The counting method changed in 2026-09: skills with the same name are now counted separately by author, and the full catalog is covered. Dashed lines show months before the change; they are not compared with later months, and no growth is computed across the change.

MonthDownloadsMoMStars
2026-094.5K—6
2026-084.4K+3.5%6
2026-074.2K+8.6%6
2026-063.9K+5.3%6
2026-053.7K—6

SKILL.md (original)

The author’s original file, shown as plain text without edits or review by AlphaMoat. Links are not clickable; check commands before running them. Fetched 2026-10-23.

4.2 KB · ClawHub v1.0.0
---
name: icloud-findmy
description: Query Find My locations and battery status for family devices via iCloud.
homepage: https://github.com/picklepete/pyicloud
metadata: {"clawdbot":{"emoji":"📍","requires":{"bins":["icloud"]},"install":[{"id":"pipx","kind":"shell","command":"brew install pipx && pipx install pyicloud","bins":["icloud"],"label":"Install PyiCloud (pipx)"}]}}
---

# iCloud Find My

Access Find My device locations and battery status via the iCloud CLI (pyicloud).
Show all (163 lines)

## Setup

1. **Install pyicloud:**
```bash
brew install pipx
pipx install pyicloud
```

2. **Authenticate (one-time):**

Ask the user for their Apple ID, then run:
```bash
icloud --username [email protected] --with-family --list
```

They'll need to enter their password and complete 2FA. The session will be saved and lasts 1-2 months.

3. **Store Apple ID:**

Add the Apple ID to your TOOLS.md or workspace config so you remember it for future queries:
```markdown
## iCloud Find My
Apple ID: [email protected]
```

## Usage

### List all devices

```bash
icloud --username APPLE_ID --with-family --list
```

**Output format:**
```
------------------------------
Name           - Liam's iPhone
Display Name   - iPhone 15 Pro
Location       - {'latitude': 52.248, 'longitude': 0.761, 'timeStamp': 1767810759054, ...}
Battery Level  - 0.72
Battery Status - NotCharging
Device Class   - iPhone
------------------------------
```

**Parsing tips:**
- Devices are separated by `------------------------------`
- Location is a Python dict (use `eval()` or parse with regex)
- Battery Level is 0.0-1.0 (multiply by 100 for percentage)
- Battery Status: "Charging" or "NotCharging"
- Location fields: `latitude`, `longitude`, `timeStamp` (milliseconds), `horizontalAccuracy`

### Get specific device

Find a specific device by grepping the output:
```bash
icloud --username APPLE_ID --with-family --list | grep -A 10 "iPhone"
```

### Parse location

Extract and format location data:
```bash
icloud --username APPLE_ID --with-family --list | \
  grep -A 10 "Device Name" | \
  grep "Location" | \
  sed "s/Location.*- //"
```

Then parse the Python dict string with Python or extract coordinates with regex.

### Parse battery

```bash
icloud --username APPLE_ID --with-family --list | \
  grep -A 10 "Device Name" | \
  grep "Battery Level"
```

## Device Names

Device names come from iCloud and may include:
- Fancy Unicode apostrophes (U+2019 ') instead of ASCII '
- No apostrophes at all (e.g., "Lindas iPhone")

Use case-insensitive matching and normalize apostrophes if needed.

## Session Management

- Sessions last **1-2 months**
- Stored in user's home directory
- When expired, re-run the authentication step
- PyiCloud validates automatically on each request

## Common Patterns

**Check battery before going out:**
```bash
# Get battery for specific device
icloud --username ID --with-family --list | \
  grep -B 2 -A 5 "iPhone" | \
  grep "Battery Level"
```

**Get current location:**
```bash
# Extract location dict and parse coordinates
icloud --username ID --with-family --list | \
  grep -A 10 "iPhone" | \
  grep "Location" | \
  sed "s/.*- //" | \
  python3 -c "import sys; loc = eval(sys.stdin.read()); print(f\"{loc['latitude']}, {loc['longitude']}\")"
```

**Check if device is charging:**
```bash
icloud --username ID --with-family --list | \
  grep -A 10 "iPhone" | \
  grep "Battery Status"
```

## Proactive Use Cases

- **Battery warnings:** Check battery levels before calendar events (going out)
- **Location context:** Answer "near me" queries by checking user's current location
- **Home/away detection:** Check if user is at home based on coordinates
- **Low battery alerts:** Warn if battery <30% and not charging

## Troubleshooting

**Authentication errors:**
- Session expired - re-authenticate
- Wrong Apple ID - check stored ID
- 2FA required - complete 2FA flow

**No location available:**
- Device offline
- Find My disabled
- Location Services off

**Device not found:**
- Check exact device name with `--list`
- Names are case-sensitive
- May have Unicode apostrophes

## Notes

- Requires macOS (iCloud API quirks)
- Family Sharing must be enabled to see family devices
- Location updates every ~1-5 minutes when device is active
- Battery readings may be cached (check timestamp)

Popular in Life Service

Data month: 2026-09 · Downloads, stars and installs are aggregated monthly from public skill registries (ClawHub, SkillHub). See methodology.