[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C3B39XEBJ7DPXHE2VK8P2D":3,"skill-same:01M6C3B39XEBJ7DPXHE2VK8P2D":66},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":6,"ownerHtmlUrl":50,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":51,"install":52,"resources":65},"01M6C3B39XEBJ7DPXHE2VK8P2D","findmy",null,"Track Apple devices\u002FAirTags via FindMy.app on macOS.","adnichols\u002Fai-configs","adnichols","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F493746?v=4","01M6C33VRY9WF6XWYPT1AFA7JJ","Aaron Nichols","01M6C33VWTNKGRM92E9G643V4W",5,"MIT","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fprofiles\u002Fnerd\u002Fskills\u002Fapple\u002Ffindmy\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[5,24,25,26,27,28],"macos","devices","hermes","hermes agent","tracking","2026-11-10 10:12:30",false,"---\nname: findmy\ndescription: \"Track Apple devices\u002FAirTags via FindMy.app on macOS.\"\nversion: 1.0.0\nauthor: Hermes Agent\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 ~\u002F.hermes\u002Fcache\u002Fscratch\u002Ffindmy.png\n```\n\nThen use `vision_analyze` to read the screenshot:\n```\nvision_analyze(image_url=\"~\u002F.hermes\u002Fcache\u002Fscratch\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 ~\u002F.hermes\u002Fcache\u002Fscratch\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 ~\u002F.hermes\u002Fcache\u002Fscratch\u002Ffindmy-detail.png\n```\n\nThen analyze with vision:\n```\nvision_analyze(image_url=\"~\u002F.hermes\u002Fcache\u002Fscratch\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 ~\u002F.hermes\u002Fcache\u002Fscratch\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 ~\u002F.hermes\u002Fcache\u002Fscratch\u002Ffindmy.png\n```\n\nThen use `vision_analyze` to read the screenshot:\n```\nvision_analyze(image_url=\"~\u002F.hermes\u002Fcache\u002Fscratch\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 ~\u002F.hermes\u002Fcache\u002Fscratch\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 ~\u002F.hermes\u002Fcache\u002Fscratch\u002Ffindmy-detail.png\n```\n\nThen analyze with vision:\n```\nvision_analyze(image_url=\"~\u002F.hermes\u002Fcache\u002Fscratch\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 ~\u002F.hermes\u002Fcache\u002Fscratch\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":34,"license":15,"version":35,"metadata":36,"platforms":44,"description":7},"Hermes Agent","1.0.0",{"hermes":37},{"tags":38},[39,40,41,28,42,43],"FindMy","AirTag","location","macOS","Apple",[24],"main","64e2fc9afa7bb3da1138eb73399144d0e7e73e9d","_hermes\u002Fdefault\u002Fprofiles\u002Fnerd\u002Fskills\u002Fapple\u002Ffindmy",4,"https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs","https:\u002F\u002Fgithub.com\u002Fadnichols","2026-11-06 00:28:38",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add adnichols\u002Fai-configs --skill findmy",{"tool":58,"command":59},"bunx","bunx skills add adnichols\u002Fai-configs --skill findmy",{"tool":61,"command":62},"pnpm","pnpm dlx skills add adnichols\u002Fai-configs --skill findmy","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fprofiles\u002Fnerd\u002Fskills\u002Fapple\u002Ffindmy\u002FSKILL.md",true,[],[67,86,116,141,152,168],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":29},"01M6CB7RN791P5RRRCJWWC7DAR","blocked-page-recovery","Use when a fetch fails: 403\u002F429, paywall, WAF, bot wall.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fweb\u002Fblocked-page-recovery\u002FSKILL.md",[],[74,75,76,77,78,79,80,27,26,81,82,83,84,85,24],"recovery","page","blocked page recovery","bot","fallback","use","fetch","Citations","waf","windows","research","linux",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":101,"publishedAt":29},"01M6CB7NQY2VVYCQJ1QBXACQF4","writing-plans","Use when creating or updating executable software plans. Keep plans as local files unless the user explicitly asks to register them in Doct.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Fwriting-plans\u002FSKILL.md",[92,95,96],{"categoryNo":93,"categoryName":94,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":97,"categoryName":98,"taxonomyType":99,"taxonomyTypeDesc":100},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[102,103,104,105,106,107,108,109,110,111,112,113,79,114,27,26,115],"writing","writing plans","documentation","test","workflow","design","user","development","planning","files","implementation","html","ops","plan",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":131,"publishedAt":29},"01M6CB7JME246KZQHP73Z2STDF","test-driven-development","TDD: enforce RED-GREEN-REFACTOR, tests before code.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Ftest-driven-development\u002FSKILL.md",[122,125,128],{"categoryNo":123,"categoryName":124,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":126,"categoryName":127,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":129,"categoryName":130,"taxonomyType":99,"taxonomyTypeDesc":100},"01JBSEEDCAT000000000000037","律师与法务",[105,109,132,133,134,27,26,135,115,136,137,138,24,139,85,140,83],"test driven development","red-green-refactor","superpowers","quality","refactor","code","debugging","tdd","testing",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":148,"publishedAt":29},"01M6CB7FQ407KQTD4Z9VAWKY54","systematic-debugging","4-phase root cause debugging: understand bugs before fixing.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Fsystematic-debugging\u002FSKILL.md",[147],{"categoryNo":126,"categoryName":127,"taxonomyType":21,"taxonomyTypeDesc":22},[138,149,109,134,27,26,150,115,151,83,105,85,24],"systematic debugging","troubleshooting","investigation",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":161,"publishedAt":29},"01M6CB7D57MK88HE5YPZHKH68Q","spike","Throwaway experiments to validate an idea before build.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Fspike\u002FSKILL.md",[158],{"categoryNo":159,"categoryName":160,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[154,83,162,163,84,164,85,24,165,166,167,27,26,115,110],"validate","experiments","prototype","feasibility","sketch","experiment",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":178,"publishedAt":29},"01M6CB7APAQ37YE5YE1MAAFT42","simplify-code","Parallel 3-agent cleanup of recent code changes.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Fsimplify-code\u002FSKILL.md",[174,175],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":176,"categoryName":177,"taxonomyType":99,"taxonomyTypeDesc":100},"01JBSEEDCAT000000000000030","开发工程师",[179,180,137,181,27,26,182,115,136,183,184,185,109,83,105,85,186,24],"simplify code","simplify","subagent","parallel","code-review","delegation","cleanup","review"]