[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71RZKQ64WTDCV48Z4Y071FA":3,"skill-same:01M71RZKQ64WTDCV48Z4Y071FA":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},"01M71RZKQ64WTDCV48Z4Y071FA","skill-creator",null,"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.","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\u002Fskill-creator\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],"creator","skill creator","domain","a skill","new","when","Existing","for","add","define","new agent","refine","existing skill","new skill","use","user","edit","playbook","update","create","2026-11-10 13:02:02",false,"---\nname: skill-creator\ndescription: 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.\n---\n\n# Skill Creator\n\nGuides the user through authoring a new SKILL.md or updating an existing one,\nthen writes it to the skills registry.\n\n## When to use it\n\n- **Create**: user wants a brand-new skill the agent does not have yet\n- **Update**: user wants to revise or improve an existing skill\n\nDo NOT use this skill when the user just wants to *run* an existing skill.\n\n## Procedure\n\n### A — Create a new skill\n\n1. **Confirm the name** — verify it matches `^[a-z0-9][a-z0-9._-]{0,63}$`.\n   If the user provided a name that doesn't fit, suggest a corrected form.\n\n2. **Gather requirements** — ask the user (in one message, not one-by-one):\n   - What domain or task should this skill cover?\n   - What trigger words should appear in the description (the keywords the\n     user will type to select this skill)?\n   - Which agent tools will the procedure use? (`Bash`, `Read`, `Write`,\n     an MCP server, …)\n   - What must the agent **never** do without explicit confirmation?\n   - What output token closes a run? (e.g. `ok`, `clean`, `needs-attention`)\n\n3. **Draft the SKILL.md** following the template in the *Hard rules* section.\n   Present the full draft to the user.\n\n4. **Iterate** — incorporate feedback until the user approves the draft.\n\n5. **Write** — save the file using the `Write` tool:\n   - Run `Bash` → `mkdir -p \"$HOME\u002F.omnis\u002Fregistry\u002Fskills\u002F\u003Cname>\"` first.\n   - Write to `$HOME\u002F.omnis\u002Fregistry\u002Fskills\u002F\u003Cname>\u002FSKILL.md`.\n\n6. **Confirm** — tell the user the skill is saved and that they can link it\n   to an agent via Settings → Skills in the web UI (or hot-reload picks it up\n   if already linked).\n\n### B — Update an existing skill\n\n1. **Find the skill** — call `list_skills`. If the target skill appears,\n   call `load_skill` with its name to read the current content.\n   If it is not in `list_skills`, locate it via:\n   ```\n   Bash: find \"$HOME\u002F.omnis\u002Fregistry\u002Fskills\" -name SKILL.md\n   ```\n\n2. **Show** — display the current content to the user.\n\n3. **Gather changes** — ask what to add, remove, or rewrite.\n\n4. **Draft** the updated version and show the diff or full new content.\n\n5. **Confirm and write** — once the user approves, overwrite the file with\n   the `Write` tool.\n\n6. **Confirm** — inform the user. Hot-reload picks up the updated file\n   automatically; no restart is needed.\n\n## SKILL.md template\n\n```markdown\n---\nname: \u003Ckebab-case-name>\ndescription: \u003COne sentence. Start with a verb. Include trigger keywords the\nuser is likely to type so the leader selects it automatically.>\n---\n\n# \u003CTitle>\n\n## When to use it\n\u003COne paragraph disambiguating this skill from neighbouring ones.>\n\n## Procedure\n1. \u003CRead-only confirmation step — always first.>\n2. \u003CGather state in one batch of read-only calls.>\n3. \u003CClassify or analyse.>\n4. \u003CPropose ONE 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## Hard rules\n\n- Skill name must match `^[a-z0-9][a-z0-9._-]{0,63}$`; reject names that do not.\n- Always show the full draft before writing any file.\n- Never overwrite an existing file without user approval.\n- Keep SKILL.md under 150 lines; push extra detail into `references\u002F` files.\n- Never embed credentials, hostnames, or environment variable values.\n\n## Output rule\n\nEnd with `Result: ok` once the file is written and confirmed, or\n`Result: blocked` if the user cancelled.\n","# Skill Creator\n\nGuides the user through authoring a new SKILL.md or updating an existing one,\nthen writes it to the skills registry.\n\n## When to use it\n\n- **Create**: user wants a brand-new skill the agent does not have yet\n- **Update**: user wants to revise or improve an existing skill\n\nDo NOT use this skill when the user just wants to *run* an existing skill.\n\n## Procedure\n\n### A — Create a new skill\n\n1. **Confirm the name** — verify it matches `^[a-z0-9][a-z0-9._-]{0,63}$`.\n   If the user provided a name that doesn't fit, suggest a corrected form.\n\n2. **Gather requirements** — ask the user (in one message, not one-by-one):\n   - What domain or task should this skill cover?\n   - What trigger words should appear in the description (the keywords the\n     user will type to select this skill)?\n   - Which agent tools will the procedure use? (`Bash`, `Read`, `Write`,\n     an MCP server, …)\n   - What must the agent **never** do without explicit confirmation?\n   - What output token closes a run? (e.g. `ok`, `clean`, `needs-attention`)\n\n3. **Draft the SKILL.md** following the template in the *Hard rules* section.\n   Present the full draft to the user.\n\n4. **Iterate** — incorporate feedback until the user approves the draft.\n\n5. **Write** — save the file using the `Write` tool:\n   - Run `Bash` → `mkdir -p \"$HOME\u002F.omnis\u002Fregistry\u002Fskills\u002F\u003Cname>\"` first.\n   - Write to `$HOME\u002F.omnis\u002Fregistry\u002Fskills\u002F\u003Cname>\u002FSKILL.md`.\n\n6. **Confirm** — tell the user the skill is saved and that they can link it\n   to an agent via Settings → Skills in the web UI (or hot-reload picks it up\n   if already linked).\n\n### B — Update an existing skill\n\n1. **Find the skill** — call `list_skills`. If the target skill appears,\n   call `load_skill` with its name to read the current content.\n   If it is not in `list_skills`, locate it via:\n   ```\n   Bash: find \"$HOME\u002F.omnis\u002Fregistry\u002Fskills\" -name SKILL.md\n   ```\n\n2. **Show** — display the current content to the user.\n\n3. **Gather changes** — ask what to add, remove, or rewrite.\n\n4. **Draft** the updated version and show the diff or full new content.\n\n5. **Confirm and write** — once the user approves, overwrite the file with\n   the `Write` tool.\n\n6. **Confirm** — inform the user. Hot-reload picks up the updated file\n   automatically; no restart is needed.\n\n## SKILL.md template\n\n```markdown\n---\nname: \u003Ckebab-case-name>\ndescription: \u003COne sentence. Start with a verb. Include trigger keywords the\nuser is likely to type so the leader selects it automatically.>\n---\n\n# \u003CTitle>\n\n## When to use it\n\u003COne paragraph disambiguating this skill from neighbouring ones.>\n\n## Procedure\n1. \u003CRead-only confirmation step — always first.>\n2. \u003CGather state in one batch of read-only calls.>\n3. \u003CClassify or analyse.>\n4. \u003CPropose ONE 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## Hard rules\n\n- Skill name must match `^[a-z0-9][a-z0-9._-]{0,63}$`; reject names that do not.\n- Always show the full draft before writing any file.\n- Never overwrite an existing file without user approval.\n- Keep SKILL.md under 150 lines; push extra detail into `references\u002F` files.\n- Never embed credentials, hostnames, or environment variable values.\n\n## Output rule\n\nEnd with `Result: ok` once the file is written and confirmed, or\n`Result: blocked` if the user cancelled.\n",{"name":5,"description":7},"develop","c9440489468f6bbafc65e9a10811428ac0ef2619","registry\u002Fskills\u002Fskill-creator","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 skill-creator",{"tool":61,"command":62},"bunx","bunx skills add blouargant\u002Fomnis --skill skill-creator",{"tool":64,"command":65},"pnpm","pnpm dlx skills add blouargant\u002Fomnis --skill skill-creator","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fskill-creator\u002FSKILL.md",true,[],[70,90,117,139,170,195],{"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":76,"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",[],[72,77,78,79,80,31,81,38,82,83,84,85,86,87,88,89,39],"infra","work","critique","audit","clarity","body","source","manifests","documents","configuration","correctness","code","source code",{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":99,"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",[96],{"categoryNo":97,"categoryName":98,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理",[100,101,102,103,104,105,106,107,31,108,109,110,111,112,38,113,29,114,115,116],"PDF","text","multi","quick","simple","parsing","pdf text extractor","layout","liteparse","plain-text","column","only","formats","pdftotext","plain","pdf parsing","file",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":125,"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",[123,124],{"categoryNo":97,"categoryName":98,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[119,126,100,127,31,128,38,129,85,29,130,131,132,133,134,135,112,136,137,138],"docx","Word","document generation","document","conversion","generation","markdown","format","google","google docs","docs","html","LaTeX",{"skillNo":140,"name":108,"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":156,"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",[144,145,148,151],{"categoryNo":97,"categoryName":98,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":146,"categoryName":147,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":149,"categoryName":150,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000004","电子表格",{"categoryNo":152,"categoryName":153,"taxonomyType":154,"taxonomyTypeDesc":155},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[108,157,158,159,126,160,100,161,162,163,164,165,166,111,113,85,29,167,168,169],"images","app","ocr","which","pptx","extracting","xlsx","managed","local","pipx","image","you","needs",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":176,"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",[],[177,178,179,180,181,182,183,184,185,164,165,186,187,188,189,190,191,192,193,194],"linux","linux admin","admin","back","workstation","package manager","pacman","remove","up","systemd services","files","host","drop","preview","hand","permissions","packages","change",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":199,"categories":200,"keywords":204,"publishedAt":44},"01M71RYZC5PYJPA9F8A60RYK5F","k8s-triage","Diagnose an unhealthy Kubernetes workload — pods crash-looping, deployments not ready, services not reachable. The triage decision playbook — confirm context, get evidence, classify the failure, propose one safe next action. Use whenever the user mentions kubernetes, k8s, kubectl, pods, deployments, namespaces, or attaches a kubectl error.","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Fk8s-triage\u002FSKILL.md",[201],{"categoryNo":202,"categoryName":203,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",[205,206,207,208,209,210,211,212,213,214,215,216,38,217,218,219,220,221,222,41],"k8s","k8s triage","triage","error","ready","evidence","get","diagnose","kubernetes","namespaces","decision","deployments","one","coordination","services","classify","next","diagnosis"]