Built-in skill walkthrough: log-troubleshooting
Comis ships with seven prompt skills in the repo’s/skills/ directory, and
the easiest way to understand the format is to read a real one. Here is the
manifest and body of log-troubleshooting, the skill agents reach for when
the user asks “what went wrong?” or “why is the daemon slow?”
Live at: <repo>/skills/log-troubleshooting/SKILL.md
- Two required fields, that is it.
nameanddescription— the rest is optional. Notice there is noallowedTools, nopermissions, noinputSchema. Most real-world skills are this lean. - The description does the heavy lifting. Look at the trigger phrases packed into it (“logs”, “errors”, “warnings”, “what happened”, “investigating any kind of platform issue”). Comis uses this string to match the user’s intent to the right skill — a vague description like “log helper” would never get selected. Spend time on this field.
comis.requires.binsis how the skill says “I needpython3on PATH”. At load time the runtime eligibility system checks this; if Python is missing, the skill is skipped with a warning rather than silently failing.- The body is just Markdown. No special syntax beyond standard
{template}/$1placeholders. The skill bundles a Python script next to the manifest inscripts/log-digest.py, and the body teaches the agent to call it.
log-troubleshooting, runs
python3 scripts/log-digest.py ~/.comis/logs/daemon.log, and reports the
top errors, slowest operations, and warnings.
Customer support persona
A prompt skill that teaches the agent to respond as a customer support representative with specific tone, escalation rules, and response templates. Create the file at:~/.comis/skills/customer-support/SKILL.md
- The
allowedToolsrestriction ensures the agent only uses messaging and memory tools while this skill is active — it cannot run shell commands, browse the web, or access other tools - The
userInvocable: truesetting (which is the default) means anyone in the chat can activate it with/skill:customer-support - The agent follows the tone, escalation, and response format rules for every reply
Daily briefing
A prompt skill that generates a morning briefing when triggered by a scheduled cron job. This example shows how skills and scheduling work together. Create the file at:~/.comis/skills/daily-briefing/SKILL.md
- The
argumentHintshows users that the skill expects a timezone argument - The
{timezone}placeholder gets replaced with whatever the user provides - The
disableModelInvocation: falsesetting (the default) means the agent can also decide to use this skill on its own when relevant
Code review checklist
A prompt skill with tool restrictions that provides a structured code review checklist. This example demonstrates how to combine instructions with specific tool access. Create the file at:~/.comis/skills/code-review/SKILL.md
- The
$1placeholder is replaced with the file path the user provides - The
allowedToolsrestriction limits the agent to read-only file tools — it cannot modify files, run commands, or access the network during the review - The
comis.requires.binsfield ensuresgitis installed on the system before the skill is loaded. If git is missing, the skill is marked as ineligible.
Data formatter
A skill that formats CSV data into a readable Markdown table. This example shows how permissions control file access. Create the file at:~/.comis/skills/csv-formatter/SKILL.md
- The
permissions.fsReadfield grants the skill read access to CSV files in the./data/directory — and only that directory - The skill cannot read files outside of
./data/*.csv, write any files, or access the network - The
argumentHintshows users what input to provide
Tips for writing good skills
These tips apply to all prompt skills:- Keep instructions specific and actionable. Instead of “be helpful”, write “respond with a numbered list of 3 options, each with a one-sentence explanation”.
- Use numbered steps for procedures. The agent follows numbered steps more reliably than unstructured paragraphs.
-
Restrict tools to only what the skill needs. Use
allowedToolsto follow the principle of least privilege. A research skill should not have access to file editing tools. - Test with simple inputs first. Start with the most basic invocation and work up to complex cases. Check that template variables resolve correctly.
-
Use
argumentHintto guide users. Show users what inputs your skill expects so they do not have to guess. For example:argumentHint: "[language] [file-path]". -
Write clear descriptions. The agent uses the
descriptionfield to decide when to apply skills automatically. A vague description like “helper skill” gives the agent little to work with.
Skills are the primary way to customize your agent’s behavior. Start with one or
two simple prompt skills, and expand as you learn what works best for your team.
Related
Prompt Skills
Learn to create prompt skills
Manifest Reference
All manifest fields
Tool Policy
Control tool access
