[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DEN2GE0EV83241WXMVRZTH":3,"skill-same:01M6DEN2GE0EV83241WXMVRZTH":98},{"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},"01M6DEN2GE0EV83241WXMVRZTH","qiling-emulation",null,"Use to emulate or sandbox a native ARM\u002FARM64 shared object off-device - the Battle Cats Android .so or any Android\u002FLinux ELF native library inside the Qiling framework, not on a rooted phone. The dynamic-OFF-device complement to frida and static ghidra\u002Fradare2\u002Fida - call an exported native function, trace a save-crypto\u002FPRNG\u002Fchecksum algorithm, or diff behavior across versions. NOT for Java\u002FSmali.","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\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","shared","across","call","phone","crypto","checksum","diff","android","behavior","trace","ELF","frida","ghidra","library","java","sandbox","linux","2026-11-10 10:12:30",false,"---\nname: qiling-emulation\ndescription: Use to emulate or sandbox a native ARM\u002FARM64 shared object off-device - the Battle Cats Android .so or any Android\u002FLinux ELF native library inside the Qiling framework, not on a rooted phone. The dynamic-OFF-device complement to frida and static ghidra\u002Fradare2\u002Fida - call an exported native function, trace a save-crypto\u002FPRNG\u002Fchecksum algorithm, or diff behavior across versions. NOT for Java\u002FSmali.\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**Python 3.12** (3.11 also works) and install there:\n\n```powershell\n# from any working dir; keep this venv out of git\npy -3.12 -m venv C:\\Users\\Prekzursil\\.venvs\\qiling\n& C:\\Users\\Prekzursil\\.venvs\\qiling\\Scripts\\python.exe -m pip install --upgrade pip\n& C:\\Users\\Prekzursil\\.venvs\\qiling\\Scripts\\python.exe -m pip install qiling\n# sanity\n& C:\\Users\\Prekzursil\\.venvs\\qiling\\Scripts\\python.exe -c \"import qiling,unicorn,capstone;print(qiling.__version__)\"\n```\n\nVerified working combo (2026-07-12): **qiling 1.4.6 · unicorn 2.1.4 · capstone 5.0.7** under\nPython 3.12. `pip install qiling` pulls unicorn, capstone, keystone, pyelftools, gevent, etc.\n\nRootfs: emulating a *full* ELF that makes libc\u002Fsyscall calls needs a matching rootfs\n(Qiling ships `examples\u002Frootfs\u002Farm64_android` and `arm64_linux` in its git repo — clone\n`github.com\u002Fqilingframework\u002Fqiling` if you need it, or use `--recursive` for the rootfs\nsubmodule). Emulating a **single pure function via `code=`** (below) needs **no rootfs**.\n\n## Smallest proof (this actually runs — verified)\n\nRaw ARM64 code, no device, no rootfs — proves the CPU sandbox works:\n\n```python\nfrom keystone import Ks, KS_ARCH_ARM64, KS_MODE_LITTLE_ENDIAN\nfrom qiling import Qiling\nfrom qiling.const import QL_ARCH, QL_OS, QL_VERBOSE\n\ncode, _ = Ks(KS_ARCH_ARM64, KS_MODE_LITTLE_ENDIAN).asm(\"movz x0, #0x1234; add x0, x0, #0x11\")\nql = Qiling(code=bytes(code), archtype=QL_ARCH.ARM64, ostype=QL_OS.LINUX, verbose=QL_VERBOSE.OFF)\nql.run()\nassert ql.arch.regs.x0 == 0x1245        # -> passes\n```\n\n## Workflow: call one exported function of the BC `.so`\n\n1. **Extract** the native lib: `apktool` \u002F `unzip` the APK, take `lib\u002Farm64-v8a\u002F\u003Clib>.so`.\n2. **Locate** the target function's file offset \u002F RVA and prototype in Ghidra\u002Fradare2 first\n   (this skill executes; it does not find the function for you).\n3. **Load & call** with Qiling, driving the ELF's own loader so relocations\u002FGOT are set up:\n\n```python\nfrom qiling import Qiling\nfrom qiling.const import QL_VERBOSE\n\n# rootfs must match the .so's ABI (arm64 android). Point argv at the .so so Qiling maps it.\nql = Qiling([r\"path\\to\\libnative-lib.so\"], r\"path\\to\\qiling\\examples\\rootfs\\arm64_android\",\n            verbose=QL_VERBOSE.OFF)\n\nbase = ql.loader.images[0].base            # load base of the .so\nfunc = base + 0x0000ABCD                   # RVA of the target export (from Ghidra)\n\n# put args in x0..x7 (AArch64 AAPCS), allocate scratch memory for pointers as needed\nbuf = ql.mem.map_anywhere(0x1000)\nql.mem.write(buf, b\"\\x00\" * 0x1000)\nql.arch.regs.x0 = buf\nql.arch.regs.x1 = 42\n\nql.arch.regs.lr = ql.os.exit_point        # so `ret` cleanly stops the emulator\nql.run(begin=func)                         # run from the function entry\nprint(hex(ql.arch.regs.x0))                # return value in x0\n```\n\n4. **Hook** anything you need — trace, patch, or stub a call:\n\n```python\ndef trace(ql, address, size):\n    print(f\"{address:#x}\")\nql.hook_code(trace)                        # or ql.hook_address(cb, addr) for one point\n```\n\n5. **Iterate**: wrap steps in a loop over many inputs to brute-force \u002F map an algorithm — the\n   whole point of going off-device (no per-call device round-trip, fully deterministic).\n\n## Common mistakes\n\n- Installing into base **Python 3.14** — wheels fail to build; always use the 3.12 venv above.\n- Forgetting to set `lr`\u002F`ol.os.exit_point` before `ql.run(begin=...)`, so `ret` runs off into\n  unmapped memory instead of stopping — set the return address to the exit point.\n- Passing pointer args as raw integers without first `mem.map`\u002F`mem.write`-ing a real buffer.\n- Emulating a function that calls into the engine\u002FJNI\u002FGLES and expecting it to \"just work\" —\n  Qiling shines on **self-contained** routines; heavy engine coupling belongs on-device with\n  `frida`. Pick the leaf function, not the whole subsystem.\n- Treating a green emulation as ground truth without cross-checking one case against the real\n  device via `frida` — emulation can diverge on missing syscalls\u002Fenv. Confirm the anchor case.\n\n## Relationship to the RE harness\n\nQiling is intentionally **not** auto-launched by `re-ensure` \u002F `re_launch.py` (those bring up\nIDA\u002FGhidra\u002FHexStrike GUIs). It is a plain Python library in its own venv — invoke it directly\nper the setup above. It is the local, license-free member of the same family as the parked\n`Reversecore` bundle (angr + Qiling + Volatility3 + binwalk + CAPA); use this focused skill\nrather than that mega-bundle.\n\n## Reference\n\n- Upstream: `https:\u002F\u002Fqilingframework.io\u002F` · repo `github.com\u002Fqilingframework\u002Fqiling`\n- Docs (API, hooks, rootfs): the repo `docs\u002F` and `examples\u002F` directories\n- Built on Unicorn (`unicorn-engine.org`), Capstone, Keystone\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**Python 3.12** (3.11 also works) and install there:\n\n```powershell\n# from any working dir; keep this venv out of git\npy -3.12 -m venv C:\\Users\\Prekzursil\\.venvs\\qiling\n& C:\\Users\\Prekzursil\\.venvs\\qiling\\Scripts\\python.exe -m pip install --upgrade pip\n& C:\\Users\\Prekzursil\\.venvs\\qiling\\Scripts\\python.exe -m pip install qiling\n# sanity\n& C:\\Users\\Prekzursil\\.venvs\\qiling\\Scripts\\python.exe -c \"import qiling,unicorn,capstone;print(qiling.__version__)\"\n```\n\nVerified working combo (2026-07-12): **qiling 1.4.6 · unicorn 2.1.4 · capstone 5.0.7** under\nPython 3.12. `pip install qiling` pulls unicorn, capstone, keystone, pyelftools, gevent, etc.\n\nRootfs: emulating a *full* ELF that makes libc\u002Fsyscall calls needs a matching rootfs\n(Qiling ships `examples\u002Frootfs\u002Farm64_android` and `arm64_linux` in its git repo — clone\n`github.com\u002Fqilingframework\u002Fqiling` if you need it, or use `--recursive` for the rootfs\nsubmodule). Emulating a **single pure function via `code=`** (below) needs **no rootfs**.\n\n## Smallest proof (this actually runs — verified)\n\nRaw ARM64 code, no device, no rootfs — proves the CPU sandbox works:\n\n```python\nfrom keystone import Ks, KS_ARCH_ARM64, KS_MODE_LITTLE_ENDIAN\nfrom qiling import Qiling\nfrom qiling.const import QL_ARCH, QL_OS, QL_VERBOSE\n\ncode, _ = Ks(KS_ARCH_ARM64, KS_MODE_LITTLE_ENDIAN).asm(\"movz x0, #0x1234; add x0, x0, #0x11\")\nql = Qiling(code=bytes(code), archtype=QL_ARCH.ARM64, ostype=QL_OS.LINUX, verbose=QL_VERBOSE.OFF)\nql.run()\nassert ql.arch.regs.x0 == 0x1245        # -> passes\n```\n\n## Workflow: call one exported function of the BC `.so`\n\n1. **Extract** the native lib: `apktool` \u002F `unzip` the APK, take `lib\u002Farm64-v8a\u002F\u003Clib>.so`.\n2. **Locate** the target function's file offset \u002F RVA and prototype in Ghidra\u002Fradare2 first\n   (this skill executes; it does not find the function for you).\n3. **Load & call** with Qiling, driving the ELF's own loader so relocations\u002FGOT are set up:\n\n```python\nfrom qiling import Qiling\nfrom qiling.const import QL_VERBOSE\n\n# rootfs must match the .so's ABI (arm64 android). Point argv at the .so so Qiling maps it.\nql = Qiling([r\"path\\to\\libnative-lib.so\"], r\"path\\to\\qiling\\examples\\rootfs\\arm64_android\",\n            verbose=QL_VERBOSE.OFF)\n\nbase = ql.loader.images[0].base            # load base of the .so\nfunc = base + 0x0000ABCD                   # RVA of the target export (from Ghidra)\n\n# put args in x0..x7 (AArch64 AAPCS), allocate scratch memory for pointers as needed\nbuf = ql.mem.map_anywhere(0x1000)\nql.mem.write(buf, b\"\\x00\" * 0x1000)\nql.arch.regs.x0 = buf\nql.arch.regs.x1 = 42\n\nql.arch.regs.lr = ql.os.exit_point        # so `ret` cleanly stops the emulator\nql.run(begin=func)                         # run from the function entry\nprint(hex(ql.arch.regs.x0))                # return value in x0\n```\n\n4. **Hook** anything you need — trace, patch, or stub a call:\n\n```python\ndef trace(ql, address, size):\n    print(f\"{address:#x}\")\nql.hook_code(trace)                        # or ql.hook_address(cb, addr) for one point\n```\n\n5. **Iterate**: wrap steps in a loop over many inputs to brute-force \u002F map an algorithm — the\n   whole point of going off-device (no per-call device round-trip, fully deterministic).\n\n## Common mistakes\n\n- Installing into base **Python 3.14** — wheels fail to build; always use the 3.12 venv above.\n- Forgetting to set `lr`\u002F`ol.os.exit_point` before `ql.run(begin=...)`, so `ret` runs off into\n  unmapped memory instead of stopping — set the return address to the exit point.\n- Passing pointer args as raw integers without first `mem.map`\u002F`mem.write`-ing a real buffer.\n- Emulating a function that calls into the engine\u002FJNI\u002FGLES and expecting it to \"just work\" —\n  Qiling shines on **self-contained** routines; heavy engine coupling belongs on-device with\n  `frida`. Pick the leaf function, not the whole subsystem.\n- Treating a green emulation as ground truth without cross-checking one case against the real\n  device via `frida` — emulation can diverge on missing syscalls\u002Fenv. Confirm the anchor case.\n\n## Relationship to the RE harness\n\nQiling is intentionally **not** auto-launched by `re-ensure` \u002F `re_launch.py` (those bring up\nIDA\u002FGhidra\u002FHexStrike GUIs). It is a plain Python library in its own venv — invoke it directly\nper the setup above. It is the local, license-free member of the same family as the parked\n`Reversecore` bundle (angr + Qiling + Volatility3 + binwalk + CAPA); use this focused skill\nrather than that mega-bundle.\n\n## Reference\n\n- Upstream: `https:\u002F\u002Fqilingframework.io\u002F` · repo `github.com\u002Fqilingframework\u002Fqiling`\n- Docs (API, hooks, rootfs): the repo `docs\u002F` and `examples\u002F` directories\n- Built on Unicorn (`unicorn-engine.org`), Capstone, Keystone\n",{"name":5,"description":7},"main","a298c929b6cbd662e1fce54302ce520d5ceea1a5","skills\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\u002Fskills\u002Fqiling-emulation\u002FSKILL.md",true,[64,70,74,78,82,86,90,94],{"path":65,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":68,"sourceHtmlUrl":69},"steps\u002Fstep-01-document-discovery.md","REFERENCE","参考文档",5152,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-check-implementation-readiness\u002Fsteps\u002Fstep-01-document-discovery.md",{"path":71,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":72,"sourceHtmlUrl":73},"steps\u002Fstep-02-gdd-analysis.md",4753,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-check-implementation-readiness\u002Fsteps\u002Fstep-02-gdd-analysis.md",{"path":75,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":76,"sourceHtmlUrl":77},"steps\u002Fstep-03-epic-coverage-validation.md",4216,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-check-implementation-readiness\u002Fsteps\u002Fstep-03-epic-coverage-validation.md",{"path":79,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":80,"sourceHtmlUrl":81},"steps\u002Fstep-04-ux-alignment.md",3502,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-check-implementation-readiness\u002Fsteps\u002Fstep-04-ux-alignment.md",{"path":83,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":84,"sourceHtmlUrl":85},"steps\u002Fstep-05-epic-quality-review.md",6985,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-check-implementation-readiness\u002Fsteps\u002Fstep-05-epic-quality-review.md",{"path":87,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":88,"sourceHtmlUrl":89},"steps\u002Fstep-06-final-assessment.md",3409,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-check-implementation-readiness\u002Fsteps\u002Fstep-06-final-assessment.md",{"path":91,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":92,"sourceHtmlUrl":93},"templates\u002Freadiness-report-template.md",95,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-check-implementation-readiness\u002Ftemplates\u002Freadiness-report-template.md",{"path":95,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":96,"sourceHtmlUrl":97},"workflow.md",3001,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-check-implementation-readiness\u002Fworkflow.md",[99,120,150,177,191,207],{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":105,"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",[],[106,107,108,109,110,111,112,113,114,20,115,116,117,118,119],"clarify requirements","clarify","requirements","risk","options","task","prompts","goal","scanning","context","repo","injection","execution","file",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":131,"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",[126],{"categoryNo":127,"categoryName":128,"taxonomyType":129,"taxonomyTypeDesc":130},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[132,133,134,135,38,136,137,138,139,140,141,142,143,144,20,145,146,147,148,149],"openmm md","how","decision","pick","analyze","tool","stack","open","NVIDIA","gpu","license","workflow","windows","free","molecular dynamics","local","do","MCP",{"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":162,"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",[156,159],{"categoryNo":157,"categoryName":158,"taxonomyType":129,"taxonomyTypeDesc":130},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":160,"categoryName":161,"taxonomyType":129,"taxonomyTypeDesc":130},"01JBSEEDCAT000000000000008","测试与质量",[163,164,165,166,167,168,169,170,171,172,133,173,174,175,176],"review","visual","visual review","pages","web","false","iteration","take","check","slides","ui","screenshot","playwright","screenshots",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":183,"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",[],[179,184,185,186,187,188,189,190],"setup","report","project","installation","project setup","issues","state",{"skillNo":192,"name":193,"nameZh":6,"description":194,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":195,"categories":196,"keywords":198,"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",[197],{"categoryNo":127,"categoryName":128,"taxonomyType":129,"taxonomyTypeDesc":130},[193,199,111,200,201,202,20,203,204,205,206],"start issue","issue","ready","work on issue","user","work","work on","development",{"skillNo":208,"name":184,"nameZh":6,"description":209,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":210,"categories":211,"keywords":212,"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",[],[184,186,147,213,188,214],"files","interactive"]