[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CANJK6SB60PE7J3NPVK2EB":3,"skill-same:01M6CANJK6SB60PE7J3NPVK2EB":65},{"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":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M6CANJK6SB60PE7J3NPVK2EB","gaming-and-emulation",null,"Host modded Minecraft servers and play classic games via headless emulation with RAM state reading.","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\u002Fwriting\u002Fskills\u002Fgaming\u002Fgaming-and-emulation\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30],"gaming","gaming and emulation","macos","linux","windows","play","state","hermes","hermes agent","minecraft","modpack","pokemon","2026-11-10 10:12:30",false,"---\nname: gaming-and-emulation\ndescription: \"Host modded Minecraft servers and play classic games via headless emulation with RAM state reading.\"\nversion: 1.0.0\nauthor: Hermes Agent\nlicense: MIT\nplatforms: [linux, macos, windows]\nmetadata:\n  hermes:\n    tags: [minecraft, emulation, gaming, pokemon, modpack]\n    related_skills: []\n---\n\n# Gaming and Emulation\n\n## Minecraft Modpack Servers\n\nHost modded Minecraft servers using CurseForge or Modrinth modpacks.\n\n### Setup (Docker Recommended)\n```bash\ndocker run -d \\\n  -v \u002Fdata\u002Fminecraft:\u002Fdata \\\n  -e TYPE=CURSEFORGE \\\n  -e CF_SERVER_MOD=\u002Fdata\u002Fmodpack.zip \\\n  -p 25565:25565 \\\n  --name mc-server \\\n  itzg\u002Fminecraft-server\n```\n\n### Modrinth\n```bash\ndocker run -d \\\n  -v \u002Fdata\u002Fminecraft:\u002Fdata \\\n  -e TYPE=MODRINTH \\\n  -e MODRINTH_PROJECT=modpack-slug \\\n  -p 25565:25565 \\\n  itzg\u002Fminecraft-server\n```\n\n### Management\n```bash\ndocker exec mc-server mc-server console        # Attach to console\ndocker exec mc-server mc-server backup         # Trigger backup\ndocker exec mc-server mc-server stop           # Graceful stop\n```\n\n### Server Properties\nEdit `\u002Fdata\u002Fserver.properties` for:\n- `difficulty=hard`\n- `max-players=20`\n- `white-list=true`\n\n### Backups\nMount a backup volume and use `mc-server backup` or configure cron inside the container.\n\n## Pokemon Player (Headless Emulation)\n\nPlay Pokemon (and other Game Boy \u002F GBA games) via a headless emulator with RAM state reading.\n\n### Setup\n```bash\n# Install emulator + Python bindings\npip install pyboy\n```\n\n### Basic Script\n```python\nfrom pyboy import PyBoy\n\npyboy = PyBoy(\"pokemon-red.gb\")\npyboy.set_emulation_speed(0)  # Unlimited speed for training\n\nwhile pyboy.tick():\n    # Read RAM state\n    player_x = pyboy.memory[0xD362]\n    player_y = pyboy.memory[0xD361]\n    \n    # Decide action based on state\n    if player_x \u003C target_x:\n        pyboy.button_press(\"right\")\n    else:\n        pyboy.button_release(\"right\")\n```\n\n### RAM Map\nCommon Pokemon Red\u002FBlue addresses:\n- `0xD163` — Party count\n- `0xD16B` — First Pokemon species\n- `0xD18C` — First Pokemon HP\n- `0xD35D` — Current map ID\n\n### Use Cases\n- Automated grinding \u002F training\n- Speedrun routing via state analysis\n- AI agent training (reinforcement learning)\n\n### Pitfalls\n- Save states are emulator-specific; don't mix across versions\n- RAM addresses differ between Pokemon versions (Red vs Blue vs Yellow)\n- PyBoy requires a display for some features; use `headless=True` on servers\n","# Gaming and Emulation\n\n## Minecraft Modpack Servers\n\nHost modded Minecraft servers using CurseForge or Modrinth modpacks.\n\n### Setup (Docker Recommended)\n```bash\ndocker run -d \\\n  -v \u002Fdata\u002Fminecraft:\u002Fdata \\\n  -e TYPE=CURSEFORGE \\\n  -e CF_SERVER_MOD=\u002Fdata\u002Fmodpack.zip \\\n  -p 25565:25565 \\\n  --name mc-server \\\n  itzg\u002Fminecraft-server\n```\n\n### Modrinth\n```bash\ndocker run -d \\\n  -v \u002Fdata\u002Fminecraft:\u002Fdata \\\n  -e TYPE=MODRINTH \\\n  -e MODRINTH_PROJECT=modpack-slug \\\n  -p 25565:25565 \\\n  itzg\u002Fminecraft-server\n```\n\n### Management\n```bash\ndocker exec mc-server mc-server console        # Attach to console\ndocker exec mc-server mc-server backup         # Trigger backup\ndocker exec mc-server mc-server stop           # Graceful stop\n```\n\n### Server Properties\nEdit `\u002Fdata\u002Fserver.properties` for:\n- `difficulty=hard`\n- `max-players=20`\n- `white-list=true`\n\n### Backups\nMount a backup volume and use `mc-server backup` or configure cron inside the container.\n\n## Pokemon Player (Headless Emulation)\n\nPlay Pokemon (and other Game Boy \u002F GBA games) via a headless emulator with RAM state reading.\n\n### Setup\n```bash\n# Install emulator + Python bindings\npip install pyboy\n```\n\n### Basic Script\n```python\nfrom pyboy import PyBoy\n\npyboy = PyBoy(\"pokemon-red.gb\")\npyboy.set_emulation_speed(0)  # Unlimited speed for training\n\nwhile pyboy.tick():\n    # Read RAM state\n    player_x = pyboy.memory[0xD362]\n    player_y = pyboy.memory[0xD361]\n    \n    # Decide action based on state\n    if player_x \u003C target_x:\n        pyboy.button_press(\"right\")\n    else:\n        pyboy.button_release(\"right\")\n```\n\n### RAM Map\nCommon Pokemon Red\u002FBlue addresses:\n- `0xD163` — Party count\n- `0xD16B` — First Pokemon species\n- `0xD18C` — First Pokemon HP\n- `0xD35D` — Current map ID\n\n### Use Cases\n- Automated grinding \u002F training\n- Speedrun routing via state analysis\n- AI agent training (reinforcement learning)\n\n### Pitfalls\n- Save states are emulator-specific; don't mix across versions\n- RAM addresses differ between Pokemon versions (Red vs Blue vs Yellow)\n- PyBoy requires a display for some features; use `headless=True` on servers\n",{"name":5,"author":36,"license":15,"version":37,"metadata":38,"platforms":43,"description":7},"Hermes Agent","1.0.0",{"hermes":39},{"tags":40,"related_skills":42},[28,41,19,30,29],"emulation",[],[22,21,23],"main","64e2fc9afa7bb3da1138eb73399144d0e7e73e9d","_hermes\u002Fdefault\u002Fprofiles\u002Fwriting\u002Fskills\u002Fgaming\u002Fgaming-and-emulation",4,"https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs","https:\u002F\u002Fgithub.com\u002Fadnichols","2026-11-06 00:28:38",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add adnichols\u002Fai-configs --skill gaming-and-emulation",{"tool":57,"command":58},"bunx","bunx skills add adnichols\u002Fai-configs --skill gaming-and-emulation",{"tool":60,"command":61},"pnpm","pnpm dlx skills add adnichols\u002Fai-configs --skill gaming-and-emulation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fprofiles\u002Fwriting\u002Fskills\u002Fgaming\u002Fgaming-and-emulation\u002FSKILL.md",true,[],[66,83,117,142,153,169],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":72,"publishedAt":31},"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",[],[73,74,75,76,77,78,79,27,26,80,81,23,82,22,21],"recovery","page","blocked page recovery","bot","fallback","use","fetch","Citations","waf","research",{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":102,"publishedAt":31},"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",[89,94,97],{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":95,"categoryName":96,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":98,"categoryName":99,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[103,104,105,106,107,108,109,110,111,112,113,114,78,115,27,26,116],"writing","writing plans","documentation","test","workflow","design","user","development","planning","files","implementation","html","ops","plan",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":132,"publishedAt":31},"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",[123,126,129],{"categoryNo":124,"categoryName":125,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":127,"categoryName":128,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":130,"categoryName":131,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000037","律师与法务",[106,110,133,134,135,27,26,136,116,137,138,139,21,140,22,141,23],"test driven development","red-green-refactor","superpowers","quality","refactor","code","debugging","tdd","testing",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":149,"publishedAt":31},"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",[148],{"categoryNo":127,"categoryName":128,"taxonomyType":92,"taxonomyTypeDesc":93},[139,150,110,135,27,26,151,116,152,23,106,22,21],"systematic debugging","troubleshooting","investigation",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":162,"publishedAt":31},"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",[159],{"categoryNo":160,"categoryName":161,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000021","资料检索与研究",[155,23,163,164,82,165,22,21,166,167,168,27,26,116,111],"validate","experiments","prototype","feasibility","sketch","experiment",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":179,"publishedAt":31},"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",[175,176],{"categoryNo":95,"categoryName":96,"taxonomyType":92,"taxonomyTypeDesc":93},{"categoryNo":177,"categoryName":178,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000030","开发工程师",[180,181,138,182,27,26,183,116,137,184,185,186,110,23,106,22,187,21],"simplify code","simplify","subagent","parallel","code-review","delegation","cleanup","review"]