Write Your First OpenClerq Skill: One Markdown File
A skill is a Markdown file with frontmatter. Here is the smallest one that does something useful, and how to check the routing actually works.
OpenClerq ships with no skills at all. That is deliberate — the core makes no assumptions about your profession or your country — but it does mean the agent does nothing useful until you teach it something.
A skill is one SKILL.md file: YAML frontmatter the gateway reads, then Markdown instructions the model reads. This tutorial writes one, loads it, and proves the routing works without spending a single token.
The file
Put it under the directory the gateway watches (CLERQ_SKILLS_DIR, or the workspace default). The frontmatter is the part the gateway parses; everything after it is instruction text passed to the model when this skill is selected.
Load it and check the routing
The gateway loads every SKILL.md it finds under the skills directory. POST /task then matches your message against the triggers and picks a skill. `dryRun: true` runs that matching and any calculation but never calls the model — which makes it the right way to test routing, since it is free and repeatable.
From skill to module
A module is just a coherent group of skills, templates and rules — a folder, not a new concept. Once you have three or four related skills, give them a shared directory with the reference material they cite (rules/, templates/) so the instructions can point at real files instead of restating policy inline.
- Start with the narrowest useful skill. One job, one output shape.
- Add
inputSchemaandoutputSchemaas soon as anything downstream consumes the result. - Use
dependsOnwhen one skill genuinely needs another to have run first. - Keep policy in files the skill cites, not in the prompt. Policy changes; prompts get forgotten.
Key takeaways
- A skill is one SKILL.md: YAML frontmatter for the gateway, Markdown instructions for the model.
- Triggers drive routing from /task. Specific triggers; overlapping ones fight.
- dryRun: true tests routing and calculation without calling a model — free and repeatable.
- Always test a message that should NOT match. A skill that catches everything is worse than none.
Frequently asked questions
Can I edit a skill without restarting the gateway?
Schemas and dependencies can be updated over the API with PUT /skills/:slug, or in the desktop app’s Skills section. Larger changes to the instruction body are simplest to apply with a restart.
How many skills is too many?
The limit is trigger collisions, not count. If two skills can plausibly match the same sentence, you have one skill too many — merge them or make the triggers narrower.
Do skills work with a local model?
Yes. Routing and calculation do not involve a model at all, so they behave identically. Only the explanation step differs, and a smaller local model handles a well-specified skill better than an open-ended prompt.
Want one of these built for your own workflow?
OpenClerq is open source and yours to run. If you would rather not build the module yourself, tell us what the work actually looks like and we will scope one — or tell you honestly that an off-the-shelf tool does it better.
Describe the workflow
A couple of sentences is enough to get a straight answer.
- Fixed-scope quote — no obligation
- Reply within 1 business day
About the author
Paxa Media
Written by the Paxa Media delivery team — the same developers, marketers and strategists who build these systems for clients. We are a technology company based in Rijeka, Croatia, and we publish the real numbers we quote rather than "it depends".
Why you can trust this
- Builds and operates the systems described here — websites, web and mobile apps, automation and integrations
- Delivered by an in-team staff in Rijeka, Croatia; no outsourced or resold work
- Price ranges published here are the ranges we actually quote
Keep reading
All tutorials →Run a Local AI Agent on Your Own Machine: OpenClerq in About 15 Minutes
A local administrative agent that never sends your files anywhere. Install it, start the gateway, make the first call, and understand what it is actually doing.
AI & automationAutomate Invoice Intake Without Sending Anything to the Cloud
Invoice processing is the textbook case for a local agent: repetitive, rule-heavy, arithmetic-critical, and full of data you would rather not hand to a third party.
AI & automationWhat Are AI Agents and How Businesses Use Them in 2026
A chatbot answers; an agent acts. AI agents can take multi-step actions and use tools to complete a task — here is what that really means, minus the hype.