[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71EPA6Y3GJZ347F0RYCBC6F":3,"skill-same:01M71EPA6Y3GJZ347F0RYCBC6F":103},{"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":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":14,"repositoryHtmlUrl":52,"repositoryHomepageUrl":6,"ownerHtmlUrl":53,"ownerBlogUrl":54,"ownerDescription":55,"updatedAt":56,"install":57,"resources":70},"01M71EPA6Y3GJZ347F0RYCBC6F","running-mobile-simulators",null,"Manage Android emulators and iOS simulators on shared development hosts. Use when an agent needs a virtual mobile device for app execution, UI automation, evidence capture, recovery, cleanup, or Maestro.","patinaproject\u002Fskills","patinaproject","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F229996889?v=4","01M71E58JKTDNY1138WYZK44TR","Patina Project","01M71E58K5GH4K16MV6A8BQ6NZ",1,"MIT","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcode\u002Fskills\u002Frunning-mobile-simulators\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"running mobile simulators","mobile","running","maestro","ios","recovery","hosts","android","automation","when","use","cleanup","execution","manage","for","development","evidence","app","virtual","shared","2026-11-10 10:12:30",false,"---\nname: running-mobile-simulators\ndescription: Manage Android emulators and iOS simulators on shared development hosts. Use when an agent needs a virtual mobile device for app execution, UI automation, evidence capture, recovery, cleanup, or Maestro.\n---\n\n# Running mobile simulators\n\nA virtual mobile device exists outside the workspace that uses it. Bind each\nagent session to one workspace, one exact device, and the processes that the\nagent starts. Agents that share a worktree still need separate devices and\nleases.\n\n## Establish the session boundary\n\nBefore a device state change, resolve the workspace's real path and inventory:\n\n- connected Android emulator serials and iOS simulator UDIDs;\n- active emulator, Simulator, Maestro, MCP, and Viewer processes; and\n- active leases or other repository-specific device coordination.\n\nRead [Device leases](references\u002Fdevice-leases.md) before selecting or starting\na device. On a host that can run more than one workspace, an exclusive device\nlease is mandatory. Inventory is read-only; do not launch a device, install or\nstart an app, run automation, or change device state until the lease is held.\n\nThis skill manages virtual devices only. Stop if the requested target is a\nphysical device or a cloud device.\n\nChoose one ownership mode:\n\n- **Attached device.** Select an existing device by its exact identifier. Its\n  owner retains lifecycle responsibility.\n- **Owned device.** Select one named device that this session will start. The\n  session owns its launcher, recovery, and cleanup.\n\nThe agent that controls the device owns its session. A coordinator may delegate\nthe device work, but it must not acquire, mutate, recover, or release the\nworker's device. Assign at most one device to each worker. If the task needs\nseveral devices, delegate one device to each worker.\n\nCreate one unique session ID and reuse it for the life of the agent session.\nStart one session record before launch. Record the agent session ID, workspace,\nplatform, ownership mode, selected device, launcher intent, owned processes,\nand required app build. For an attached device, record its exact serial or UDID\nnow. For a new owned Android emulator, record the AVD name and add its serial\nimmediately after launch. Record an owned iOS simulator's UDID before launch.\n\nAcquire the lease atomically under the device's canonical identity. The lease\nis the host-visible session record. It must include the workspace's real path\nand the agent session ID. An attached device still requires a lease even though\nits lifecycle remains externally owned. Hold the lease through app execution,\nautomation, evidence, recovery, and cleanup. If another session holds it,\nselect a different device or stop. Never wait while mutating the contested\ndevice.\n\nThis step is complete when the session record names one device and ownership\nmode, and any required lease is held.\n\n## Check readiness without changing state\n\nRun `scripts\u002Fcheck-readiness.sh` when a workflow needs reusable preflight after\nit has selected and leased one device. Pass the canonical device, exact runtime\ntarget, real workspace, and agent session ID:\n\n```bash\nscripts\u002Fcheck-readiness.sh \\\n  --device android-avd:\u003Cavd-name> \\\n  --target \u003Cemulator-serial> \\\n  --workspace \"$(git rev-parse --show-toplevel)\" \\\n  --session-id \u003Cagent-session-id>\n```\n\nFor iOS, use `ios-simulator:\u003Cudid>` and pass the same UDID as the target. The\ncommand reads the existing lease, the selected virtual device, and the fixed\nprocess fingerprints described in [Device leases](references\u002Fdevice-leases.md).\nIt never claims or repairs a lease. It also leaves device launch and recovery\nto the later lifecycle steps.\n\nThe JSON result contains one `checks` array. Each check reports `pass`,\n`fail`, `unmet`, or `not-required`. A failed or unmet check includes the\nexpected and observed values. Exit status `0` means that every required check\npassed. Exit status `1` means that a precondition failed or lacked evidence.\nExit status `2` means that the request or checker was invalid. The default\nbudget for each external observation is 10 seconds. Use `--timeout` to change\nthat budget.\n\nThe checker covers generic lease, device, process, and optional Maestro MCP\nreadiness. The consuming project still owns its Expo, Metro, build, application\nidentity, authentication, and data environment checks.\n\nThis step is complete when the result names the selected device and observed\nlease owner, and every check required by the consuming workflow passes.\n\n## Prepare the exact device\n\nRead the reference for the selected platform before launch, readiness checks,\nautomation, recovery, or cleanup:\n\n- [Android Emulator](references\u002Fandroid.md)\n- [iOS Simulator](references\u002Fios.md)\n\nIf the task uses Maestro as a launcher or controller, also read\n[Maestro](references\u002Fmaestro.md) before starting it.\n\nFor an attached device, skip launch and continue with its platform identity and\nreadiness checks. For an owned device, use the caller's requested launcher or\nthe platform launcher for the named device. After launch, add the exact device\nidentifier, launcher command, and launcher PID to the session record. If the\nlauncher exits, record that it is not persistent.\n\nThis step is complete when the selected device passes its platform identity and\nreadiness checks under the exact recorded serial or UDID.\n\n## Bind automation and evidence\n\nUse the recorded identifier for every targeted device and automation command.\nThe platform reference defines the exact command binding. The Maestro reference\ndefines its CLI, MCP, file, and Viewer binding.\n\nBefore evidence capture, prove that the selected device runs the app build from\nthe required workspace or deployment target. Record the device identifier and\napp build identity with the evidence.\n\nThis step is complete when automation and evidence name the recorded device\nand current app build.\n\n## Recover within the boundary\n\nUse this bounded order:\n\n1. Reconnect automation once.\n2. Restart the app once if the failure remains.\n3. Restart the device once only when the session owns it.\n\nAfter each recovery action, repeat the platform identity and readiness checks.\nAlso recheck the app build after an app or device restart.\n\nIf an attached device needs a lifecycle restart, stop and report that its owner\nmust recover it. If owned-device recovery fails, stop and report the exact\nfailure.\n\nRecovery is complete when the same recorded device is ready, the required app\nbuild is running, and automation reconnects. Otherwise, stop after the bounded\nsequence and report the failed check.\n\n## Release owned resources\n\nFollow the platform and Maestro cleanup instructions that apply to the session.\nStop only the processes and device recorded as owned by the current session.\nRelease the lease by its unique session ID after those resources exit.\n\nPreserve attached devices, shared ADB, unrelated simulators, and other\nworkspaces' processes.\n\nCleanup is complete when every owned resource has exited and every attached or\nunrelated resource remains available.\n","# Running mobile simulators\n\nA virtual mobile device exists outside the workspace that uses it. Bind each\nagent session to one workspace, one exact device, and the processes that the\nagent starts. Agents that share a worktree still need separate devices and\nleases.\n\n## Establish the session boundary\n\nBefore a device state change, resolve the workspace's real path and inventory:\n\n- connected Android emulator serials and iOS simulator UDIDs;\n- active emulator, Simulator, Maestro, MCP, and Viewer processes; and\n- active leases or other repository-specific device coordination.\n\nRead [Device leases](references\u002Fdevice-leases.md) before selecting or starting\na device. On a host that can run more than one workspace, an exclusive device\nlease is mandatory. Inventory is read-only; do not launch a device, install or\nstart an app, run automation, or change device state until the lease is held.\n\nThis skill manages virtual devices only. Stop if the requested target is a\nphysical device or a cloud device.\n\nChoose one ownership mode:\n\n- **Attached device.** Select an existing device by its exact identifier. Its\n  owner retains lifecycle responsibility.\n- **Owned device.** Select one named device that this session will start. The\n  session owns its launcher, recovery, and cleanup.\n\nThe agent that controls the device owns its session. A coordinator may delegate\nthe device work, but it must not acquire, mutate, recover, or release the\nworker's device. Assign at most one device to each worker. If the task needs\nseveral devices, delegate one device to each worker.\n\nCreate one unique session ID and reuse it for the life of the agent session.\nStart one session record before launch. Record the agent session ID, workspace,\nplatform, ownership mode, selected device, launcher intent, owned processes,\nand required app build. For an attached device, record its exact serial or UDID\nnow. For a new owned Android emulator, record the AVD name and add its serial\nimmediately after launch. Record an owned iOS simulator's UDID before launch.\n\nAcquire the lease atomically under the device's canonical identity. The lease\nis the host-visible session record. It must include the workspace's real path\nand the agent session ID. An attached device still requires a lease even though\nits lifecycle remains externally owned. Hold the lease through app execution,\nautomation, evidence, recovery, and cleanup. If another session holds it,\nselect a different device or stop. Never wait while mutating the contested\ndevice.\n\nThis step is complete when the session record names one device and ownership\nmode, and any required lease is held.\n\n## Check readiness without changing state\n\nRun `scripts\u002Fcheck-readiness.sh` when a workflow needs reusable preflight after\nit has selected and leased one device. Pass the canonical device, exact runtime\ntarget, real workspace, and agent session ID:\n\n```bash\nscripts\u002Fcheck-readiness.sh \\\n  --device android-avd:\u003Cavd-name> \\\n  --target \u003Cemulator-serial> \\\n  --workspace \"$(git rev-parse --show-toplevel)\" \\\n  --session-id \u003Cagent-session-id>\n```\n\nFor iOS, use `ios-simulator:\u003Cudid>` and pass the same UDID as the target. The\ncommand reads the existing lease, the selected virtual device, and the fixed\nprocess fingerprints described in [Device leases](references\u002Fdevice-leases.md).\nIt never claims or repairs a lease. It also leaves device launch and recovery\nto the later lifecycle steps.\n\nThe JSON result contains one `checks` array. Each check reports `pass`,\n`fail`, `unmet`, or `not-required`. A failed or unmet check includes the\nexpected and observed values. Exit status `0` means that every required check\npassed. Exit status `1` means that a precondition failed or lacked evidence.\nExit status `2` means that the request or checker was invalid. The default\nbudget for each external observation is 10 seconds. Use `--timeout` to change\nthat budget.\n\nThe checker covers generic lease, device, process, and optional Maestro MCP\nreadiness. The consuming project still owns its Expo, Metro, build, application\nidentity, authentication, and data environment checks.\n\nThis step is complete when the result names the selected device and observed\nlease owner, and every check required by the consuming workflow passes.\n\n## Prepare the exact device\n\nRead the reference for the selected platform before launch, readiness checks,\nautomation, recovery, or cleanup:\n\n- [Android Emulator](references\u002Fandroid.md)\n- [iOS Simulator](references\u002Fios.md)\n\nIf the task uses Maestro as a launcher or controller, also read\n[Maestro](references\u002Fmaestro.md) before starting it.\n\nFor an attached device, skip launch and continue with its platform identity and\nreadiness checks. For an owned device, use the caller's requested launcher or\nthe platform launcher for the named device. After launch, add the exact device\nidentifier, launcher command, and launcher PID to the session record. If the\nlauncher exits, record that it is not persistent.\n\nThis step is complete when the selected device passes its platform identity and\nreadiness checks under the exact recorded serial or UDID.\n\n## Bind automation and evidence\n\nUse the recorded identifier for every targeted device and automation command.\nThe platform reference defines the exact command binding. The Maestro reference\ndefines its CLI, MCP, file, and Viewer binding.\n\nBefore evidence capture, prove that the selected device runs the app build from\nthe required workspace or deployment target. Record the device identifier and\napp build identity with the evidence.\n\nThis step is complete when automation and evidence name the recorded device\nand current app build.\n\n## Recover within the boundary\n\nUse this bounded order:\n\n1. Reconnect automation once.\n2. Restart the app once if the failure remains.\n3. Restart the device once only when the session owns it.\n\nAfter each recovery action, repeat the platform identity and readiness checks.\nAlso recheck the app build after an app or device restart.\n\nIf an attached device needs a lifecycle restart, stop and report that its owner\nmust recover it. If owned-device recovery fails, stop and report the exact\nfailure.\n\nRecovery is complete when the same recorded device is ready, the required app\nbuild is running, and automation reconnects. Otherwise, stop after the bounded\nsequence and report the failed check.\n\n## Release owned resources\n\nFollow the platform and Maestro cleanup instructions that apply to the session.\nStop only the processes and device recorded as owned by the current session.\nRelease the lease by its unique session ID after those resources exit.\n\nPreserve attached devices, shared ADB, unrelated simulators, and other\nworkspaces' processes.\n\nCleanup is complete when every owned resource has exited and every attached or\nunrelated resource remains available.\n",{"name":5,"description":7},"main","e6ee720f466a8344a52abd87679191fadde3b63f","plugins\u002Fcode\u002Fskills\u002Frunning-mobile-simulators","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills","https:\u002F\u002Fgithub.com\u002Fpatinaproject","https:\u002F\u002Fwww.patinaproject.com","The best way to pick your next pair of boots or shoes.","2026-11-12 00:44:02",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add patinaproject\u002Fskills --skill running-mobile-simulators",{"tool":63,"command":64},"bunx","bunx skills add patinaproject\u002Fskills --skill running-mobile-simulators",{"tool":66,"command":67},"pnpm","pnpm dlx skills add patinaproject\u002Fskills --skill running-mobile-simulators","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcode\u002Fskills\u002Frunning-mobile-simulators\u002FSKILL.md",true,[71,77,81,85,89,95,99],{"path":72,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":75,"sourceHtmlUrl":76},"references\u002Fandroid.md","REFERENCE","参考文档",2535,"https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcode\u002Fskills\u002Frunning-mobile-simulators\u002Freferences\u002Fandroid.md",{"path":78,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":79,"sourceHtmlUrl":80},"references\u002Fdevice-leases.md",5073,"https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcode\u002Fskills\u002Frunning-mobile-simulators\u002Freferences\u002Fdevice-leases.md",{"path":82,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fios.md",2229,"https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcode\u002Fskills\u002Frunning-mobile-simulators\u002Freferences\u002Fios.md",{"path":86,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Fmaestro.md",4294,"https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcode\u002Fskills\u002Frunning-mobile-simulators\u002Freferences\u002Fmaestro.md",{"path":90,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":93,"sourceHtmlUrl":94},"scripts\u002Fadb-readonly.py","SCRIPT","脚本",5922,"https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcode\u002Fskills\u002Frunning-mobile-simulators\u002Fscripts\u002Fadb-readonly.py",{"path":96,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":97,"sourceHtmlUrl":98},"scripts\u002Fcheck-readiness.sh",28084,"https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcode\u002Fskills\u002Frunning-mobile-simulators\u002Fscripts\u002Fcheck-readiness.sh",{"path":100,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":101,"sourceHtmlUrl":102},"scripts\u002Fprobe-command.py",1873,"https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcode\u002Fskills\u002Frunning-mobile-simulators\u002Fscripts\u002Fprobe-command.py",[104,112,138,150,172,195],{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":110,"publishedAt":111},"01M72KDQJR99954NE224VB3KZ2","code-review","Review the changes since a fixed point (commit, branch, tag, or merge-base) along five axes: Standards (does the code follow this repo's documented coding standards?), Spec (does the code match what the originating issue\u002Fspec asked for?), Evidence (does each claim in the pull request have evidence that shows it?), Bugs (does the changed code have logic errors, unhandled states, races, or regressions?), and Security (does the change open injection, auth, secret, input, or CI workflow holes?). Runs the reviews in parallel sub-agents, tags every finding Important, Nit, or Pre-existing, and reports them side by side with what blocks merge. Given an earlier reviewed head and its findings, it reviews only the newer commits, rechecks the earlier findings, and never repeats one. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to \"review since X\".","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcode\u002Fskills\u002Fcode-review\u002FSKILL.md",[],[],"2026-11-10 22:39:42",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":126,"publishedAt":44},"01M71ESEDVHD9EXN6787XHP7HD","writing-for-pstack","Write or tighten an operator prompt for a patina-mode run. Use when the operator asks to write, revise, or review a prompt that will be passed to patina-mode.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwriting-for-pstack\u002FSKILL.md",[118,121],{"categoryNo":119,"categoryName":120,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":122,"categoryName":123,"taxonomyType":124,"taxonomyTypeDesc":125},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[38,127,128,129,130,131,132,133,134,34,135,136,33,137],"pstack","writing","writing for pstack","review","run","mode","write","operator","tighten","prompt","revise",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":146,"publishedAt":44},"01M71ESCJ0SSJFFENF8HYDKBTJ","writing-for-agents","Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwriting-for-agents\u002FSKILL.md",[144,145],{"categoryNo":119,"categoryName":120,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":122,"categoryName":123,"taxonomyType":124,"taxonomyTypeDesc":125},[147,38,128,148,34,149,33],"writing for agents","editing","documents",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":156,"publishedAt":44},"01M71ESA1NN9WVMD2HA5Z1RRDY","wizard","Generate an interactive bash wizard that walks a human through steps only they can perform. Use when provisioning infrastructure, setting up credentials or CI secrets, walking an unfamiliar third-party dashboard, or running a one-off migration or cutover. Don't invoke this for steps the agent can perform itself.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwizard\u002FSKILL.md",[],[152,157,158,159,160,161,33,162,163,164,165,166,34,167,168,169,38,170,26,171],"interactive","can","credentials","one","Bash","invoke","dashboard","generate","human","secrets","provisioning infrastructure","ci","up","setting","only",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":178,"publishedAt":44},"01M71ES8FAN567N3JEPG8W6AS1","wayfinder","Plan a huge chunk of work (more than one agent session can hold) as a shared map of decision tickets on your issue tracker, and resolve them one at a time until the way to the destination is clear.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwayfinder\u002FSKILL.md",[],[174,179,180,181,182,183,184,185,43,186,187,188,189,190,191,192,193,158,194,160],"more","true","decision","session","time","chunk","as","map","tickets","destination","at","tracker","plan","work","agent session","one at a time",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":199,"categories":200,"keywords":201,"publishedAt":44},"01M71ES6PWJPKBW8R24YFH4PY6","wait-what","Stop. That last message did not land: re-pitch it.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwait-what\u002FSKILL.md",[],[202,203,204,205,206,207,208,209,180,210],"wait","wait what","stop","it","land","re","pitch","message","last"]