[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71RY60YMQFE95A91QHA8DPG":3,"skill-same:01M71RY60YMQFE95A91QHA8DPG":63},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":49,"install":50,"resources":62},"01M71RY60YMQFE95A91QHA8DPG","pstack-swarm",null,"Fan out N parallel workers, drain them, and return one report. Use for \u002Fskill:pstack-swarm, 'swarm this', or parallel coverage, races, gauntlets, and exploration.","dmae97\u002Fomk","dmae97","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F146327957?v=4","01M71RJRBWDNKEJ1A2DZVES8X1","01M71RJRCYHNT7E83M0Q42V6SJ",152,"MIT","https:\u002F\u002Fgithub.com\u002Fdmae97\u002Fomk\u002Fblob\u002Fmain\u002Fpackages\u002Fcoding-agent\u002Fresources\u002Fpstack\u002Fskills\u002Fswarm\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36],"swarm","pstack","pstack swarm","report","parallel","coverage","use","workers","exploration","drain","true","for","fan out","one","2026-11-10 13:02:02",false,"---\nname: pstack-swarm\ndescription: \"Fan out N parallel workers, drain them, and return one report. Use for \u002Fskill:pstack-swarm, 'swarm this', or parallel coverage, races, gauntlets, and exploration.\"\ndisable-model-invocation: true\n---\n\n# Swarm\n\n## Start\n\nOpen a todolist with one entry per phase before launching anything.\n\n1. Frame\n2. Fan out\n3. Aggregate\n4. Report\n\n## Phase A: Frame\n\n1. State the done predicate and the artifact or report the swarm must return.\n2. Choose the shape. Partition into slices, race N workers on identical briefs, or mix both. For a race or mixed shape, declare `first pass`, `rank all`, or `best-of` before spawning.\n3. Pick the worker model from the `swarm workers` line in the pstack settings file (`~\u002F.omk\u002Fagent\u002Fpstack-models.md`, written by `\u002Fskill:pstack-setup-pstack`). If the file or that line is missing, run the workers on the session model. `auto` and `inherit-parent` also mean the session model. If a configured model is not in the OMK catalog, run that seat on the session model and say so; never claim a cross-model seat you did not run. For a model race, name each arm's model up front. OMK subagents inherit the session model and effort; pass no model, effort, or speed fields.\n4. Give each worker its own writable output when it writes. When workers verify or measure commits, each brief names the exact SHAs. A measurement brief also names the method (sample count, what one sample is, order). The worker records both in its result.\n\n## Phase B: Fan out\n\nSpawn all N workers in one message as parallel `subagent` calls (`tasks: [{agent, task}, ...]`) using the step 3 model choice. Every worker runs locally, so give each its own git worktree or output path, and keep on this machine only the work that needs its files, auth, or running apps.\n\nWhen a worker must start from a non-default branch, create its local worktree from that explicit ref and include its absolute path in the brief.\n\n**Subagent parameters.** Pass only `agent`, `task`, and `agentScope`. Workers run locally, so give each one its own worktree or output path. Keep the brief. If the `subagent` extension is not loaded or the project is not trusted, run the workers yourself, one after another.\n\nEvery brief stands alone. Include the goal, scope, exact slice or race arm, how to verify, and what to report. Reports use `PASS`, `ISSUES`, or `BLOCKED` with evidence. A worker that can prove a defect reports `ISSUES` and lists every issue it can prove, not only the first.\n\nIf a worker drops out, proceed with N-1 and note it.\n\n## Phase C: Aggregate\n\nRead the terminal results. Drop a result that does not record the SHAs and method its brief names, and respawn that worker once. After a second miss, record a gap. A gap does not count as a pass. For coverage, every required slice needs a result. For a race, apply the selection rule declared up front. Use first pass, rank all, or best-of. Do not paste raw worker dumps.\n\n## Phase D: Report\n\nReturn one consolidated in-chat report with a result table, issue one-liners, gaps or dropouts, and the race rule when used.\n","# Swarm\n\n## Start\n\nOpen a todolist with one entry per phase before launching anything.\n\n1. Frame\n2. Fan out\n3. Aggregate\n4. Report\n\n## Phase A: Frame\n\n1. State the done predicate and the artifact or report the swarm must return.\n2. Choose the shape. Partition into slices, race N workers on identical briefs, or mix both. For a race or mixed shape, declare `first pass`, `rank all`, or `best-of` before spawning.\n3. Pick the worker model from the `swarm workers` line in the pstack settings file (`~\u002F.omk\u002Fagent\u002Fpstack-models.md`, written by `\u002Fskill:pstack-setup-pstack`). If the file or that line is missing, run the workers on the session model. `auto` and `inherit-parent` also mean the session model. If a configured model is not in the OMK catalog, run that seat on the session model and say so; never claim a cross-model seat you did not run. For a model race, name each arm's model up front. OMK subagents inherit the session model and effort; pass no model, effort, or speed fields.\n4. Give each worker its own writable output when it writes. When workers verify or measure commits, each brief names the exact SHAs. A measurement brief also names the method (sample count, what one sample is, order). The worker records both in its result.\n\n## Phase B: Fan out\n\nSpawn all N workers in one message as parallel `subagent` calls (`tasks: [{agent, task}, ...]`) using the step 3 model choice. Every worker runs locally, so give each its own git worktree or output path, and keep on this machine only the work that needs its files, auth, or running apps.\n\nWhen a worker must start from a non-default branch, create its local worktree from that explicit ref and include its absolute path in the brief.\n\n**Subagent parameters.** Pass only `agent`, `task`, and `agentScope`. Workers run locally, so give each one its own worktree or output path. Keep the brief. If the `subagent` extension is not loaded or the project is not trusted, run the workers yourself, one after another.\n\nEvery brief stands alone. Include the goal, scope, exact slice or race arm, how to verify, and what to report. Reports use `PASS`, `ISSUES`, or `BLOCKED` with evidence. A worker that can prove a defect reports `ISSUES` and lists every issue it can prove, not only the first.\n\nIf a worker drops out, proceed with N-1 and note it.\n\n## Phase C: Aggregate\n\nRead the terminal results. Drop a result that does not record the SHAs and method its brief names, and respawn that worker once. After a second miss, record a gap. A gap does not count as a pass. For coverage, every required slice needs a result. For a race, apply the selection rule declared up front. Use first pass, rank all, or best-of. Do not paste raw worker dumps.\n\n## Phase D: Report\n\nReturn one consolidated in-chat report with a result table, issue one-liners, gaps or dropouts, and the race rule when used.\n",{"name":5,"description":7,"disable-model-invocation":42},true,"main","ea03fcf76b438f12f0cebcd6b255d24d4cb52741","packages\u002Fcoding-agent\u002Fresources\u002Fpstack\u002Fskills\u002Fswarm",29,"https:\u002F\u002Fgithub.com\u002Fdmae97\u002Fomk","https:\u002F\u002Fgithub.com\u002Fdmae97","2026-11-13 14:34:42",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":42},[52,55,58],{"tool":53,"command":54},"npx","npx skills add dmae97\u002Fomk --skill pstack-swarm",{"tool":56,"command":57},"bunx","bunx skills add dmae97\u002Fomk --skill pstack-swarm",{"tool":59,"command":60},"pnpm","pnpm dlx skills add dmae97\u002Fomk --skill pstack-swarm","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdmae97\u002Fomk\u002Fblob\u002Fmain\u002Fpackages\u002Fcoding-agent\u002Fresources\u002Fpstack\u002Fskills\u002Fswarm\u002FSKILL.md",[],[64,75,89,102,113,121],{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":71,"publishedAt":37},"01M71RZKQCQ4G7MP08TE3QQ0PD","valid-skill","A valid skill for testing purposes.","https:\u002F\u002Fgithub.com\u002Fdmae97\u002Fomk\u002Fblob\u002Fmain\u002Fpackages\u002Fcoding-agent\u002Ftest\u002Ffixtures\u002Fskills\u002Fvalid-skill\u002FSKILL.md",[70],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[72,73,74,34],"valid skill","valid","testing",{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":82,"publishedAt":37},"01M71RZJ8YHH8GKADPTSZBCJ1T","unknown-field","A skill with an unknown frontmatter field.","https:\u002F\u002Fgithub.com\u002Fdmae97\u002Fomk\u002Fblob\u002Fmain\u002Fpackages\u002Fcoding-agent\u002Ftest\u002Ffixtures\u002Fskills\u002Funknown-field\u002FSKILL.md",[81],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[83,84,85,86,87,88],"unknown","unknown field","a skill","frontmatter","with","unknown frontmatter field",{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":96,"publishedAt":37},"01M71RZH4FVEENABTV8WTQ5HTS","nested-child","Nested skill should be ignored.","https:\u002F\u002Fgithub.com\u002Fdmae97\u002Fomk\u002Fblob\u002Fmain\u002Fpackages\u002Fcoding-agent\u002Ftest\u002Ffixtures\u002Fskills\u002Froot-skill-preferred\u002Fnested-child\u002FSKILL.md",[95],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[97,98,99,100,101],"nested child","child","nested","ignored","nested skill",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":109,"publishedAt":37},"01M71RZFZYSXRRVY5M8HP05NJV","root-skill-preferred","Root skill should win.","https:\u002F\u002Fgithub.com\u002Fdmae97\u002Fomk\u002Fblob\u002Fmain\u002Fpackages\u002Fcoding-agent\u002Ftest\u002Ffixtures\u002Fskills\u002Froot-skill-preferred\u002FSKILL.md",[108],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[110,111,112],"root","root skill preferred","root skill",{"skillNo":114,"name":115,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":119,"publishedAt":37},"01M71RZEQDH7RZ1PH36G7GPN9N","no-frontmatter","https:\u002F\u002Fgithub.com\u002Fdmae97\u002Fomk\u002Fblob\u002Fmain\u002Fpackages\u002Fcoding-agent\u002Ftest\u002Ffixtures\u002Fskills\u002Fno-frontmatter\u002FSKILL.md",[118],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[86,120],"no frontmatter",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":128,"publishedAt":37},"01M71RZDC0QR3ZJQ549N3H94Y4","child-skill","A nested skill in a subdirectory.","https:\u002F\u002Fgithub.com\u002Fdmae97\u002Fomk\u002Fblob\u002Fmain\u002Fpackages\u002Fcoding-agent\u002Ftest\u002Ffixtures\u002Fskills\u002Fnested\u002Fchild-skill\u002FSKILL.md",[127],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[129,98,101,99],"child skill"]