[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71RXWZV0S7CABHN4F68F00T":3,"skill-same:01M71RXWZV0S7CABHN4F68F00T":70},{"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":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":14,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M71RXWZV0S7CABHN4F68F00T","agent-builder",null,"Scaffold a new specialised agent and wire it into the harness. Use when the user says \"create an agent\", \"add a specialist\", \"build a new agent\", or wants to extend the harness for a new domain. Covers tool composition, skill authoring, MCP server wiring, permissions, and coordinator registration.","blouargant\u002Fomnis","blouargant","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5691896?v=4","01M71RWETBTYXSMT6FFC4Q7HPW","Bertrand Louargant","01M71RWEV3G47S696JYH8EA7W2",0,"MIT","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fagent-builder\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"agent builder","builder","registration","new","when","extend","wiring","for","coordinator","new agent","domain","MCP","use","tool","Composition","harness","permissions","create","skill authoring","mcp server","2026-11-10 13:02:02",false,"---\nname: agent-builder\ndescription: Scaffold a new specialised agent and wire it into the harness. Use when the user says \"create an agent\", \"add a specialist\", \"build a new agent\", or wants to extend the harness for a new domain. Covers tool composition, skill authoring, MCP server wiring, permissions, and coordinator registration.\ncompatibility: Designed for the omnis harness (github.com\u002Fblouargant\u002Fomnis).\n---\n\n# Agent Builder\n\nEvery specialisation in the harness is a combination of:\n**tools + skills + MCP servers + permissions + a focused system instruction.**\n\nNothing is hand-rolled from scratch — compose from existing packages and encode domain knowledge as skills.\n\n## Step 1 — Interview\n\nBefore writing any files, gather answers to these four questions:\n\n- [ ] **Domain & goal.** One sentence: what does this agent do?\n- [ ] **Required capabilities.** Which existing tools are needed (`fs`, `Bash`, `bg`, `todo`, `tasks`, `worktree`, `teammate`)? Any new MCP servers?\n- [ ] **Inputs \u002F outputs.** What does the caller hand the agent, and what shape should the response take?\n- [ ] **Safety envelope.** Which actions must always be denied? Which require explicit user approval?\n\n## Step 2 — Create the skill file\n\nIf the domain procedure is repeatable, encode it first as a skill — skills are the primary unit of specialisation.\n\n1. Create `skills\u002F\u003Cname>\u002FSKILL.md` with proper frontmatter (`name`, `description`, optional `compatibility`).\n2. Write the body as step-by-step instructions. Add a `## Gotchas` section for non-obvious domain facts the agent would get wrong without guidance.\n3. Keep `SKILL.md` under 500 lines. Move detailed reference material to `skills\u002F\u003Cname>\u002Freferences\u002F` and tell the agent exactly when to load each file.\n\n## Step 3 — Wire tools and configuration\n\n1. Compose tools from existing packages — do not hand-roll new tools unless the capability genuinely does not exist.\n2. Add or extend `config\u002Fpermissions.json` for any new tool surface introduced by this agent.\n3. If new MCP servers are required, add them to `config\u002Fmcp_config.json`.\n\n## Step 4 — Register with the coordinator\n\nIf the agent should be callable from the lead coordinator:\n\n1. Register it via `agenttool.New` in the root `main.go` multi-loader.\n2. Give it a short, keyword-rich description — the coordinator uses this to decide when to delegate.\n\n## Step 5 — Observability (optional)\n\nSubscribe a domain-specific event handler via `events.Bus` to emit structured events for monitoring and replay.\n\n## Deliverable\n\nProduce the following and nothing more:\n1. `skills\u002F\u003Cname>\u002FSKILL.md` — the skill file.\n2. Diffs for `config\u002Fpermissions.json` and `config\u002Fmcp_config.json` if changed.\n3. Diff for root `main.go` coordinator registration if the agent is to be reachable.\n4. One sample prompt that exercises the new agent end to end.\n\n## Gotchas\n\n- Do not create `examples\u002F\u003Cname>\u002Fmain.go`. Example binaries require a Go compiler and have no utility outside of a development environment; production deployments use the pre-built coordinator binary.\n- Do not hand-roll tools that duplicate existing packages (`fs`, `todo`, `tasks`, `worktree`, `bg`, `mailbox`). Check `core\u002Ftools\u002F` and `internal\u002F` before writing new code.\n- `config\u002Fpermissions.json` is enforced at runtime — omitting an `allow` rule means the tool call falls through to the `ask` tier (prompts the user, or is denied non-interactively), not a compile error.\n- Skills are loaded by `name` matching the directory name exactly. A mismatch causes silent non-activation.\n","# Agent Builder\n\nEvery specialisation in the harness is a combination of:\n**tools + skills + MCP servers + permissions + a focused system instruction.**\n\nNothing is hand-rolled from scratch — compose from existing packages and encode domain knowledge as skills.\n\n## Step 1 — Interview\n\nBefore writing any files, gather answers to these four questions:\n\n- [ ] **Domain & goal.** One sentence: what does this agent do?\n- [ ] **Required capabilities.** Which existing tools are needed (`fs`, `Bash`, `bg`, `todo`, `tasks`, `worktree`, `teammate`)? Any new MCP servers?\n- [ ] **Inputs \u002F outputs.** What does the caller hand the agent, and what shape should the response take?\n- [ ] **Safety envelope.** Which actions must always be denied? Which require explicit user approval?\n\n## Step 2 — Create the skill file\n\nIf the domain procedure is repeatable, encode it first as a skill — skills are the primary unit of specialisation.\n\n1. Create `skills\u002F\u003Cname>\u002FSKILL.md` with proper frontmatter (`name`, `description`, optional `compatibility`).\n2. Write the body as step-by-step instructions. Add a `## Gotchas` section for non-obvious domain facts the agent would get wrong without guidance.\n3. Keep `SKILL.md` under 500 lines. Move detailed reference material to `skills\u002F\u003Cname>\u002Freferences\u002F` and tell the agent exactly when to load each file.\n\n## Step 3 — Wire tools and configuration\n\n1. Compose tools from existing packages — do not hand-roll new tools unless the capability genuinely does not exist.\n2. Add or extend `config\u002Fpermissions.json` for any new tool surface introduced by this agent.\n3. If new MCP servers are required, add them to `config\u002Fmcp_config.json`.\n\n## Step 4 — Register with the coordinator\n\nIf the agent should be callable from the lead coordinator:\n\n1. Register it via `agenttool.New` in the root `main.go` multi-loader.\n2. Give it a short, keyword-rich description — the coordinator uses this to decide when to delegate.\n\n## Step 5 — Observability (optional)\n\nSubscribe a domain-specific event handler via `events.Bus` to emit structured events for monitoring and replay.\n\n## Deliverable\n\nProduce the following and nothing more:\n1. `skills\u002F\u003Cname>\u002FSKILL.md` — the skill file.\n2. Diffs for `config\u002Fpermissions.json` and `config\u002Fmcp_config.json` if changed.\n3. Diff for root `main.go` coordinator registration if the agent is to be reachable.\n4. One sample prompt that exercises the new agent end to end.\n\n## Gotchas\n\n- Do not create `examples\u002F\u003Cname>\u002Fmain.go`. Example binaries require a Go compiler and have no utility outside of a development environment; production deployments use the pre-built coordinator binary.\n- Do not hand-roll tools that duplicate existing packages (`fs`, `todo`, `tasks`, `worktree`, `bg`, `mailbox`). Check `core\u002Ftools\u002F` and `internal\u002F` before writing new code.\n- `config\u002Fpermissions.json` is enforced at runtime — omitting an `allow` rule means the tool call falls through to the `ask` tier (prompts the user, or is denied non-interactively), not a compile error.\n- Skills are loaded by `name` matching the directory name exactly. A mismatch causes silent non-activation.\n",{"name":5,"description":7,"compatibility":49},"Designed for the omnis harness (github.com\u002Fblouargant\u002Fomnis).","develop","c9440489468f6bbafc65e9a10811428ac0ef2619","registry\u002Fskills\u002Fagent-builder","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis","https:\u002F\u002Fgithub.com\u002Fblouargant","2026-11-10 16:30:07",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add blouargant\u002Fomnis --skill agent-builder",{"tool":62,"command":63},"bunx","bunx skills add blouargant\u002Fomnis --skill agent-builder",{"tool":65,"command":66},"pnpm","pnpm dlx skills add blouargant\u002Fomnis --skill agent-builder","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fagent-builder\u002FSKILL.md",true,[],[71,92,112,139,161,192],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":78,"publishedAt":44},"01M71RZKQ64WTDCV48Z4Y071FA","skill-creator","Create or update a skill playbook (SKILL.md) for the agent. Use when the user wants to create a new skill, add a skill, define a new agent capability, update an existing skill, edit a skill, refine a skill playbook, or specialise the agent for a new domain.","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fskill-creator\u002FSKILL.md",[77],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[79,80,33,34,31,27,81,36,82,28,41,83,84,85,86,87,88,89,90,91],"skill creator","creator","define","Existing","update","refine","playbook","edit","a skill","new skill","add","user","existing skill",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":44},"01M71RZJ15NMV6FXBZD1AQF3K7","review","Review a body of work (source code, configuration, documents, infra manifests, …) for correctness, clarity, and obvious risks. Use this skill whenever the user asks for a review, audit or critique.","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Freview\u002FSKILL.md",[],[94,99,100,101,102,31,103,36,104,105,106,107,108,109,110,111,90],"infra","work","critique","audit","clarity","body","source","manifests","documents","configuration","correctness","code","source code",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":121,"publishedAt":44},"01M71RZFP8KJEANYXAH6AX68G0","pdf","Fallback PDF text extractor using pdftotext (poppler). Use ONLY when the preferred `liteparse` skill is unavailable or for a quick plain-text dump of a simple text PDF — for the best PDF parsing (scanned, multi-column, layout-heavy, or non-PDF formats) prefer the `liteparse` skill.","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fpdf\u002FSKILL.md",[118],{"categoryNo":119,"categoryName":120,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理",[122,123,124,125,126,127,128,129,31,130,131,132,133,134,36,135,28,136,137,138],"PDF","text","multi","quick","simple","parsing","pdf text extractor","layout","liteparse","plain-text","column","only","formats","pdftotext","plain","pdf parsing","file",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":147,"publishedAt":44},"01M71RZDAHNX7JC52P5HH5XPEG","pandoc","This skill should be used when converting documents between formats (Markdown, DOCX, PDF, HTML, LaTeX, etc.) using pandoc. Use for format conversion, document generation, and preparing markdown for Google Docs or other word processors.","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fpandoc\u002FSKILL.md",[145,146],{"categoryNo":119,"categoryName":120,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[141,148,122,149,31,150,36,151,107,28,152,153,154,155,156,157,134,158,159,160],"docx","Word","document generation","document","conversion","generation","markdown","format","google","google docs","docs","html","LaTeX",{"skillNo":162,"name":130,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":178,"publishedAt":44},"01M71RZ7PSG17ES4CQWA6860F5","Preferred local parser for extracting text from PDFs, images, and scanned\u002Flayout-heavy documents (OCR, screenshots, complex PDFs) — far better than pdftotext. Use this FIRST for any PDF, image, or OCR text-extraction or conversion task. NOTE for Office documents (DOCX, PPTX, XLSX, ODT) — for plain text extraction prefer the `pandoc` skill, which needs no LibreOffice; only use LiteParse for Office docs when you need its layout\u002FOCR\u002Fscreenshot output. The `pdf` skill (pdftotext) is only a fallback for when LiteParse cannot be installed.","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fliteparse\u002FSKILL.md",[166,167,170,173],{"categoryNo":119,"categoryName":120,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":168,"categoryName":169,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":171,"categoryName":172,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000004","电子表格",{"categoryNo":174,"categoryName":175,"taxonomyType":176,"taxonomyTypeDesc":177},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[130,179,180,181,148,182,122,183,184,185,186,187,188,133,135,107,28,189,190,191],"images","app","ocr","which","pptx","extracting","xlsx","managed","local","pipx","image","you","needs",{"skillNo":193,"name":194,"nameZh":6,"description":195,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":196,"categories":197,"keywords":198,"publishedAt":44},"01M71RZ2Y9KY94NRBV4WMH73G5","linux-admin","Safely make a change to a Linux workstation — install\u002Fremove packages, manage systemd services and timers, edit and validate configuration files, manage users\u002Fpermissions and networking. Detect the distro and package manager, determine whether the target is package-managed or hand-maintained, preview or simulate every change, back up configs before editing, and prefer the package manager and drop-in overrides so the host stays consistent and secure. Use whenever a change to the local Linux host is required (install, remove, enable, disable, start, stop, edit a config, add a user, change permissions or networking).","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Flinux-admin\u002FSKILL.md",[],[199,200,201,202,203,204,205,206,207,186,187,208,209,210,211,212,213,40,214,215],"linux","linux admin","admin","back","workstation","package manager","pacman","remove","up","systemd services","files","host","drop","preview","hand","packages","change"]