[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71RZJ15NMV6FXBZD1AQF3K7":3,"skill-same:01M71RZJ15NMV6FXBZD1AQF3K7":60},{"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":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":14,"repositoryHtmlUrl":43,"repositoryHomepageUrl":6,"ownerHtmlUrl":44,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":45,"install":46,"resources":59},"01M71RZJ15NMV6FXBZD1AQF3K7","review",null,"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.","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\u002Freview\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"use","body","source code","source","for","manifests","correctness","infra","configuration","user","work","clarity","critique","audit","code","documents","2026-11-10 13:02:02",false,"---\nname: review\ndescription: 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.\n---\n\n# Review\n\nThis skill is **language- and domain-agnostic**. The procedure is the same\nwhether you are reviewing Go code, a Kubernetes manifest, a Terraform\nmodule, a SQL migration, a markdown spec, or a Dockerfile.\n\n## Procedure\n\n1. **Discover scope.** Use `Glob` (or the equivalent listing tool from a\n   mounted MCP server) to enumerate the candidate artefacts. If the user\n   gave a path, use it; otherwise ask.\n2. **Read each artefact in full** before commenting on it. Do not review\n   from filename alone.\n3. **Score per finding** with:\n   - location (`file:line` or resource id)\n   - severity: `info` | `warn` | `error`\n   - rationale (≤ 2 sentences, evidence-based)\n   - suggested fix (concrete: a diff, a command, or a config change)\n4. **Group findings** by severity at the end and propose the smallest\n   reversible next step.\n\n## Universal red flags to look for\n\n- Missing error \u002F failure handling\n- Resource lifecycle (leaks, orphans, missing teardown)\n- Untrusted input flowing into a sink (command, query, path, URL)\n- Secrets in plaintext\n- Permission scope wider than necessary\n- Race conditions \u002F unbounded fan-out\n- Implicit dependencies on environment that is not declared\n\n## Output rule\n\nAlways finish with a single line: `Overall: ok | needs-changes | blocked`.\n","# Review\n\nThis skill is **language- and domain-agnostic**. The procedure is the same\nwhether you are reviewing Go code, a Kubernetes manifest, a Terraform\nmodule, a SQL migration, a markdown spec, or a Dockerfile.\n\n## Procedure\n\n1. **Discover scope.** Use `Glob` (or the equivalent listing tool from a\n   mounted MCP server) to enumerate the candidate artefacts. If the user\n   gave a path, use it; otherwise ask.\n2. **Read each artefact in full** before commenting on it. Do not review\n   from filename alone.\n3. **Score per finding** with:\n   - location (`file:line` or resource id)\n   - severity: `info` | `warn` | `error`\n   - rationale (≤ 2 sentences, evidence-based)\n   - suggested fix (concrete: a diff, a command, or a config change)\n4. **Group findings** by severity at the end and propose the smallest\n   reversible next step.\n\n## Universal red flags to look for\n\n- Missing error \u002F failure handling\n- Resource lifecycle (leaks, orphans, missing teardown)\n- Untrusted input flowing into a sink (command, query, path, URL)\n- Secrets in plaintext\n- Permission scope wider than necessary\n- Race conditions \u002F unbounded fan-out\n- Implicit dependencies on environment that is not declared\n\n## Output rule\n\nAlways finish with a single line: `Overall: ok | needs-changes | blocked`.\n",{"name":5,"description":7},"develop","c9440489468f6bbafc65e9a10811428ac0ef2619","registry\u002Fskills\u002Freview","https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis","https:\u002F\u002Fgithub.com\u002Fblouargant","2026-11-10 16:30:07",{"source":8,"skillName":5,"commands":47,"prompt":57,"zipAvailable":58},[48,51,54],{"tool":49,"command":50},"npx","npx skills add blouargant\u002Fomnis --skill review",{"tool":52,"command":53},"bunx","bunx skills add blouargant\u002Fomnis --skill review",{"tool":55,"command":56},"pnpm","pnpm dlx skills add blouargant\u002Fomnis --skill review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fblouargant\u002Fomnis\u002Fblob\u002Fdevelop\u002Fregistry\u002Fskills\u002Freview\u002FSKILL.md",true,[],[61,90,117,139,170,195],{"skillNo":62,"name":63,"nameZh":6,"description":64,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":72,"publishedAt":35},"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",[67],{"categoryNo":68,"categoryName":69,"taxonomyType":70,"taxonomyTypeDesc":71},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[73,74,75,76,23,77,78,19,79,80,81,82,83,84,85,86,87,88,28,89],"skill creator","creator","new agent","domain","new","define","Existing","when","create","update","refine","playbook","edit","a skill","new skill","add","existing skill",{"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":35},"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":70,"taxonomyTypeDesc":71},"01JBSEEDCAT000000000000002","文档处理",[100,101,102,103,104,105,106,107,23,108,109,110,111,112,19,113,80,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":35},"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":70,"taxonomyTypeDesc":71},{"categoryNo":68,"categoryName":69,"taxonomyType":70,"taxonomyTypeDesc":71},[119,126,100,127,23,128,19,129,34,80,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":35},"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":70,"taxonomyTypeDesc":71},{"categoryNo":146,"categoryName":147,"taxonomyType":70,"taxonomyTypeDesc":71},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":149,"categoryName":150,"taxonomyType":70,"taxonomyTypeDesc":71},"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,34,80,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":35},"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":35},"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":70,"taxonomyTypeDesc":71},"01JBSEEDCAT000000000000011","运维与部署",[205,206,207,208,209,210,211,212,213,214,215,216,19,217,218,219,220,221,222,84],"k8s","k8s triage","triage","error","ready","evidence","get","diagnose","kubernetes","namespaces","decision","deployments","one","coordination","services","classify","next","diagnosis"]