[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71RWZ9N19HMWHT3R9ADH1N0":3,"skill-same:01M71RWZ9N19HMWHT3R9ADH1N0":69},{"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":49,"commitSha":50,"skillDirectory":51,"forksCount":14,"repositoryHtmlUrl":52,"repositoryHomepageUrl":6,"ownerHtmlUrl":53,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":54,"install":55,"resources":68},"01M71RWZ9N19HMWHT3R9ADH1N0","add-skill",null,"Author a new playbook under skills\u002F to specialise the agent for a new domain or task without changing Go code. Use whenever the user wants the agent to do something new (k8s triage, sql review, release notes, ...). Mention triggers - new skill, SKILL.md, specialise the agent, add domain knowledge, playbook.","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\u002F.agents\u002Fskills\u002Fadd-skill\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],"add","add skill","sql","add domain","to do","notes","review","task","author","code","use","release notes","new","knowledge","triggers","for","domain","k8s","do","sql review","2026-11-10 13:02:02",false,"---\nname: add-skill\ndescription: Author a new playbook under skills\u002F to specialise the agent for a new domain or task without changing Go code. Use whenever the user wants the agent to do something new (k8s triage, sql review, release notes, ...). Mention triggers - new skill, SKILL.md, specialise the agent, add domain knowledge, playbook.\n---\n\n# Add a project skill\n\nA **project skill** lives under `skills\u002F\u003Cname>\u002FSKILL.md` and is loaded\non demand by the agent at runtime. This is the primary specialisation\nmechanism — prefer it over writing Go.\n\n> Distinguish: `skills\u002F` (loaded by the running agent) vs `.agents\u002F`\n> (loaded by *your* development session). This skill is about\n> `skills\u002F`.\n\n## Format\n\nFollow the [Agent Skills spec](https:\u002F\u002Fagentskills.io\u002Fspecification).\nRequired frontmatter: `name` and `description`.\n\n```markdown\n---\nname: my-domain\ndescription: One sentence. Begin with a verb. Include the trigger keywords explicitly so the lead picks it when the user mentions them.\n---\n\n# Title\n\n## When to use it\nDisambiguate from neighbouring skills.\n\n## Procedure\n1. Always start with a read-only confirmation step.\n2. Snapshot state with one batch of read-only calls.\n3. Classify the situation into N categories.\n4. Propose ONE next action — smallest reversible step first.\n\n## Hard rules\n- Never \u003Cdestructive verb> without explicit confirmation.\n- Never retry on permission denial.\n\n## Output rule\nEnd every run with `Result: ok | needs-attention | blocked`.\n```\n\n## Authoring rules\n\n1. **Description is a matchable trigger.** The lead matches the user's\n   prompt against `description`. Write it like a search query: include\n   the verbs and nouns the user is likely to type.\n\n   ✅ \"Diagnose unhealthy Kubernetes workloads — pods crash-looping,\n       deployments not ready. Use whenever the user mentions\n       kubernetes, k8s, kubectl, pods, deployments, namespaces.\"\n\n   ❌ \"Helps with Kubernetes.\"\n\n2. **Procedure is a checklist, not a tutorial.** One verb per step.\n   Cite the tool by name (`bash`, `kubernetes\u002Fget_pods`, `read`, …).\n\n3. **Always include \"Hard rules\".** Spell out the destructive verbs the\n   skill must never invoke without consent. The agent self-restricts\n   before even reaching the permissions plugin.\n\n4. **End with an output rule.** A single closing token (`ok`,\n   `needs-changes`, `blocked`, `clean`, …) makes the result\n   machine-readable.\n\n5. **Stay under ~150 lines.** Beyond that, split into a second skill\n   the lead can chain.\n\n## Wiring\n\nNo code change required. The skill loader (`internal\u002Fskills`) walks\n`.\u002Fskills\u002F` at startup and registers every folder with a valid\n`SKILL.md`. The lead's system prompt instructs it to prefer\n`load_skill` over ad-hoc reasoning.\n\n## Examples shipped\n\nRead these before authoring your own:\n\n- [`skills\u002Freview\u002FSKILL.md`](..\u002F..\u002Fskills\u002Freview\u002FSKILL.md) — generic,\n  universal review playbook.\n- [`skills\u002Fk8s-triage\u002FSKILL.md`](..\u002F..\u002Fskills\u002Fk8s-triage\u002FSKILL.md) — full\n  domain specialisation example.\n- [`skills\u002Fagent-builder\u002FSKILL.md`](..\u002F..\u002Fskills\u002Fagent-builder\u002FSKILL.md)\n  — meta-skill (how to build a new specialist).\n- [`skills\u002Fpdf\u002FSKILL.md`](..\u002F..\u002Fskills\u002Fpdf\u002FSKILL.md) — narrow,\n  tool-bound skill.\n\n## Optional bundled assets\n\nFollowing the spec, you can bundle:\n\n- `skills\u002F\u003Cname>\u002Fscripts\u002F` — executable helpers the agent can run.\n- `skills\u002F\u003Cname>\u002Freferences\u002F` — additional Markdown loaded only on\n  demand.\n- `skills\u002F\u003Cname>\u002Fassets\u002F` — templates, schemas, lookup tables.\n\nKeep `SKILL.md` slim; push detail into `references\u002F`.\n\n## Verify\n\n```bash\nPATH=$HOME\u002F.local\u002Fgo\u002Fbin:$PATH go build .\u002F... && \\\nPATH=$HOME\u002F.local\u002Fgo\u002Fbin:$PATH go run . console\n> list available skills    # the new one should appear\n> \u003Ca typical user prompt>  # the lead should call load_skill on it\n```\n\nAdjust the description if the wrong skill (or no skill) is selected.\n\n## Don'ts\n\n- ❌ Don't restate the universal operating method (restate → plan → …).\n  The lead already does that.\n- ❌ Don't hard-code paths or hostnames; pass them via tool args \u002F env.\n- ❌ Don't write a skill that needs a tool that isn't mounted. Either\n  add the MCP server \u002F tool first, or include the requirement in\n  `compatibility:`.\n","# Add a project skill\n\nA **project skill** lives under `skills\u002F\u003Cname>\u002FSKILL.md` and is loaded\non demand by the agent at runtime. This is the primary specialisation\nmechanism — prefer it over writing Go.\n\n> Distinguish: `skills\u002F` (loaded by the running agent) vs `.agents\u002F`\n> (loaded by *your* development session). This skill is about\n> `skills\u002F`.\n\n## Format\n\nFollow the [Agent Skills spec](https:\u002F\u002Fagentskills.io\u002Fspecification).\nRequired frontmatter: `name` and `description`.\n\n```markdown\n---\nname: my-domain\ndescription: One sentence. Begin with a verb. Include the trigger keywords explicitly so the lead picks it when the user mentions them.\n---\n\n# Title\n\n## When to use it\nDisambiguate from neighbouring skills.\n\n## Procedure\n1. Always start with a read-only confirmation step.\n2. Snapshot state with one batch of read-only calls.\n3. Classify the situation into N categories.\n4. Propose ONE next action — smallest reversible step first.\n\n## Hard rules\n- Never \u003Cdestructive verb> without explicit confirmation.\n- Never retry on permission denial.\n\n## Output rule\nEnd every run with `Result: ok | needs-attention | blocked`.\n```\n\n## Authoring rules\n\n1. **Description is a matchable trigger.** The lead matches the user's\n   prompt against `description`. Write it like a search query: include\n   the verbs and nouns the user is likely to type.\n\n   ✅ \"Diagnose unhealthy Kubernetes workloads — pods crash-looping,\n       deployments not ready. Use whenever the user mentions\n       kubernetes, k8s, kubectl, pods, deployments, namespaces.\"\n\n   ❌ \"Helps with Kubernetes.\"\n\n2. **Procedure is a checklist, not a tutorial.** One verb per step.\n   Cite the tool by name (`bash`, `kubernetes\u002Fget_pods`, `read`, …).\n\n3. **Always include \"Hard rules\".** Spell out the destructive verbs the\n   skill must never invoke without consent. The agent self-restricts\n   before even reaching the permissions plugin.\n\n4. **End with an output rule.** A single closing token (`ok`,\n   `needs-changes`, `blocked`, `clean`, …) makes the result\n   machine-readable.\n\n5. **Stay under ~150 lines.** Beyond that, split into a second skill\n   the lead can chain.\n\n## Wiring\n\nNo code change required. The skill loader (`internal\u002Fskills`) walks\n`.\u002Fskills\u002F` at startup and registers every folder with a valid\n`SKILL.md`. The lead's system prompt instructs it to prefer\n`load_skill` over ad-hoc reasoning.\n\n## Examples shipped\n\nRead these before authoring your own:\n\n- [`skills\u002Freview\u002FSKILL.md`](..\u002F..\u002Fskills\u002Freview\u002FSKILL.md) — generic,\n  universal review playbook.\n- [`skills\u002Fk8s-triage\u002FSKILL.md`](..\u002F..\u002Fskills\u002Fk8s-triage\u002FSKILL.md) — full\n  domain specialisation example.\n- [`skills\u002Fagent-builder\u002FSKILL.md`](..\u002F..\u002Fskills\u002Fagent-builder\u002FSKILL.md)\n  — meta-skill (how to build a new specialist).\n- [`skills\u002Fpdf\u002FSKILL.md`](..\u002F..\u002Fskills\u002Fpdf\u002FSKILL.md) — narrow,\n  tool-bound skill.\n\n## Optional bundled assets\n\nFollowing the spec, you can bundle:\n\n- `skills\u002F\u003Cname>\u002Fscripts\u002F` — executable helpers the agent can run.\n- `skills\u002F\u003Cname>\u002Freferences\u002F` — additional Markdown loaded only on\n  demand.\n- `skills\u002F\u003Cname>\u002Fassets\u002F` — templates, schemas, lookup tables.\n\nKeep `SKILL.md` slim; push detail into `references\u002F`.\n\n## Verify\n\n```bash\nPATH=$HOME\u002F.local\u002Fgo\u002Fbin:$PATH go build .\u002F... && \\\nPATH=$HOME\u002F.local\u002Fgo\u002Fbin:$PATH go run . console\n> list available skills    # the new one should appear\n> \u003Ca typical user prompt>  # the lead should call load_skill on it\n```\n\nAdjust the description if the wrong skill (or no skill) is selected.\n\n## Don'ts\n\n- ❌ Don't restate the universal operating method (restate → plan → …).\n  The lead already does that.\n- ❌ Don't hard-code paths or hostnames; pass them via tool args \u002F env.\n- ❌ Don't write a skill that needs a tool that isn't mounted. Either\n  add the MCP server \u002F tool first, or include the requirement in\n  `compatibility:`.\n",{"name":5,"description":7},"develop","c9440489468f6bbafc65e9a10811428ac0ef2619",".agents\u002Fskills\u002Fadd-skill","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis","https:\u002F\u002Fgithub.com\u002Fblouargant","2026-11-10 16:30:07",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add blouargant\u002Fomnis --skill add-skill",{"tool":61,"command":62},"bunx","bunx skills add blouargant\u002Fomnis --skill add-skill",{"tool":64,"command":65},"pnpm","pnpm dlx skills add blouargant\u002Fomnis --skill add-skill","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002F.agents\u002Fskills\u002Fadd-skill\u002FSKILL.md",true,[],[70,93,111,138,160,191],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":77,"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",[76],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[78,79,80,40,39,36,81,34,82,83,84,85,86,87,88,89,90,24,91,92],"skill creator","creator","new agent","define","Existing","when","create","update","refine","playbook","edit","a skill","new skill","user","existing skill",{"skillNo":94,"name":30,"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 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",[],[30,99,100,101,102,39,103,34,104,105,106,107,108,109,33,110,91],"infra","work","critique","audit","clarity","body","source","manifests","documents","configuration","correctness","source code",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":120,"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",[117],{"categoryNo":118,"categoryName":119,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理",[121,122,123,124,125,126,127,128,39,129,130,131,132,133,34,134,83,135,136,137],"PDF","text","multi","quick","simple","parsing","pdf text extractor","layout","liteparse","plain-text","column","only","formats","pdftotext","plain","pdf parsing","file",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":146,"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",[144,145],{"categoryNo":118,"categoryName":119,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[140,147,121,148,39,149,34,150,107,83,151,152,153,154,155,156,133,157,158,159],"docx","Word","document generation","document","conversion","generation","markdown","format","google","google docs","docs","html","LaTeX",{"skillNo":161,"name":129,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":177,"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",[165,166,169,172],{"categoryNo":118,"categoryName":119,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":167,"categoryName":168,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":170,"categoryName":171,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000004","电子表格",{"categoryNo":173,"categoryName":174,"taxonomyType":175,"taxonomyTypeDesc":176},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[129,178,179,180,147,181,121,182,183,184,185,186,187,132,134,107,83,188,189,190],"images","app","ocr","which","pptx","extracting","xlsx","managed","local","pipx","image","you","needs",{"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":197,"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",[],[198,199,200,201,202,203,204,205,206,185,186,207,208,209,210,211,212,213,214,215],"linux","linux admin","admin","back","workstation","package manager","pacman","remove","up","systemd services","files","host","drop","preview","hand","permissions","packages","change"]