ソース情報
- リポジトリ
- taracodlabs/aiden
- ソースの最終更新活動
- 2026年5月6日 12:31
- 検出された SKILL.md の言語
- 英語
- スター
- 779
- フォーク
- 140
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/taracodlabs/aiden --skill pokemon-playerコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
SOC 職業分類に基づく
SKILL.md を表示中
| name | pokemon-player |
| description | Automate Pokémon games via headless emulation + RAM reading |
| category | gaming |
| version | 1.0.0 |
| origin | aiden |
| license | Apache-2.0 |
| tags | pokemon, emulator, gameboy, automation, mgba, rom, ram, scripting, gaming, bot |
Automate Pokémon games using mGBA (Game Boy Advance emulator) with scripting support. Read RAM state, inject button inputs, and build bots for grinding, breeding, or exploration.
# Download mGBA from https://mgba.io/downloads.html
# Portable version — no install required
# Extract to C:\tools\mGBA\
# Verify
& "C:\tools\mGBA\mgba.exe" --version
mGBA has a built-in Lua scripting interface accessible via Tools → Scripting Console.
-- Read a memory address (example: Pokémon FireRed player X position)
-- Addresses vary by game — look up RAM maps for your ROM
local playerX = memory.read8(0x02036E2C)
local playerY = memory.read8(0x02036E28)
print(string.format("Player position: %d, %d", playerX, playerY))
-- Simulate pressing A button
input.press("A")
emu.frameadvance() -- advance one frame
-- Walk right 5 steps
for i = 1, 5 do
input.press("Right")
emu.frameadvance()
emu.frameadvance()
end
-- Pokémon FireRed shiny hunting — keep soft resetting until shiny found
-- Shiny flag address varies by game version
local SHINY_ADDR = 0x020244B0 -- example address
local resets = 0
while true do
local isShiny = memory.read8(SHINY_ADDR)
if isShiny == 1 then
print(string.format("SHINY FOUND after %d resets!", resets))
break
end
resets = resets + 1
-- Soft reset: L+R+Start+Select
input.press("L"); input.press("R"); input.press("Start"); input.press("Select")
emu.frameadvance()
emu.reset()
end
-- FireRed/LeafGreen party struct base addresses (Gen 3)
local PARTY_BASE = 0x02024284
local STRUCT_SIZE = 100 -- bytes per Pokémon in party
for slot = 0, 5 do
local base = PARTY_BASE + slot * STRUCT_SIZE
local species = memory.read16(base + 0)
local hpCurr = memory.read16(base + 56)
local hpMax = memory.read16(base + 58)
if species > 0 then
print(string.format("Slot %d: species=%d HP=%d/%d", slot+1, species, hpCurr, hpMax))
end
end
mGBA can expose a scripting socket for external control:
-- mGBA side: open a socket and listen
local sock = socket.tcp()
sock:bind("127.0.0.1", 8888)
sock:listen(1)
local client = sock:accept()
while true do
local cmd = client:receive("*l")
if cmd == "press_a" then input.press("A") end
emu.frameadvance()
end
import socket, time
s = socket.socket()
s.connect(("127.0.0.1", 8888))
def press(btn):
s.sendall(f"press_{btn}\n".encode())
time.sleep(0.05)
press("a")
press("right")
"Automate grinding by walking in tall grass until party is fainted" → Use step 3 to loop walking movements. Read party HP from step 5 to detect all fainted.
"Count how many soft resets it takes to find a shiny Starter" → Use step 4 with the game's shiny flag address. It increments the counter and stops on shiny.
"Read my current party's HP and print a status report" → Use step 5 inside the mGBA Lua scripting console.