[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71D8TQA8MZR4TCYJCAMACFQ":3,"skill-same:01M71D8TQA8MZR4TCYJCAMACFQ":107},{"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":16,"sourceHtmlUrl":17,"categories":18,"keywords":24,"publishedAt":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":14,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":6,"ownerDescription":42,"updatedAt":43,"install":44,"resources":57},"01M71D8TQA8MZR4TCYJCAMACFQ","devel-jb-skill-installer",null,"- Installed annotations come from `$CODEX_HOME\u002Fskills`.","DCx7C5\u002Fai-marketplace","DCx7C5","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F42419559?v=4","01M71C01G2AZV3NTNGWAWSHJPP","DC","01M71C01GQW6G50S2BYMS7PP3E",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fdevel-jb-skill-installer\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fdevel-jb-skill-installer\u002FSKILL.md",[19],{"categoryNo":20,"categoryName":21,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[25,26,27,28,29,30,31],"installer","devel jb skill installer","skill installer","home","codex","cybersecurity","annotations","2026-11-10 10:12:30",false,"---\nname: devel-jb-skill-installer\ndescription: \"- Installed annotations come from `$CODEX_HOME\u002Fskills`.\"\ndomain: cybersecurity\n---\n\n# Skill Installer\n\nHelps install skills. By default these are from https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills\u002Ftree\u002Fmain\u002Fskills\u002F.curated, but users can also provide other locations.\n\nUse the helper scripts based on the task:\n- List skills when the user asks what is available, or if the user uses this skill without specifying what to do. Default listing is `.curated`, but you can pass `--path skills\u002F.experimental` when they ask about experimental skills.\n- Install from the curated list when the user provides a skill name.\n- Install from another repo when the user provides a GitHub repo\u002Fpath (including private repos).\n\nInstall skills with the helper scripts.\n\n## Communication\n\nWhen listing skills, output approximately as follows, depending on the context of the user's request. If they ask about experimental skills, list from `.experimental` instead of `.curated` and label the source accordingly:\n\"\"\"\nSkills from {repo}:\n1. skill-1\n2. skill-2 (already installed)\n3. ...\nWhich ones would you like installed?\n\"\"\"\n\nAfter installing a skill, tell the user: \"Restart Codex to pick up new skills.\"\n\n## Scripts\n\nAll of these scripts use network, so when running in the sandbox, request escalation when running them.\n\n- `scripts\u002Flist-skills.py` (prints skills list with installed annotations)\n- `scripts\u002Flist-skills.py --format json`\n- Example (experimental list): `scripts\u002Flist-skills.py --path skills\u002F.experimental`\n- `scripts\u002Finstall-skill-from-github.py --repo \u003Cowner>\u002F\u003Crepo> --path \u003Cpath\u002Fto\u002Fskill> [\u003Cpath\u002Fto\u002Fskill> ...]`\n- `scripts\u002Finstall-skill-from-github.py --url https:\u002F\u002Fgithub.com\u002F\u003Cowner>\u002F\u003Crepo>\u002Ftree\u002F\u003Cref>\u002F\u003Cpath>`\n- Example (experimental skill): `scripts\u002Finstall-skill-from-github.py --repo openai\u002Fskills --path skills\u002F.experimental\u002F\u003Cskill-name>`\n\n## Behavior and Options\n\n- Defaults to direct download for public GitHub repos.\n- If download fails with auth\u002Fpermission errors, falls back to git sparse checkout.\n- Aborts if the destination skill directory already exists.\n- Installs into `$CODEX_HOME\u002Fskills\u002F\u003Cskill-name>` (defaults to `~\u002F.codex\u002Fskills`).\n- Multiple `--path` values install multiple skills in one run, each named from the path basename unless `--name` is supplied.\n- Options: `--ref \u003Cref>` (default `main`), `--dest \u003Cpath>`, `--method auto|download|git`.\n\n## Notes\n\n- Curated listing is fetched from `https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills\u002Ftree\u002Fmain\u002Fskills\u002F.curated` via the GitHub API. If it is unavailable, explain the error and exit.\n- Private GitHub repos can be accessed via existing git credentials or optional `GITHUB_TOKEN`\u002F`GH_TOKEN` for download.\n- Git fallback tries HTTPS first, then SSH.\n- The skills at https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills\u002Ftree\u002Fmain\u002Fskills\u002F.system are preinstalled, so no need to help users install those. If they ask, just explain this. If they insist, you can download and overwrite.\n- Installed annotations come from `$CODEX_HOME\u002Fskills`.\n","# Skill Installer\n\nHelps install skills. By default these are from https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills\u002Ftree\u002Fmain\u002Fskills\u002F.curated, but users can also provide other locations.\n\nUse the helper scripts based on the task:\n- List skills when the user asks what is available, or if the user uses this skill without specifying what to do. Default listing is `.curated`, but you can pass `--path skills\u002F.experimental` when they ask about experimental skills.\n- Install from the curated list when the user provides a skill name.\n- Install from another repo when the user provides a GitHub repo\u002Fpath (including private repos).\n\nInstall skills with the helper scripts.\n\n## Communication\n\nWhen listing skills, output approximately as follows, depending on the context of the user's request. If they ask about experimental skills, list from `.experimental` instead of `.curated` and label the source accordingly:\n\"\"\"\nSkills from {repo}:\n1. skill-1\n2. skill-2 (already installed)\n3. ...\nWhich ones would you like installed?\n\"\"\"\n\nAfter installing a skill, tell the user: \"Restart Codex to pick up new skills.\"\n\n## Scripts\n\nAll of these scripts use network, so when running in the sandbox, request escalation when running them.\n\n- `scripts\u002Flist-skills.py` (prints skills list with installed annotations)\n- `scripts\u002Flist-skills.py --format json`\n- Example (experimental list): `scripts\u002Flist-skills.py --path skills\u002F.experimental`\n- `scripts\u002Finstall-skill-from-github.py --repo \u003Cowner>\u002F\u003Crepo> --path \u003Cpath\u002Fto\u002Fskill> [\u003Cpath\u002Fto\u002Fskill> ...]`\n- `scripts\u002Finstall-skill-from-github.py --url https:\u002F\u002Fgithub.com\u002F\u003Cowner>\u002F\u003Crepo>\u002Ftree\u002F\u003Cref>\u002F\u003Cpath>`\n- Example (experimental skill): `scripts\u002Finstall-skill-from-github.py --repo openai\u002Fskills --path skills\u002F.experimental\u002F\u003Cskill-name>`\n\n## Behavior and Options\n\n- Defaults to direct download for public GitHub repos.\n- If download fails with auth\u002Fpermission errors, falls back to git sparse checkout.\n- Aborts if the destination skill directory already exists.\n- Installs into `$CODEX_HOME\u002Fskills\u002F\u003Cskill-name>` (defaults to `~\u002F.codex\u002Fskills`).\n- Multiple `--path` values install multiple skills in one run, each named from the path basename unless `--name` is supplied.\n- Options: `--ref \u003Cref>` (default `main`), `--dest \u003Cpath>`, `--method auto|download|git`.\n\n## Notes\n\n- Curated listing is fetched from `https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills\u002Ftree\u002Fmain\u002Fskills\u002F.curated` via the GitHub API. If it is unavailable, explain the error and exit.\n- Private GitHub repos can be accessed via existing git credentials or optional `GITHUB_TOKEN`\u002F`GH_TOKEN` for download.\n- Git fallback tries HTTPS first, then SSH.\n- The skills at https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills\u002Ftree\u002Fmain\u002Fskills\u002F.system are preinstalled, so no need to help users install those. If they ask, just explain this. If they insist, you can download and overwrite.\n- Installed annotations come from `$CODEX_HOME\u002Fskills`.\n",{"name":5,"domain":30,"description":7},"main","a91f1293287ffa9f4f1b8f486cd6e835a1568c84","skills\u002Fdevel-jb-skill-installer","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace","https:\u002F\u002Fgithub.com\u002FDCx7C5","#Python","2026-09-01 11:21:00",{"source":8,"skillName":5,"commands":45,"prompt":55,"zipAvailable":56},[46,49,52],{"tool":47,"command":48},"npx","npx skills add DCx7C5\u002Fai-marketplace --skill devel-jb-skill-installer",{"tool":50,"command":51},"bunx","bunx skills add DCx7C5\u002Fai-marketplace --skill devel-jb-skill-installer",{"tool":53,"command":54},"pnpm","pnpm dlx skills add DCx7C5\u002Fai-marketplace --skill devel-jb-skill-installer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fdevel-jb-skill-installer\u002FSKILL.md",true,[58,64,68,73,77,81,85,90,96,99,103],{"path":59,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":62,"sourceHtmlUrl":63},"agents\u002Findex.json","REFERENCE","参考文档",84,"https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fdevel-jb-skill-installer\u002Fagents\u002Findex.json",{"path":65,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":66,"sourceHtmlUrl":67},"agents\u002Fopenai.yaml",221,"https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fdevel-jb-skill-installer\u002Fagents\u002Fopenai.yaml",{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":62,"sourceHtmlUrl":72},"assets\u002Findex.json","ASSET","资产文件","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fdevel-jb-skill-installer\u002Fassets\u002Findex.json",{"path":74,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":75,"sourceHtmlUrl":76},"assets\u002Fskill-installer-small.svg",923,"https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fdevel-jb-skill-installer\u002Fassets\u002Fskill-installer-small.svg",{"path":78,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":79,"sourceHtmlUrl":80},"assets\u002Fskill-installer.png",1036,"https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fdevel-jb-skill-installer\u002Fassets\u002Fskill-installer.png",{"path":82,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":83,"sourceHtmlUrl":84},"index.json",1419,"https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fdevel-jb-skill-installer\u002Findex.json",{"path":86,"resourceType":87,"resourceTypeDesc":88,"sizeBytes":89,"sourceHtmlUrl":16},"LICENSE.txt","LICENSE","许可证",11358,{"path":91,"resourceType":92,"resourceTypeDesc":93,"sizeBytes":94,"sourceHtmlUrl":95},"scripts\u002Fgithub_utils.py","SCRIPT","脚本",659,"https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fdevel-jb-skill-installer\u002Fscripts\u002Fgithub_utils.py",{"path":97,"resourceType":92,"resourceTypeDesc":93,"sizeBytes":62,"sourceHtmlUrl":98},"scripts\u002Findex.json","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fdevel-jb-skill-installer\u002Fscripts\u002Findex.json",{"path":100,"resourceType":92,"resourceTypeDesc":93,"sizeBytes":101,"sourceHtmlUrl":102},"scripts\u002Finstall-skill-from-github.py",10096,"https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fdevel-jb-skill-installer\u002Fscripts\u002Finstall-skill-from-github.py",{"path":104,"resourceType":92,"resourceTypeDesc":93,"sizeBytes":105,"sourceHtmlUrl":106},"scripts\u002Flist-skills.py",2967,"https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fdevel-jb-skill-installer\u002Fscripts\u002Flist-skills.py",[108,134,157,179,201,217],{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":112,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":32},"01M71HAPZ01KQ30RKTB0FFSQ05","services-wmi-persistence-detect","Detect WMI event subscription persistence by enumerating ActiveScriptEventConsumer, CommandLineEventConsumer, and permanent subscriptions in the WMI repository.","MIT","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fservices\u002Fwmi\u002Fpersistence\u002Fdetect\u002FSKILL.md",[],[116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,30,133],"services","detect","services wmi persistence detect","wmi","persistence","de","cm","process","activescript","event","subscriptions","commandline-consumer","repository","subscription","event-subscription","t1546.003","forensics","process-forensics",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":112,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":32},"01M71HAK6JTTTS229T17WJMMCG","services-wmi-exec-exploit","Perform lateral movement across Windows networks using WMI-based remote execution techniques including Impacket wmiexec.py, CrackMapExec, and native WMI commands for stealthy post-exploitation during red team engagements.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fservices\u002Fwmi\u002Fexec\u002Fexploit\u002FSKILL.md",[],[141,116,142,119,143,144,145,30,146,147,148,149,150,151,121,152,153,154,155,156],"exploit","services wmi exec exploit","exec","remote","traffic","Bash","analysis","team","across","crackmapexec","native","command","lateral movement","read","lateral-movement","Impacket",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":112,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":163,"publishedAt":32},"01M71HAG6MHKNQV8KDZKMT4886","registry-artifact-extract","Extract and analyze Windows Registry hives to uncover user activity, installed software, autostart entries, and evidence of system compromise.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fregistry\u002Fartifact\u002Fextract\u002FSKILL.md",[],[164,165,166,167,168,169,30,146,170,147,171,172,121,154,173,174,175,176,177,178],"artifact","registry","registry artifact extract","extract","evidence-collection","artifact-analysis","collection","analyze","uncover","software","activity","digital-forensics","windows-registry","regripper","sonnet",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":112,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":185,"publishedAt":32},"01M71HACR4A8XTWTTSXK4124AA","processes-token-impersonate-detect","Detect Windows token impersonation and privilege abuse including SeImpersonatePrivilege exploitation via Potato attacks and token stealing techniques.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fprocesses\u002Ftoken\u002Fimpersonate\u002Fdetect\u002FSKILL.md",[],[117,186,187,188,189,190,191,122,192,30,133,193,194,195,196,197,198,199,200,121],"processes token impersonate detect","token","processes","attacks","windows","escalation","techniques","privilege-escalation","seimpersonate","token-impersonation","printspoofer","exploitation","potato","impersonation","via",{"skillNo":202,"name":203,"nameZh":6,"description":204,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":112,"licenseFileUrl":6,"sourceHtmlUrl":205,"categories":206,"keywords":207,"publishedAt":32},"01M71HAABSB4Z6QFSXEG00R4RK","processes-thread-injection-detect","Detect Windows thread injection techniques including CreateRemoteThread, QueueUserAPC, NtCreateThreadEx, and thread hijacking via process memory analysis.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fprocesses\u002Fthread\u002Finjection\u002Fdetect\u002FSKILL.md",[],[208,209,117,210,188,190,211,122,212,192,30,133,147,213,214,215,216,200,121,123],"thread","processes thread injection detect","injection","memory","process-injection","api","apc-injection","thread-injection","nt-api",{"skillNo":218,"name":219,"nameZh":6,"description":220,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":112,"licenseFileUrl":6,"sourceHtmlUrl":221,"categories":222,"keywords":223,"publishedAt":32},"01M71HA7H311V5G14WMX58HQSS","processes-hollow-technique-detect","Detect process hollowing (RunPE) by identifying processes with mismatched image paths between PEB and VAD tree, or unmapped PE headers in memory.","https:\u002F\u002Fgithub.com\u002FDCx7C5\u002Fai-marketplace\u002Fblob\u002Fmain\u002Fskills\u002Fwindows\u002Fprocesses\u002Fhollow\u002Ftechnique\u002Fdetect\u002FSKILL.md",[],[224,117,188,225,211,122,226,227,30,133,228,229,230,231,232,233,121,123,234,235],"processes hollow technique detect","tree","memory-forensics","process-hollow","peb","runpe","image","pe-header","in memory","with","mismatched","headers"]