[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DFQ57Q8CD6SZWHBNKF4R7B":3,"skill-same:01M6DFQ57Q8CD6SZWHBNKF4R7B":63},{"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":18,"publishedAt":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":44,"repositoryHtmlUrl":45,"repositoryHomepageUrl":6,"ownerHtmlUrl":46,"ownerBlogUrl":6,"ownerDescription":47,"updatedAt":48,"install":49,"resources":62},"01M6DFQ57Q8CD6SZWHBNKF4R7B","pokemon-player",null,"Play Pokemon via headless emulator + RAM reads.","zapabob\u002FSkills","zapabob","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F130830376?v=4","01M6DBMYZAGRTFQDSQYW3W764P","峯岸 亮","01M6DBMZ3GKDSJ01NZ9XTZD7JD",2,"MIT","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002F51\u002F510a053f2ca55f5db55b63e537dc36825b0da6001f0f512746b20c03b01d41f5\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31],"pokemon","pokemon player","macos","linux","windows","play","hermes","hermes agent","gaming","emulator","pyboy","gameplay","gameboy","2026-11-10 10:12:30",false,"---\nname: pokemon-player\ndescription: \"Play Pokemon via headless emulator + RAM reads.\"\nversion: 1.0.0\nauthor: Teknium (teknium1), Hermes Agent\nlicense: MIT\ntags: [gaming, pokemon, emulator, pyboy, gameplay, gameboy]\nplatforms: [linux, macos, windows]\n---\n# Pokemon Player\n\nPlay Pokemon games via headless emulation using the `pokemon-agent` package.\n\n## When to Use\n- User says \"play pokemon\", \"start pokemon\", \"pokemon game\"\n- User asks about Pokemon Red, Blue, Yellow, FireRed, etc.\n- User wants to watch an AI play Pokemon\n- User references a ROM file (.gb, .gbc, .gba)\n\n## Startup Procedure\n\n### 1. First-time setup (clone, venv, install)\nThe repo is NousResearch\u002Fpokemon-agent on GitHub. Clone it, then\nset up a Python 3.10+ virtual environment. Use uv (preferred for speed)\nto create the venv and install the package in editable mode with the\npyboy extra. If uv is not available, fall back to python -m venv + pip.\n\nIf a checkout already exists (e.g. ~\u002Fpokemon-agent with a venv ready),\njust cd there and source .venv\u002Fbin\u002Factivate instead of recloning.\n\nYou also need a ROM file. Ask the user for theirs (a previous setup may\nalready have one at roms\u002Fpokemon_red.gb inside the checkout).\nNEVER download or provide ROM files — always ask the user.\n\n### 2. Start the game server\nFrom inside the pokemon-agent directory with the venv activated, run\npokemon-agent serve with --rom pointing to the ROM and --port 9876.\nRun it in the background with &.\nTo resume from a saved game, add --load-state with the save name.\nWait 4 seconds for startup, then verify with GET \u002Fhealth.\n\n### 3. Set up live dashboard for user to watch\nUse an SSH reverse tunnel via localhost.run so the user can view\nthe dashboard in their browser. Connect with ssh, forwarding local\nport 9876 to remote port 80 on the keyless localhost.run endpoint\n(ssh -R 80:localhost:9876 ssh:\u002F\u002F[REDACTED_EMAIL]). Redirect output\nto a log file, wait 10 seconds, then grep the log for the .lhr.life\nURL. Give the user the URL with \u002Fdashboard\u002F appended.\nThe tunnel URL changes each time — give the user the new one if restarted.\n\n## Save and Load\n\n### When to save\n- Every 15-20 turns of gameplay\n- ALWAYS before gym battles, rival encounters, or risky fights\n- Before entering a new town or dungeon\n- Before any action you are unsure about\n\n### How to save\nPOST \u002Fsave with a descriptive name. Good examples:\nbefore_brock, route1_start, mt_moon_entrance, got_cut\n\n### How to load\nPOST \u002Fload with the save name.\n\n### List available saves\nGET \u002Fsaves returns all saved states.\n\n### Loading on server startup\nUse --load-state flag when starting the server to auto-load a save.\nThis is faster than loading via the API after startup.\n\n## The Gameplay Loop\n\n### Step 1: OBSERVE — check state AND take a screenshot\nGET \u002Fstate for position, HP, battle, dialog.\nGET \u002Fscreenshot and save to \u002Ftmp\u002Fpokemon.png, then use vision_analyze.\nAlways do BOTH — RAM state gives numbers, vision gives spatial awareness.\n\n### Step 2: ORIENT\n- Dialog\u002Ftext on screen → advance it\n- In battle → fight or run\n- Party hurt → head to Pokemon Center\n- Near objective → navigate carefully\n\n### Step 3: DECIDE\nPriority: dialog > battle > heal > story objective > training > explore\n\n### Step 4: ACT — move 2-4 steps max, then re-check\nPOST \u002Faction with a SHORT action list (2-4 actions, not 10-15).\n\n### Step 5: VERIFY — screenshot after every move sequence\nTake a screenshot and use vision_analyze to confirm you moved where\nintended. This is the MOST IMPORTANT step. Without vision you WILL get lost.\n\n### Step 6: RECORD progress to memory with PKM: prefix\n\n### Step 7: SAVE periodically\n\n## Action Reference\n- press_a — confirm, talk, select\n- press_b — cancel, close menu\n- press_start — open game menu\n- walk_up\u002Fdown\u002Fleft\u002Fright — move one tile\n- hold_b_N — hold B for N frames (use for speeding through text)\n- wait_60 — wait about 1 second (60 frames)\n- a_until_dialog_end — press A repeatedly until dialog clears\n\n## Critical Tips from Experience\n\n### USE VISION CONSTANTLY\n- Take a screenshot every 2-4 movement steps\n- The RAM state tells you position and HP but NOT what is around you\n- Ledges, fences, signs, building doors, NPCs — only visible via screenshot\n- Ask the vision model specific questions: \"what is one tile north of me?\"\n- When stuck, always screenshot before trying random directions\n\n### Warp Transitions Need Extra Wait Time\nWhen walking through a door or stairs, the screen fades to black during\nthe map transition. You MUST wait for it to complete. Add 2-3 wait_60\nactions after any door\u002Fstair warp. Without waiting, the position reads\nas stale and you will think you are still in the old map.\n\n### Building Exit Trap\nWhen you exit a building, you appear directly IN FRONT of the door.\nIf you walk north, you go right back inside. ALWAYS sidestep first\nby walking left or right 2 tiles, then proceed in your intended direction.\n\n### Dialog Handling\nGen 1 text scrolls slowly letter-by-letter. To speed through dialog,\nhold B for 120 frames then press A. Repeat as needed. Holding B makes\ntext display at max speed. Then press A to advance to the next line.\nThe a_until_dialog_end action checks the RAM dialog flag, but this flag\ndoes not catch ALL text states. If dialog seems stuck, use the manual\nhold_b + press_a pattern instead and verify via screenshot.\n\n### Ledges Are One-Way\nLedges (small cliff edges) can only be jumped DOWN (south), never climbed\nUP (north). If blocked by a ledge going north, you must go left or right\nto find the gap around it. Use vision to identify which direction the\ngap is. Ask the vision model explicitly.\n\n### Navigation Strategy\n- Move 2-4 steps at a time, then screenshot to check position\n- When entering a new area, screenshot immediately to orient\n- Ask the vision model \"which direction to [destination]?\"\n- If stuck for 3+ attempts, screenshot and re-evaluate completely\n- Do not spam 10-15 movements — you will overshoot or get stuck\n\n### Running from Wild Battles\nOn the battle menu, RUN is bottom-right. To reach it from the default\ncursor position (FIGHT, top-left): press down then right to move cursor\nto RUN, then press A. Wrap with hold_b to speed through text\u002Fanimations.\n\n### Battling (FIGHT)\nOn the battle menu FIGHT is top-left (default cursor position).\nPress A to enter move selection, A again to use the first move.\nThen hold B to speed through attack animations and text.\n\n## Battle Strategy\n\n### Decision Tree\n1. Want to catch? → Weaken then throw Poke Ball\n2. Wild you don't need? → RUN\n3. Type advantage? → Use super-effective move\n4. No advantage? → Use strongest STAB move\n5. Low HP? → Switch or use Potion\n\n### Gen 1 Type Chart (key matchups)\n- Water beats Fire, Ground, Rock\n- Fire beats Grass, Bug, Ice\n- Grass beats Water, Ground, Rock\n- Electric beats Water, Flying\n- Ground beats Fire, Electric, Rock, Poison\n- Psychic beats Fighting, Poison (dominant in Gen 1!)\n\n### Gen 1 Quirks\n- Special stat = both offense AND defense for special moves\n- Psychic type is overpowered (Ghost moves bugged)\n- Critical hits based on Speed stat\n- Wrap\u002FBind prevent opponent from acting\n- Focus Energy bug: REDUCES crit rate instead of raising it\n\n## Memory Conventions\n| Prefix | Purpose | Example |\n|--------|---------|---------|\n| PKM:OBJECTIVE | Current goal | Get Parcel from Viridian Mart |\n| PKM:MAP | Navigation knowledge | Viridian: mart is northeast |\n| PKM:STRATEGY | Battle\u002Fteam plans | Need Grass type before Misty |\n| PKM:PROGRESS | Milestone tracker | Beat rival, heading to Viridian |\n| PKM:STUCK | Stuck situations | Ledge at y=28 go right to bypass |\n| PKM:TEAM | Team notes | Squirtle Lv6, Tackle + Tail Whip |\n\n## Progression Milestones\n- Choose starter\n- Deliver Parcel from Viridian Mart, receive Pokedex\n- Boulder Badge — Brock (Rock) → use Water\u002FGrass\n- Cascade Badge — Misty (Water) → use Grass\u002FElectric\n- Thunder Badge — Lt. Surge (Electric) → use Ground\n- Rainbow Badge — Erika (Grass) → use Fire\u002FIce\u002FFlying\n- Soul Badge — Koga (Poison) → use Ground\u002FPsychic\n- Marsh Badge — Sabrina (Psychic) → hardest gym\n- Volcano Badge — Blaine (Fire) → use Water\u002FGround\n- Earth Badge — Giovanni (Ground) → use Water\u002FGrass\u002FIce\n- Elite Four → Champion!\n\n## Stopping Play\n1. Save the game with a descriptive name via POST \u002Fsave\n2. Update memory with PKM:PROGRESS\n3. Tell user: \"Game saved as [name]! Say 'play pokemon' to resume.\"\n4. Kill the server and tunnel background processes\n\n## Pitfalls\n- NEVER download or provide ROM files\n- Do NOT send more than 4-5 actions without checking vision\n- Always sidestep after exiting buildings before going north\n- Always add wait_60 x2-3 after door\u002Fstair warps\n- Dialog detection via RAM is unreliable — verify with screenshots\n- Save BEFORE risky encounters\n- The tunnel URL changes each time you restart it\n","# Pokemon Player\n\nPlay Pokemon games via headless emulation using the `pokemon-agent` package.\n\n## When to Use\n- User says \"play pokemon\", \"start pokemon\", \"pokemon game\"\n- User asks about Pokemon Red, Blue, Yellow, FireRed, etc.\n- User wants to watch an AI play Pokemon\n- User references a ROM file (.gb, .gbc, .gba)\n\n## Startup Procedure\n\n### 1. First-time setup (clone, venv, install)\nThe repo is NousResearch\u002Fpokemon-agent on GitHub. Clone it, then\nset up a Python 3.10+ virtual environment. Use uv (preferred for speed)\nto create the venv and install the package in editable mode with the\npyboy extra. If uv is not available, fall back to python -m venv + pip.\n\nIf a checkout already exists (e.g. ~\u002Fpokemon-agent with a venv ready),\njust cd there and source .venv\u002Fbin\u002Factivate instead of recloning.\n\nYou also need a ROM file. Ask the user for theirs (a previous setup may\nalready have one at roms\u002Fpokemon_red.gb inside the checkout).\nNEVER download or provide ROM files — always ask the user.\n\n### 2. Start the game server\nFrom inside the pokemon-agent directory with the venv activated, run\npokemon-agent serve with --rom pointing to the ROM and --port 9876.\nRun it in the background with &.\nTo resume from a saved game, add --load-state with the save name.\nWait 4 seconds for startup, then verify with GET \u002Fhealth.\n\n### 3. Set up live dashboard for user to watch\nUse an SSH reverse tunnel via localhost.run so the user can view\nthe dashboard in their browser. Connect with ssh, forwarding local\nport 9876 to remote port 80 on the keyless localhost.run endpoint\n(ssh -R 80:localhost:9876 ssh:\u002F\u002F[REDACTED_EMAIL]). Redirect output\nto a log file, wait 10 seconds, then grep the log for the .lhr.life\nURL. Give the user the URL with \u002Fdashboard\u002F appended.\nThe tunnel URL changes each time — give the user the new one if restarted.\n\n## Save and Load\n\n### When to save\n- Every 15-20 turns of gameplay\n- ALWAYS before gym battles, rival encounters, or risky fights\n- Before entering a new town or dungeon\n- Before any action you are unsure about\n\n### How to save\nPOST \u002Fsave with a descriptive name. Good examples:\nbefore_brock, route1_start, mt_moon_entrance, got_cut\n\n### How to load\nPOST \u002Fload with the save name.\n\n### List available saves\nGET \u002Fsaves returns all saved states.\n\n### Loading on server startup\nUse --load-state flag when starting the server to auto-load a save.\nThis is faster than loading via the API after startup.\n\n## The Gameplay Loop\n\n### Step 1: OBSERVE — check state AND take a screenshot\nGET \u002Fstate for position, HP, battle, dialog.\nGET \u002Fscreenshot and save to \u002Ftmp\u002Fpokemon.png, then use vision_analyze.\nAlways do BOTH — RAM state gives numbers, vision gives spatial awareness.\n\n### Step 2: ORIENT\n- Dialog\u002Ftext on screen → advance it\n- In battle → fight or run\n- Party hurt → head to Pokemon Center\n- Near objective → navigate carefully\n\n### Step 3: DECIDE\nPriority: dialog > battle > heal > story objective > training > explore\n\n### Step 4: ACT — move 2-4 steps max, then re-check\nPOST \u002Faction with a SHORT action list (2-4 actions, not 10-15).\n\n### Step 5: VERIFY — screenshot after every move sequence\nTake a screenshot and use vision_analyze to confirm you moved where\nintended. This is the MOST IMPORTANT step. Without vision you WILL get lost.\n\n### Step 6: RECORD progress to memory with PKM: prefix\n\n### Step 7: SAVE periodically\n\n## Action Reference\n- press_a — confirm, talk, select\n- press_b — cancel, close menu\n- press_start — open game menu\n- walk_up\u002Fdown\u002Fleft\u002Fright — move one tile\n- hold_b_N — hold B for N frames (use for speeding through text)\n- wait_60 — wait about 1 second (60 frames)\n- a_until_dialog_end — press A repeatedly until dialog clears\n\n## Critical Tips from Experience\n\n### USE VISION CONSTANTLY\n- Take a screenshot every 2-4 movement steps\n- The RAM state tells you position and HP but NOT what is around you\n- Ledges, fences, signs, building doors, NPCs — only visible via screenshot\n- Ask the vision model specific questions: \"what is one tile north of me?\"\n- When stuck, always screenshot before trying random directions\n\n### Warp Transitions Need Extra Wait Time\nWhen walking through a door or stairs, the screen fades to black during\nthe map transition. You MUST wait for it to complete. Add 2-3 wait_60\nactions after any door\u002Fstair warp. Without waiting, the position reads\nas stale and you will think you are still in the old map.\n\n### Building Exit Trap\nWhen you exit a building, you appear directly IN FRONT of the door.\nIf you walk north, you go right back inside. ALWAYS sidestep first\nby walking left or right 2 tiles, then proceed in your intended direction.\n\n### Dialog Handling\nGen 1 text scrolls slowly letter-by-letter. To speed through dialog,\nhold B for 120 frames then press A. Repeat as needed. Holding B makes\ntext display at max speed. Then press A to advance to the next line.\nThe a_until_dialog_end action checks the RAM dialog flag, but this flag\ndoes not catch ALL text states. If dialog seems stuck, use the manual\nhold_b + press_a pattern instead and verify via screenshot.\n\n### Ledges Are One-Way\nLedges (small cliff edges) can only be jumped DOWN (south), never climbed\nUP (north). If blocked by a ledge going north, you must go left or right\nto find the gap around it. Use vision to identify which direction the\ngap is. Ask the vision model explicitly.\n\n### Navigation Strategy\n- Move 2-4 steps at a time, then screenshot to check position\n- When entering a new area, screenshot immediately to orient\n- Ask the vision model \"which direction to [destination]?\"\n- If stuck for 3+ attempts, screenshot and re-evaluate completely\n- Do not spam 10-15 movements — you will overshoot or get stuck\n\n### Running from Wild Battles\nOn the battle menu, RUN is bottom-right. To reach it from the default\ncursor position (FIGHT, top-left): press down then right to move cursor\nto RUN, then press A. Wrap with hold_b to speed through text\u002Fanimations.\n\n### Battling (FIGHT)\nOn the battle menu FIGHT is top-left (default cursor position).\nPress A to enter move selection, A again to use the first move.\nThen hold B to speed through attack animations and text.\n\n## Battle Strategy\n\n### Decision Tree\n1. Want to catch? → Weaken then throw Poke Ball\n2. Wild you don't need? → RUN\n3. Type advantage? → Use super-effective move\n4. No advantage? → Use strongest STAB move\n5. Low HP? → Switch or use Potion\n\n### Gen 1 Type Chart (key matchups)\n- Water beats Fire, Ground, Rock\n- Fire beats Grass, Bug, Ice\n- Grass beats Water, Ground, Rock\n- Electric beats Water, Flying\n- Ground beats Fire, Electric, Rock, Poison\n- Psychic beats Fighting, Poison (dominant in Gen 1!)\n\n### Gen 1 Quirks\n- Special stat = both offense AND defense for special moves\n- Psychic type is overpowered (Ghost moves bugged)\n- Critical hits based on Speed stat\n- Wrap\u002FBind prevent opponent from acting\n- Focus Energy bug: REDUCES crit rate instead of raising it\n\n## Memory Conventions\n| Prefix | Purpose | Example |\n|--------|---------|---------|\n| PKM:OBJECTIVE | Current goal | Get Parcel from Viridian Mart |\n| PKM:MAP | Navigation knowledge | Viridian: mart is northeast |\n| PKM:STRATEGY | Battle\u002Fteam plans | Need Grass type before Misty |\n| PKM:PROGRESS | Milestone tracker | Beat rival, heading to Viridian |\n| PKM:STUCK | Stuck situations | Ledge at y=28 go right to bypass |\n| PKM:TEAM | Team notes | Squirtle Lv6, Tackle + Tail Whip |\n\n## Progression Milestones\n- Choose starter\n- Deliver Parcel from Viridian Mart, receive Pokedex\n- Boulder Badge — Brock (Rock) → use Water\u002FGrass\n- Cascade Badge — Misty (Water) → use Grass\u002FElectric\n- Thunder Badge — Lt. Surge (Electric) → use Ground\n- Rainbow Badge — Erika (Grass) → use Fire\u002FIce\u002FFlying\n- Soul Badge — Koga (Poison) → use Ground\u002FPsychic\n- Marsh Badge — Sabrina (Psychic) → hardest gym\n- Volcano Badge — Blaine (Fire) → use Water\u002FGround\n- Earth Badge — Giovanni (Ground) → use Water\u002FGrass\u002FIce\n- Elite Four → Champion!\n\n## Stopping Play\n1. Save the game with a descriptive name via POST \u002Fsave\n2. Update memory with PKM:PROGRESS\n3. Tell user: \"Game saved as [name]! Say 'play pokemon' to resume.\"\n4. Kill the server and tunnel background processes\n\n## Pitfalls\n- NEVER download or provide ROM files\n- Do NOT send more than 4-5 actions without checking vision\n- Always sidestep after exiting buildings before going north\n- Always add wait_60 x2-3 after door\u002Fstair warps\n- Dialog detection via RAM is unreliable — verify with screenshots\n- Save BEFORE risky encounters\n- The tunnel URL changes each time you restart it\n",{"name":5,"tags":37,"author":38,"license":15,"version":39,"platforms":40,"description":7},[27,19,28,29,30,31],"Teknium (teknium1), Hermes Agent","1.0.0",[22,21,23],"main","0d1434f89f4bc6b07e9d272accd8c1013768820f","archive\u002Fskill-md-reviewed\u002Fsha256\u002F51\u002F510a053f2ca55f5db55b63e537dc36825b0da6001f0f512746b20c03b01d41f5",0,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills","https:\u002F\u002Fgithub.com\u002Fzapabob","The Open University of JAPAN　2019-now\r\n\r\nTokyo University of Science　2007-2010","2026-10-26 16:29:01",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add zapabob\u002FSkills --skill pokemon-player",{"tool":55,"command":56},"bunx","bunx skills add zapabob\u002FSkills --skill pokemon-player",{"tool":58,"command":59},"pnpm","pnpm dlx skills add zapabob\u002FSkills --skill pokemon-player","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002F51\u002F510a053f2ca55f5db55b63e537dc36825b0da6001f0f512746b20c03b01d41f5\u002FSKILL.md",true,[],[64,97,132,159,186,203],{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":83,"publishedAt":32},"01M6GJTE1GESGGF9K028Y7753E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fxurl\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[70,75,78],{"categoryNo":71,"categoryName":72,"taxonomyType":73,"taxonomyTypeDesc":74},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":76,"categoryName":77,"taxonomyType":73,"taxonomyTypeDesc":74},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":79,"categoryName":80,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[66,84,21,85,86,22,23,87,88,89,90,91,92,25,26,93,41,94,95,96],"openclaw","cli","github","official","search","https","social-media","api","Media","twitter","social","via","post",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":114,"publishedAt":32},"01M6GJT8S1PXQ8WPXT1HSNBWH2","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwriting-plans\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[103,106,109,110,111],{"categoryNo":104,"categoryName":105,"taxonomyType":73,"taxonomyTypeDesc":74},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":107,"categoryName":108,"taxonomyType":73,"taxonomyTypeDesc":74},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":76,"categoryName":77,"taxonomyType":73,"taxonomyTypeDesc":74},{"categoryNo":79,"categoryName":80,"taxonomyType":81,"taxonomyTypeDesc":82},{"categoryNo":112,"categoryName":113,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000036","内容创作者",[115,116,117,118,21,119,22,120,23,121,122,123,124,125,126,127,128,129,130,131],"writing","writing plans","plans","design","review","workflow","documentation","tasks","development","code","planning","code-review","subagent","write","superpowers","paths","test-driven-development",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":141,"publishedAt":32},"01M6GJST0H5X7WHBJ3BZK0DVKH","whisper","OpenAI's general-purpose speech recognition model. Supports 99 languages, transcription, translation to English, and language identification. Six model sizes from tiny (39M params) to large (1550M params). Use for speech-to-text, podcast transcription, or multilingual audio processing. Best for robust, multilingual ASR.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwhisper\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[138],{"categoryNo":139,"categoryName":140,"taxonomyType":73,"taxonomyTypeDesc":74},"01JBSEEDCAT000000000000016","图像与多媒体",[134,21,22,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158],"openai","speech","multimodal","Transformers","ASR","Audio","text","model","speech recognition","use","general","multilingual","translation","english","identification","processing","Audio Processing",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":168,"publishedAt":32},"01M6GJSMRQ8EETZTYMG72P70EA","weights-and-biases","W&B: log ML experiments, sweeps, model registry, dashboards.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fweights-and-biases\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[165],{"categoryNo":166,"categoryName":167,"taxonomyType":73,"taxonomyTypeDesc":74},"01JBSEEDCAT000000000000013","分析与可视化",[169,21,170,171,23,172,173,174,175,176,177,149,178,179,180,181,182,183,184,185],"weights and biases","tensorflow","experiments","pytorch","visualization","registry","real-time","tuning","dashboards","experiment","log","time","Experiment Tracking","Model Registry","Hyperparameter Tuning","WandB","Real-Time Visualization",{"skillNo":187,"name":188,"nameZh":6,"description":189,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":190,"categories":191,"keywords":193,"publishedAt":32},"01M6GJS19KDPRY112JTR326S06","watchers","Poll RSS, JSON APIs, and GitHub with watermark dedup.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwatchers\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[192],{"categoryNo":76,"categoryName":77,"taxonomyType":73,"taxonomyTypeDesc":74},[188,21,194,86,22,195,196,197,198,199,200,25,26,201,202],"terminal","automation","http","monitoring","cron","json","rss","devops","with",{"skillNo":204,"name":205,"nameZh":6,"description":206,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":207,"categories":208,"keywords":211,"publishedAt":32},"01M6GJRHJD2A6Q830SWF9W48BC","serving-llms-vllm","vLLM: high-throughput LLM serving, OpenAI API, quantization.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fvllm\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[209,210],{"categoryNo":71,"categoryName":72,"taxonomyType":73,"taxonomyTypeDesc":74},{"categoryNo":79,"categoryName":80,"taxonomyType":81,"taxonomyTypeDesc":82},[212,213,214,22,215,142,216,217,218,145,219,91,220,221,222,223,224,225,226,227],"llms","vLLM","serving llms vllm","research","openai api","tensor","Inference Serving","Production","llm serving","High Throughput","PagedAttention","Continuous Batching","Quantization","Tensor Parallelism","high-throughput","throughput"]