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.
- License 许可
- MIT
- 所属仓库
- blouargant/omnis
- 最近更新
- 2026-11-10
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- skill-creator
- description
- 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.
03 SKILL.md 正文
Skill Creator
Guides the user through authoring a new SKILL.md or updating an existing one, then writes it to the skills registry.
When to use it
- Create: user wants a brand-new skill the agent does not have yet
- Update: user wants to revise or improve an existing skill
Do NOT use this skill when the user just wants to run an existing skill.
Procedure
A — Create a new skill
-
Confirm the name — verify it matches
^[a-z0-9][a-z0-9._-]{0,63}$. If the user provided a name that doesn't fit, suggest a corrected form. -
Gather requirements — ask the user (in one message, not one-by-one):
- What domain or task should this skill cover?
- What trigger words should appear in the description (the keywords the user will type to select this skill)?
- Which agent tools will the procedure use? (
Bash,Read,Write, an MCP server, …) - What must the agent never do without explicit confirmation?
- What output token closes a run? (e.g.
ok,clean,needs-attention)
-
Draft the SKILL.md following the template in the Hard rules section. Present the full draft to the user.
-
Iterate — incorporate feedback until the user approves the draft.
-
Write — save the file using the
Writetool:- Run
Bash→mkdir -p "$HOME/.omnis/registry/skills/<name>"first. - Write to
$HOME/.omnis/registry/skills/<name>/SKILL.md.
- Run
-
Confirm — tell the user the skill is saved and that they can link it to an agent via Settings → Skills in the web UI (or hot-reload picks it up if already linked).
B — Update an existing skill
-
Find the skill — call
list_skills. If the target skill appears, callload_skillwith its name to read the current content. If it is not inlist_skills, locate it via:Bash: find "$HOME/.omnis/registry/skills" -name SKILL.md -
Show — display the current content to the user.
-
Gather changes — ask what to add, remove, or rewrite.
-
Draft the updated version and show the diff or full new content.
-
Confirm and write — once the user approves, overwrite the file with the
Writetool. -
Confirm — inform the user. Hot-reload picks up the updated file automatically; no restart is needed.
SKILL.md template
---
name: <kebab-case-name>
description: <One sentence. Start with a verb. Include trigger keywords the
user is likely to type so the leader selects it automatically.>
---
# <Title>
## When to use it
<One paragraph disambiguating this skill from neighbouring ones.>
## Procedure
1. <Read-only confirmation step — always first.>
2. <Gather state in one batch of read-only calls.>
3. <Classify or analyse.>
4. <Propose ONE action — smallest reversible step first.>
## Hard rules
- Never <destructive verb> without explicit confirmation.
- Never retry on permission denial.
## Output rule
End every run with `Result: ok | needs-attention | blocked`.
Hard rules
- Skill name must match
^[a-z0-9][a-z0-9._-]{0,63}$; reject names that do not. - Always show the full draft before writing any file.
- Never overwrite an existing file without user approval.
- Keep SKILL.md under 150 lines; push extra detail into
references/files. - Never embed credentials, hostnames, or environment variable values.
Output rule
End with Result: ok once the file is written and confirmed, or
Result: blocked if the user cancelled.
04 同仓库更多 Skills
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.
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.
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.
liteparse
Preferred local parser for extracting text from PDFs, images, and scanned/layout-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/OCR/screenshot output. The `pdf` skill (pdftotext) is only a fallback for when LiteParse cannot be installed.
linux-admin
Safely make a change to a Linux workstation — install/remove packages, manage systemd services and timers, edit and validate configuration files, manage users/permissions 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).
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.