[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DCVC3VMG7SKRAPNM1WX9RP":3,"skill-same:01M6DCVC3VMG7SKRAPNM1WX9RP":64},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":14,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":49,"install":50,"resources":63},"01M6DCVC3VMG7SKRAPNM1WX9RP","qiling-emulation",null,"Use when you need to emulate or sandbox a native ARM\u002FARM64 shared object off-device — running the Battle Cats Android .so (or any Android\u002FLinux ELF native library) inside the Qiling framework on the PC instead of on a rooted phone. This is the dynamic-OFF-device complement to the frida skill (dynamic-ON-device) and to the static ghidra\u002Fradare2\u002Fida skills — reach for it to call a single exported native function with controlled inputs, brute-force or trace an algorithm (save crypto, PRNG, checksum, offset math) without the game engine or a device, hook native calls in a scriptable sandbox, or diff native behavior across app versions. Do NOT use for Java\u002FSmali (use jadx), for live on-device instrumentation (use frida), or for pure static disassembly (use ghidra\u002Fradare2).","Prekzursil\u002Fagent-skills-toolchain","Prekzursil","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F54636077?v=4","01M6DACZ1PCQHD99SCR1YXG28B","Andrei Mihai Visalon","01M6DACZ670WZF535V3WYYSS4Z",0,"MIT","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Fplatform\u002Frouting\u002Ffixtures\u002Fhome\u002F.agents\u002Fskills\u002Fqiling-emulation\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"qiling emulation","use","radare2","app","shared","across","call","phone","do","diff","android","engine","game","ELF","disassembly","ghidra","jadx","java","sandbox","linux","2026-11-10 10:12:30",false,"---\nname: qiling-emulation\ndescription: Use when you need to emulate or sandbox a native ARM\u002FARM64 shared object off-device — running the Battle Cats Android .so (or any Android\u002FLinux ELF native library) inside the Qiling framework on the PC instead of on a rooted phone. This is the dynamic-OFF-device complement to the frida skill (dynamic-ON-device) and to the static ghidra\u002Fradare2\u002Fida skills — reach for it to call a single exported native function with controlled inputs, brute-force or trace an algorithm (save crypto, PRNG, checksum, offset math) without the game engine or a device, hook native calls in a scriptable sandbox, or diff native behavior across app versions. Do NOT use for Java\u002FSmali (use jadx), for live on-device instrumentation (use frida), or for pure static disassembly (use ghidra\u002Fradare2).\n---\n\n# Qiling Emulation (off-device native sandbox)\n\n## Overview\n\nQiling is a Python binary-emulation framework built on Unicorn (the CPU emulator behind\nQEMU) plus Capstone\u002FKeystone. It loads a native ELF (`.so`\u002Fexecutable) for a *different*\narchitecture — e.g. Android `arm64-v8a` — and runs it on your x86-64 Windows PC with **no\ndevice and no game process**. You script it in Python: set registers\u002Fmemory, call one\nexported function, read the result, hook any address.\n\nUse it as the **dynamic-off-device** leg of the RE stack:\n\n| Need | Tool |\n|------|------|\n| Live truth from the running app on a phone | `frida` (dynamic on-device) |\n| Static structure \u002F decompilation | `ghidra-mcp` \u002F `radare2` \u002F `ida-pro-mcp` |\n| **Run one native function in a PC sandbox, no device** | **this skill (Qiling)** |\n| Solve for an input that reaches a branch | `angr` |\n\nSweet spot for Battle Cats (`jp.co.ponos.battlecatsen`, custom PONOS C++\u002FGLES engine): the\nnative code lives in `lib\u002Farm64-v8a\u002F*.so` inside the APK. When you have already located a\nself-contained routine in Ghidra (save encrypt\u002Fdecrypt, a checksum, an offset\u002Fschedule\ncomputation, a PRNG) and want to **exercise it with many inputs** or confirm your\nunderstanding, emulate just that function off-device instead of standing up a rooted device\n+ frida session.\n\n## Setup (venv — REQUIRED, do not use the base interpreter)\n\nQiling\u002FUnicorn wheels do **not** build on the machine's default **Python 3.14** (bleeding\nedge — same class of incompatibility that deferred AiZynthFinder). Create a dedicated venv on\n\n### from any working dir; keep this venv out of git\n### sanity\n### Smallest proof (this actually runs — verified)\n### Workflow: call one exported function of the BC `.so`\n### rootfs must match the .so's ABI (arm64 android). Point argv at the .so so Qiling maps it.\n### put args in x0..x7 (AArch64 AAPCS), allocate scratch memory for pointers as needed\n### Common mistakes\n### Relationship to the RE harness\n### Reference\n","# Qiling Emulation (off-device native sandbox)\n\n## Overview\n\nQiling is a Python binary-emulation framework built on Unicorn (the CPU emulator behind\nQEMU) plus Capstone\u002FKeystone. It loads a native ELF (`.so`\u002Fexecutable) for a *different*\narchitecture — e.g. Android `arm64-v8a` — and runs it on your x86-64 Windows PC with **no\ndevice and no game process**. You script it in Python: set registers\u002Fmemory, call one\nexported function, read the result, hook any address.\n\nUse it as the **dynamic-off-device** leg of the RE stack:\n\n| Need | Tool |\n|------|------|\n| Live truth from the running app on a phone | `frida` (dynamic on-device) |\n| Static structure \u002F decompilation | `ghidra-mcp` \u002F `radare2` \u002F `ida-pro-mcp` |\n| **Run one native function in a PC sandbox, no device** | **this skill (Qiling)** |\n| Solve for an input that reaches a branch | `angr` |\n\nSweet spot for Battle Cats (`jp.co.ponos.battlecatsen`, custom PONOS C++\u002FGLES engine): the\nnative code lives in `lib\u002Farm64-v8a\u002F*.so` inside the APK. When you have already located a\nself-contained routine in Ghidra (save encrypt\u002Fdecrypt, a checksum, an offset\u002Fschedule\ncomputation, a PRNG) and want to **exercise it with many inputs** or confirm your\nunderstanding, emulate just that function off-device instead of standing up a rooted device\n+ frida session.\n\n## Setup (venv — REQUIRED, do not use the base interpreter)\n\nQiling\u002FUnicorn wheels do **not** build on the machine's default **Python 3.14** (bleeding\nedge — same class of incompatibility that deferred AiZynthFinder). Create a dedicated venv on\n\n### from any working dir; keep this venv out of git\n### sanity\n### Smallest proof (this actually runs — verified)\n### Workflow: call one exported function of the BC `.so`\n### rootfs must match the .so's ABI (arm64 android). Point argv at the .so so Qiling maps it.\n### put args in x0..x7 (AArch64 AAPCS), allocate scratch memory for pointers as needed\n### Common mistakes\n### Relationship to the RE harness\n### Reference\n",{"name":5,"description":7},"main","a298c929b6cbd662e1fce54302ce520d5ceea1a5","platform\u002Frouting\u002Ffixtures\u002Fhome\u002F.agents\u002Fskills\u002Fqiling-emulation","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain","https:\u002F\u002Fgithub.com\u002FPrekzursil","2026-11-02 14:30:57",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add Prekzursil\u002Fagent-skills-toolchain --skill qiling-emulation",{"tool":56,"command":57},"bunx","bunx skills add Prekzursil\u002Fagent-skills-toolchain --skill qiling-emulation",{"tool":59,"command":60},"pnpm","pnpm dlx skills add Prekzursil\u002Fagent-skills-toolchain --skill qiling-emulation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Fplatform\u002Frouting\u002Ffixtures\u002Fhome\u002F.agents\u002Fskills\u002Fqiling-emulation\u002FSKILL.md",true,[],[65,86,115,142,156,172],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":39},"01M6DF7D7478R55P46REYH4QAC","clarify-requirements","Resolve genuine pre-execution ambiguity by scanning repo context, generating 1-6 grounded options, and asking 1-3 focused questions via AskUserQuestion. NOT for mid-task use (injection risk); NOT when the goal is already unambiguous; use to disambiguate vague prompts before any file edits.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fworkspace-hooks\u002Fskills\u002Fclarify-requirements\u002FSKILL.md",[],[72,73,74,75,76,77,78,79,80,20,81,82,83,84,85],"clarify requirements","clarify","requirements","risk","options","task","prompts","goal","scanning","context","repo","injection","execution","file",{"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":97,"publishedAt":39},"01M6DF79CA4BHJS66J8EZDBPWJ","openmm-md","Run FREE, open-source, Windows-native GPU molecular dynamics via the openmm-md MCP (OpenMM + CUDA on the local NVIDIA GPU). Use for protein \u002F protein-ligand MD when you want a free stack or are on Windows without a Schrodinger license. Covers the full workflow (prepare, solvate, minimize, equilibrate, production, analyze, mmgbsa) AND an honest decision guide vs Schrodinger Desmond, including how to run Desmond legitimately on Linux or a cloud GPU with a real license. This is a deliberately LESSER free alternative and does NOT replace the schrodinger MCP tools. Do NOT use it to pick a free tool when a validated FEP+, WaterMap, IFD-MD, or Prime MM-GBSA result is actually required.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fmcp\u002Fopenmm-md-mcp\u002Fskill\u002Fopenmm-md\u002FSKILL.md",[92],{"categoryNo":93,"categoryName":94,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[98,99,100,101,38,102,103,104,105,106,107,108,109,110,20,111,112,113,27,114],"openmm md","how","decision","pick","analyze","tool","stack","open","NVIDIA","gpu","license","workflow","windows","free","molecular dynamics","local","MCP",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":127,"publishedAt":39},"01M6DF76C1MG85VEWP8VZCBNMN","visual-review","Take screenshots of web pages and UI using Playwright for visual review and iteration","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fvisual-review\u002FSKILL.md",[121,124],{"categoryNo":122,"categoryName":123,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":125,"categoryName":126,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000008","测试与质量",[128,129,130,131,132,133,134,135,136,137,99,138,139,140,141],"review","visual","visual review","pages","web","false","iteration","take","check","slides","ui","screenshot","playwright","screenshots",{"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":148,"publishedAt":39},"01M6DF73AQVCBZKEN0YXEX9FXP","status","Diagnostic status report — shows metaswarm installation state, project setup, and potential issues","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstatus\u002FSKILL.md",[],[144,149,150,151,152,153,154,155],"setup","report","project","installation","project setup","issues","state",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":163,"publishedAt":39},"01M6DF6X6C2XB0P6GX76P7TTYV","start","Use when starting work on any task, when the user mentions metaswarm, or when the user wants to begin tracked development work","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstart\u002FSKILL.md",[162],{"categoryNo":93,"categoryName":94,"taxonomyType":95,"taxonomyTypeDesc":96},[158,164,77,165,166,167,20,168,169,170,171],"start issue","issue","ready","work on issue","user","work","work on","development",{"skillNo":173,"name":149,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":177,"publishedAt":39},"01M6DF6QMJ9AJKFKHHKRT005PQ","Interactive project setup — detects your project, configures metaswarm, writes project-local files","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fsetup\u002FSKILL.md",[],[149,151,113,178,153,179],"files","interactive"]