[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7DFX64VSTQV0CSGYR76MPZF":3,"skill-same:01M7DFX64VSTQV0CSGYR76MPZF":52},{"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":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":14,"repositoryHtmlUrl":27,"repositoryHomepageUrl":6,"ownerHtmlUrl":28,"ownerBlogUrl":29,"ownerDescription":30,"updatedAt":31,"install":32,"resources":45},"01M7DFX64VSTQV0CSGYR76MPZF","write-agent",null,"Use when creating, designing, or fixing an omp subagent (task agent) — triggers include \"write an agent\", \"make me an agent\", \"create a subagent\", agent `.md` definitions, and agents that misbehave when spawned via task.","heynemann\u002Fomp-marketplace","heynemann","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F60965?v=4","01M7DFBD9ZDB2J2QE7R4AR0PES","Bernardo Heynemann","01M7DFBDAM3NXF540P210W3NYT",0,"MIT","https:\u002F\u002Fgithub.com\u002Fheynemann\u002Fomp-marketplace\u002Fblob\u002Fmain\u002Fplugins\u002Fbase\u002Fskills\u002Fwrite-agent\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: write-agent\ndescription: Use when creating, designing, or fixing an omp subagent (task agent) — triggers include \"write an agent\", \"make me an agent\", \"create a subagent\", agent `.md` definitions, and agents that misbehave when spawned via task.\n---\n\n# write-agent\n\nTurn a job into an omp task agent: grill the design, write the definition, smoke the spawn. Three steps, in order. Each ends on a completion criterion; do not advance early.\n\n## 1. Grill\n\nMap the agent as a **design tree** and interview the user per the grilling-via-ask rule. Ask the frontier in rounds; a question blocked by an open sibling waits for the next round. Facts you can look up (existing agents, tool names, model selectors) are yours — check `~\u002F.omp\u002Fagent\u002Fagents\u002F`, `.omp\u002Fagents\u002F`, and installed plugins first; the *decisions* are the user's.\n\nFrontier branches, in rough order:\n\n- **Job**: one sentence, one responsibility. An agent with two jobs is two agents.\n- **Surface**: tools it may use. Read-only research (read\u002Fgrep\u002Fglob\u002Ffind\u002Fweb_search) vs. mutation (edit\u002Fwrite\u002Fbash). Wrong side = untrustworthy output or a sandboxed agent that can't finish.\n- **Autonomy**: does it run unattended (`blocking: false`, async) or must the parent wait (`blocking: true`)? Can it spawn children (`spawns`)?\n- **Model**: effort level and selector (`@smol`, `@slow`, role alias, or concrete model). Cheap effort for mechanical work; high effort for reasoning-bound jobs.\n- **Output**: free text, or a schema the parent parses? Structured consumers (workpools, orchestration) want `output`.\n- **Triggers**: when should the parent dispatch this agent instead of another? These words become its `description`.\n- **Home**: where the file lives — project `.omp\u002Fagents\u002F` (repo-shared), user `~\u002F.omp\u002Fagent\u002Fagents\u002F` (personal), or shipped in a plugin's `agents\u002F` dir (distributed with base@heynemann).\n\nCompletion: frontier empty **and** the user confirms the design. Read back the tree before writing anything.\n\n## 2. Write\n\nRead [`agent-format.md`](agent-format.md), then write one `.md` file named `\u003Cagent-name>.md` in the home the user picked. `name` + `description` + body (the system prompt) are required; add optional frontmatter fields only where the grill gave you a decision.\n\n**Description is a trigger pointer**: front-load the leading words, list the branches that should dispatch this agent, cut what the body already says. Same rules as a skill description.\n\n**The body is the whole world**: subagents start blank — no conversation history, no user context. The dispatch `task` text arrives at first turn; the parent's `context` string precedes it. Write the body so an agent that has never seen this conversation can succeed: state the job, the contract (what it receives, what it returns), the constraints, and the completion criteria. Borrow the dispatch convention that keeps this readable: `# Target`, `# Change`, `# Acceptance`.\n\n**Positive phrasing**: prompt the behavior you want; a prohibition earns its place only as a hard guardrail, paired with the positive target.\n\n**RFC 2119**: MUST\u002FSHOULD\u002FOPTIONAL with the same weight as the harness uses — MUST for correctness-critical behavior, never for style.\n\nCompletion: file written, frontmatter parses (name + description non-empty), body self-contained. Re-read the file once before advancing.\n\n## 3. Smoke\n\nDispatch proves it: spawn the agent with a trivial task exercising its main path (read-only agent → one real lookup; structured agent → one schema-valid return). Fix what the smoke exposes — a spawn error, a schema miss, a rambling return — then smoke again.\n\nCompletion: the dispatch returned and its shape matches the design from step 1.\n\nReport to the user: file path, the trigger `description` verbatim, and the smoke result.\n","# write-agent\n\nTurn a job into an omp task agent: grill the design, write the definition, smoke the spawn. Three steps, in order. Each ends on a completion criterion; do not advance early.\n\n## 1. Grill\n\nMap the agent as a **design tree** and interview the user per the grilling-via-ask rule. Ask the frontier in rounds; a question blocked by an open sibling waits for the next round. Facts you can look up (existing agents, tool names, model selectors) are yours — check `~\u002F.omp\u002Fagent\u002Fagents\u002F`, `.omp\u002Fagents\u002F`, and installed plugins first; the *decisions* are the user's.\n\nFrontier branches, in rough order:\n\n- **Job**: one sentence, one responsibility. An agent with two jobs is two agents.\n- **Surface**: tools it may use. Read-only research (read\u002Fgrep\u002Fglob\u002Ffind\u002Fweb_search) vs. mutation (edit\u002Fwrite\u002Fbash). Wrong side = untrustworthy output or a sandboxed agent that can't finish.\n- **Autonomy**: does it run unattended (`blocking: false`, async) or must the parent wait (`blocking: true`)? Can it spawn children (`spawns`)?\n- **Model**: effort level and selector (`@smol`, `@slow`, role alias, or concrete model). Cheap effort for mechanical work; high effort for reasoning-bound jobs.\n- **Output**: free text, or a schema the parent parses? Structured consumers (workpools, orchestration) want `output`.\n- **Triggers**: when should the parent dispatch this agent instead of another? These words become its `description`.\n- **Home**: where the file lives — project `.omp\u002Fagents\u002F` (repo-shared), user `~\u002F.omp\u002Fagent\u002Fagents\u002F` (personal), or shipped in a plugin's `agents\u002F` dir (distributed with base@heynemann).\n\nCompletion: frontier empty **and** the user confirms the design. Read back the tree before writing anything.\n\n## 2. Write\n\nRead [`agent-format.md`](agent-format.md), then write one `.md` file named `\u003Cagent-name>.md` in the home the user picked. `name` + `description` + body (the system prompt) are required; add optional frontmatter fields only where the grill gave you a decision.\n\n**Description is a trigger pointer**: front-load the leading words, list the branches that should dispatch this agent, cut what the body already says. Same rules as a skill description.\n\n**The body is the whole world**: subagents start blank — no conversation history, no user context. The dispatch `task` text arrives at first turn; the parent's `context` string precedes it. Write the body so an agent that has never seen this conversation can succeed: state the job, the contract (what it receives, what it returns), the constraints, and the completion criteria. Borrow the dispatch convention that keeps this readable: `# Target`, `# Change`, `# Acceptance`.\n\n**Positive phrasing**: prompt the behavior you want; a prohibition earns its place only as a hard guardrail, paired with the positive target.\n\n**RFC 2119**: MUST\u002FSHOULD\u002FOPTIONAL with the same weight as the harness uses — MUST for correctness-critical behavior, never for style.\n\nCompletion: file written, frontmatter parses (name + description non-empty), body self-contained. Re-read the file once before advancing.\n\n## 3. Smoke\n\nDispatch proves it: spawn the agent with a trivial task exercising its main path (read-only agent → one real lookup; structured agent → one schema-valid return). Fix what the smoke exposes — a spawn error, a schema miss, a rambling return — then smoke again.\n\nCompletion: the dispatch returned and its shape matches the design from step 1.\n\nReport to the user: file path, the trigger `description` verbatim, and the smoke result.\n",{"name":5,"description":7},"main","2147d79c9cd764770418b462c29634bcdc710096","plugins\u002Fbase\u002Fskills\u002Fwrite-agent","https:\u002F\u002Fgithub.com\u002Fheynemann\u002Fomp-marketplace","https:\u002F\u002Fgithub.com\u002Fheynemann","http:\u002F\u002Fwww.thumbor.org","CTO @ Flutter Brazil | Former Meta & Coinbase","2026-09-29 21:26:05",{"source":8,"skillName":5,"commands":33,"prompt":43,"zipAvailable":44},[34,37,40],{"tool":35,"command":36},"npx","npx skills add heynemann\u002Fomp-marketplace --skill write-agent",{"tool":38,"command":39},"bunx","bunx skills add heynemann\u002Fomp-marketplace --skill write-agent",{"tool":41,"command":42},"pnpm","pnpm dlx skills add heynemann\u002Fomp-marketplace --skill write-agent","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fheynemann\u002Fomp-marketplace\u002Fblob\u002Fmain\u002Fplugins\u002Fbase\u002Fskills\u002Fwrite-agent\u002FSKILL.md",true,[46],{"path":47,"resourceType":48,"resourceTypeDesc":49,"sizeBytes":50,"sourceHtmlUrl":51},"agent-format.md","REFERENCE","参考文档",3239,"https:\u002F\u002Fgithub.com\u002Fheynemann\u002Fomp-marketplace\u002Fblob\u002Fmain\u002Fplugins\u002Fbase\u002Fskills\u002Fwrite-agent\u002Fagent-format.md",[53,60,67,74,81,88],{"skillNo":54,"name":55,"nameZh":6,"description":56,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":57,"categories":58,"keywords":59,"publishedAt":19},"01M7DFXDYP0N6P8KR0AF7C0TDK","writing-for-agents","Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.","https:\u002F\u002Fgithub.com\u002Fheynemann\u002Fomp-marketplace\u002Fblob\u002Fmain\u002Fplugins\u002Fbase\u002Fskills\u002Fwriting-for-agents\u002FSKILL.md",[],[],{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":66,"publishedAt":19},"01M7DFX9C5B0T1T0AVDCWNR5P2","write-skill","Use when creating, designing, or fixing an agent skill (SKILL.md pack) — triggers include \"write a skill\", \"make me a skill\", \"create a skill\", skill directories, and skills that fail to trigger or fire on the wrong tasks.","https:\u002F\u002Fgithub.com\u002Fheynemann\u002Fomp-marketplace\u002Fblob\u002Fmain\u002Fplugins\u002Fbase\u002Fskills\u002Fwrite-skill\u002FSKILL.md",[],[],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":19},"01M7DFX22JEY7ZN9EDESM732K5","wizard","Generate an interactive bash wizard that walks a human through steps only they can perform. Use when provisioning infrastructure, setting up credentials or CI secrets, walking an unfamiliar third-party dashboard, or running a one-off migration or cutover. Don't invoke this for steps the agent can perform itself.","https:\u002F\u002Fgithub.com\u002Fheynemann\u002Fomp-marketplace\u002Fblob\u002Fmain\u002Fplugins\u002Fbase\u002Fskills\u002Fwizard\u002FSKILL.md",[],[],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":19},"01M7DFWYXR5V2CY2BPDAAS19R1","wayfinder","Plan a huge chunk of work (more than one agent session can hold) as a shared map of decision tickets on your issue tracker, and resolve them one at a time until the way to the destination is clear.","https:\u002F\u002Fgithub.com\u002Fheynemann\u002Fomp-marketplace\u002Fblob\u002Fmain\u002Fplugins\u002Fbase\u002Fskills\u002Fwayfinder\u002FSKILL.md",[],[],{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":19},"01M7DFWXFFMBKV294WS66S475V","wait-what","Stop. That last message did not land: re-pitch it.","https:\u002F\u002Fgithub.com\u002Fheynemann\u002Fomp-marketplace\u002Fblob\u002Fmain\u002Fplugins\u002Fbase\u002Fskills\u002Fwait-what\u002FSKILL.md",[],[],{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":19},"01M7DFWQH7DSTT402MN8XSF6ZG","vercel-react-best-practices","React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React\u002FNext.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.","https:\u002F\u002Fgithub.com\u002Fheynemann\u002Fomp-marketplace\u002Fblob\u002Fmain\u002Fplugins\u002Fbase\u002Fskills\u002Fvercel-react-best-practices\u002FSKILL.md",[],[]]