[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71F3X4PYV7GRT4RDGCHDMDD":3,"skill-same:01M71F3X4PYV7GRT4RDGCHDMDD":65},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":13,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M71F3X4PYV7GRT4RDGCHDMDD","findmy",null,"Track Apple devices and AirTags via FindMy.app on macOS using AppleScript and screen capture.","gjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6","gjbvsjjvgm-sketch","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F278511911?v=4","01M71F3JXKZQ70H2KCHHTXKZDA","01M71F3JY8A79Z3NZBW08TF4JD",0,"MIT","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002F.hermes\u002Fskills\u002Fapple\u002Ffindmy\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28,29],"macos","devices","screen capture","capture","tracking","location","apple","app","screen","via","applescript","track","2026-11-10 10:12:30",false,"---\nname: findmy\ndescription: Track Apple devices and AirTags via FindMy.app on macOS using AppleScript and screen capture.\nversion: 1.0.0\nauthor: YOUSEF SHTIWE\nlicense: MIT\nplatforms: [macos]\nmetadata:\n  hermes:\n    tags: [FindMy, AirTag, location, tracking, macOS, Apple]\n---\n\n# Find My (Apple)\n\nTrack Apple devices and AirTags via the FindMy.app on macOS. Since Apple doesn't\nprovide a CLI for FindMy, this skill uses AppleScript to open the app and\nscreen capture to read device locations.\n\n## Prerequisites\n\n- **macOS** with Find My app and iCloud signed in\n- Devices\u002FAirTags already registered in Find My\n- Screen Recording permission for terminal (System Settings → Privacy → Screen Recording)\n- **Optional but recommended**: Install `peekaboo` for better UI automation:\n  `brew install steipete\u002Ftap\u002Fpeekaboo`\n\n## When to Use\n\n- User asks \"where is my [device\u002Fcat\u002Fkeys\u002Fbag]?\"\n- Tracking AirTag locations\n- Checking device locations (iPhone, iPad, Mac, AirPods)\n- Monitoring pet or item movement over time (AirTag patrol routes)\n\n## Method 1: AppleScript + Screenshot (Basic)\n\n### Open FindMy and Navigate\n\n```bash\n# Open Find My app\nosascript -e 'tell application \"FindMy\" to activate'\n\n# Wait for it to load\nsleep 3\n\n# Take a screenshot of the Find My window\nscreencapture -w -o \u002Ftmp\u002Ffindmy.png\n```\n\nThen use `vision_analyze` to read the screenshot:\n```\nvision_analyze(image_url=\"\u002Ftmp\u002Ffindmy.png\", question=\"What devices\u002Fitems are shown and what are their locations?\")\n```\n\n### Switch Between Tabs\n\n```bash\n# Switch to Devices tab\nosascript -e '\ntell application \"System Events\"\n    tell process \"FindMy\"\n        click button \"Devices\" of toolbar 1 of window 1\n    end tell\nend tell'\n\n# Switch to Items tab (AirTags)\nosascript -e '\ntell application \"System Events\"\n    tell process \"FindMy\"\n        click button \"Items\" of toolbar 1 of window 1\n    end tell\nend tell'\n```\n\n## Method 2: Peekaboo UI Automation (Recommended)\n\nIf `peekaboo` is installed, use it for more reliable UI interaction:\n\n```bash\n# Open Find My\nosascript -e 'tell application \"FindMy\" to activate'\nsleep 3\n\n# Capture and annotate the UI\npeekaboo see --app \"FindMy\" --annotate --path \u002Ftmp\u002Ffindmy-ui.png\n\n# Click on a specific device\u002Fitem by element ID\npeekaboo click --on B3 --app \"FindMy\"\n\n# Capture the detail view\npeekaboo image --app \"FindMy\" --path \u002Ftmp\u002Ffindmy-detail.png\n```\n\nThen analyze with vision:\n```\nvision_analyze(image_url=\"\u002Ftmp\u002Ffindmy-detail.png\", question=\"What is the location shown for this device\u002Fitem? Include address and coordinates if visible.\")\n```\n\n## Workflow: Track AirTag Location Over Time\n\nFor monitoring an AirTag (e.g., tracking a cat's patrol route):\n\n```bash\n# 1. Open FindMy to Items tab\nosascript -e 'tell application \"FindMy\" to activate'\nsleep 3\n\n# 2. Click on the AirTag item (stay on page — AirTag only updates when page is open)\n\n# 3. Periodically capture location\nwhile true; do\n    screencapture -w -o \u002Ftmp\u002Ffindmy-$(date +%H%M%S).png\n    sleep 300  # Every 5 minutes\ndone\n```\n\nAnalyze each screenshot with vision to extract coordinates, then compile a route.\n\n## Limitations\n\n- FindMy has **no CLI or API** — must use UI automation\n- AirTags only update location while the FindMy page is actively displayed\n- Location accuracy depends on nearby Apple devices in the FindMy network\n- Screen Recording permission required for screenshots\n- AppleScript UI automation may break across macOS versions\n\n## Rules\n\n1. Keep FindMy app in the foreground when tracking AirTags (updates stop when minimized)\n2. Use `vision_analyze` to read screenshot content — don't try to parse pixels\n3. For ongoing tracking, use a cronjob to periodically capture and log locations\n4. Respect privacy — only track devices\u002Fitems the user owns\n","# Find My (Apple)\n\nTrack Apple devices and AirTags via the FindMy.app on macOS. Since Apple doesn't\nprovide a CLI for FindMy, this skill uses AppleScript to open the app and\nscreen capture to read device locations.\n\n## Prerequisites\n\n- **macOS** with Find My app and iCloud signed in\n- Devices\u002FAirTags already registered in Find My\n- Screen Recording permission for terminal (System Settings → Privacy → Screen Recording)\n- **Optional but recommended**: Install `peekaboo` for better UI automation:\n  `brew install steipete\u002Ftap\u002Fpeekaboo`\n\n## When to Use\n\n- User asks \"where is my [device\u002Fcat\u002Fkeys\u002Fbag]?\"\n- Tracking AirTag locations\n- Checking device locations (iPhone, iPad, Mac, AirPods)\n- Monitoring pet or item movement over time (AirTag patrol routes)\n\n## Method 1: AppleScript + Screenshot (Basic)\n\n### Open FindMy and Navigate\n\n```bash\n# Open Find My app\nosascript -e 'tell application \"FindMy\" to activate'\n\n# Wait for it to load\nsleep 3\n\n# Take a screenshot of the Find My window\nscreencapture -w -o \u002Ftmp\u002Ffindmy.png\n```\n\nThen use `vision_analyze` to read the screenshot:\n```\nvision_analyze(image_url=\"\u002Ftmp\u002Ffindmy.png\", question=\"What devices\u002Fitems are shown and what are their locations?\")\n```\n\n### Switch Between Tabs\n\n```bash\n# Switch to Devices tab\nosascript -e '\ntell application \"System Events\"\n    tell process \"FindMy\"\n        click button \"Devices\" of toolbar 1 of window 1\n    end tell\nend tell'\n\n# Switch to Items tab (AirTags)\nosascript -e '\ntell application \"System Events\"\n    tell process \"FindMy\"\n        click button \"Items\" of toolbar 1 of window 1\n    end tell\nend tell'\n```\n\n## Method 2: Peekaboo UI Automation (Recommended)\n\nIf `peekaboo` is installed, use it for more reliable UI interaction:\n\n```bash\n# Open Find My\nosascript -e 'tell application \"FindMy\" to activate'\nsleep 3\n\n# Capture and annotate the UI\npeekaboo see --app \"FindMy\" --annotate --path \u002Ftmp\u002Ffindmy-ui.png\n\n# Click on a specific device\u002Fitem by element ID\npeekaboo click --on B3 --app \"FindMy\"\n\n# Capture the detail view\npeekaboo image --app \"FindMy\" --path \u002Ftmp\u002Ffindmy-detail.png\n```\n\nThen analyze with vision:\n```\nvision_analyze(image_url=\"\u002Ftmp\u002Ffindmy-detail.png\", question=\"What is the location shown for this device\u002Fitem? Include address and coordinates if visible.\")\n```\n\n## Workflow: Track AirTag Location Over Time\n\nFor monitoring an AirTag (e.g., tracking a cat's patrol route):\n\n```bash\n# 1. Open FindMy to Items tab\nosascript -e 'tell application \"FindMy\" to activate'\nsleep 3\n\n# 2. Click on the AirTag item (stay on page — AirTag only updates when page is open)\n\n# 3. Periodically capture location\nwhile true; do\n    screencapture -w -o \u002Ftmp\u002Ffindmy-$(date +%H%M%S).png\n    sleep 300  # Every 5 minutes\ndone\n```\n\nAnalyze each screenshot with vision to extract coordinates, then compile a route.\n\n## Limitations\n\n- FindMy has **no CLI or API** — must use UI automation\n- AirTags only update location while the FindMy page is actively displayed\n- Location accuracy depends on nearby Apple devices in the FindMy network\n- Screen Recording permission required for screenshots\n- AppleScript UI automation may break across macOS versions\n\n## Rules\n\n1. Keep FindMy app in the foreground when tracking AirTags (updates stop when minimized)\n2. Use `vision_analyze` to read screenshot content — don't try to parse pixels\n3. For ongoing tracking, use a cronjob to periodically capture and log locations\n4. Respect privacy — only track devices\u002Fitems the user owns\n",{"name":5,"author":35,"license":14,"version":36,"metadata":37,"platforms":44,"description":7},"YOUSEF SHTIWE","1.0.0",{"hermes":38},{"tags":39},[40,41,23,22,42,43],"FindMy","AirTag","macOS","Apple",[18],"main","93bbc269671fbb340afa15b36a8766f15dc30df2",".hermes\u002Fskills\u002Fapple\u002Ffindmy","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch","2026-04-27 02:51:28",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add gjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6 --skill findmy",{"tool":57,"command":58},"bunx","bunx skills add gjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6 --skill findmy",{"tool":60,"command":61},"pnpm","pnpm dlx skills add gjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6 --skill findmy","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002F.hermes\u002Fskills\u002Fapple\u002Ffindmy\u002FSKILL.md",true,[],[66,109,137,153,172,193],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":88,"publishedAt":30},"01M71G6TJ2RAQ1J0PV3K6D9GQA","writing-plans","Use when you have a spec or requirements for a multi-step task. Creates comprehensive implementation plans with bite-sized tasks, exact file paths, and complete code examples.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes_sovereign_data\u002Fskills\u002Fsoftware-development\u002Fwriting-plans\u002FSKILL.md",[72,77,80,85],{"categoryNo":73,"categoryName":74,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":78,"categoryName":79,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":86,"categoryName":87,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000036","内容创作者",[89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108],"writing","writing plans","plans","design","review","workflow","documentation","tasks","development","code","planning","code-review","subagent","superpowers","paths","test-driven-development","you","for","test-driven","when",{"skillNo":110,"name":104,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":122,"publishedAt":30},"01M71G6R81013R3T7W5VP56GCB","Use when implementing any feature or bugfix, before writing implementation code. Enforces RED-GREEN-REFACTOR cycle with test-first approach.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes_sovereign_data\u002Fskills\u002Fsoftware-development\u002Ftest-driven-development\u002FSKILL.md",[114,117,120,121],{"categoryNo":115,"categoryName":116,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":118,"categoryName":119,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":78,"categoryName":79,"taxonomyType":75,"taxonomyTypeDesc":76},{"categoryNo":86,"categoryName":87,"taxonomyType":83,"taxonomyTypeDesc":84},[123,124,97,125,126,89,127,98,128,101,102,129,130,131,132,133,134,135,136,108],"test","test driven development","driven","testing","debugging","refactor","red-green-refactor","cycle","green","systematic","bugfix","implementing","systematic-debugging","test-first",{"skillNo":138,"name":135,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":143,"publishedAt":30},"01M71G6N0Y546JZEDF25E2PMCE","Use when encountering any bug, test failure, or unexpected behavior. 4-phase root cause investigation — NO fixes without understanding the problem first.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes_sovereign_data\u002Fskills\u002Fsoftware-development\u002Fsystematic-debugging\u002FSKILL.md",[142],{"categoryNo":118,"categoryName":119,"taxonomyType":75,"taxonomyTypeDesc":76},[144,127,132,89,123,97,101,145,102,146,147,148,91,149,104,150,107,151,152,108],"systematic debugging","use","bug","root-cause","problem-solving","problem","fixes","phase","root cause",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":165,"publishedAt":30},"01M71G6J0DXEGY48GH4KVW2SJH","subagent-driven-development","Use when executing implementation plans with independent tasks. Dispatches fresh delegate_task per task with two-stage review (spec compliance then code quality).","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes_sovereign_data\u002Fskills\u002Fsoftware-development\u002Fsubagent-driven-development\u002FSKILL.md",[159,160,161,162],{"categoryNo":78,"categoryName":79,"taxonomyType":75,"taxonomyTypeDesc":76},{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},{"categoryNo":86,"categoryName":87,"taxonomyType":83,"taxonomyTypeDesc":84},{"categoryNo":163,"categoryName":164,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000037","律师与法务",[97,166,101,125,89,93,94,167,96,98,168,100,169,170,102,91,171,104,107,108],"subagent driven development","code quality","delegation","parallel","delegate","fresh",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":180,"publishedAt":30},"01M71G6EFFBQX6634E6XHB09Y1","requesting-code-review","Pre-commit verification pipeline — static security scan, baseline-aware quality gates, independent reviewer subagent, and auto-fix loop. Use after code changes and before committing, pushing, or opening a PR.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes_sovereign_data\u002Fskills\u002Fsoftware-development\u002Frequesting-code-review\u002FSKILL.md",[178,179],{"categoryNo":115,"categoryName":116,"taxonomyType":75,"taxonomyTypeDesc":76},{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},[181,93,98,182,89,183,100,184,185,186,187,101,188,189,190,102,104,191,192,107],"code review","requesting code review","commit","verification","security scan","pipeline","loop","reviewer","fix","auto","static","auto-fix",{"skillNo":194,"name":195,"nameZh":6,"description":196,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":197,"categories":198,"keywords":199,"publishedAt":30},"01M71G6CM8ANSWVFXCN9AAD58Y","plan","Plan mode for Hermes — inspect context, write a markdown plan into the active workspace's `.hermes\u002Fplans\u002F` directory, and do not execute the work.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002Fhermes-sovereign-unified-v13.6\u002Fblob\u002Fmain\u002Fhermes_sovereign_data\u002Fskills\u002Fsoftware-development\u002Fplan\u002FSKILL.md",[],[195,89,200,94,97,99,201,101,202,203,204,205,206,207,91,208,209,210,106,211],"directory","markdown","workspace","work","write","implementation","do","active","plan mode","inspect","mode","plan-mode"]