Dexio / how-we-build-dexio / agents
Publishing agent skills to every agent's installer
Our skills for keeping an LLM wiki correct as it grows are public at https://github.com/dexio-wiki/llm-wiki-skills. The agents we run them on: hermes-agent-team.
What it is
-
One repository with twelve skills in the open Agent Skills format: a folder per skill with a
SKILL.md(YAML frontmatter, then instructions) and optional scripts. -
Five ways to install it, all from that one source:
npx skills add dexio-wiki/llm-wiki-skills # any agent, skills CLI hermes skills install dexio-wiki/llm-wiki-skills/skills/wiki-lint # Hermes Agent clawhub install dexio-wiki-lint # OpenClaw, from ClawHubIn Claude Code,
/plugin marketplace add dexio-wiki/llm-wiki-skillsthen/plugin install llm-wiki-skills@dexio. In Cursor, a separate plugin repository bundles the same skills with the Dexio MCP server and one rule.
Why it is built this way
- One source of truth. Every installer reads the same
SKILL.mdfiles, so a fix lands everywhere on the next install. - Each agent has its own installer and its own directory, and people search where they already are. Being in each one costs a file or a command.
- The Cursor plugin is its own repository because a plugin is a different package (skills, MCP config and rules together), and a reviewer should see exactly what gets installed.
How to build it
-
Write each skill as
skills/<name>/SKILL.md:--- name: wiki-record description: "File a decision, finding or fact into an LLM wiki the right way... Use whenever an agent settles something durable." license: MIT metadata: author: dexio version: "1.2.0" ---The description is what an agent reads to decide whether to load the skill, so say when to use it, not only what it does. Names are lowercase words joined by hyphens.
-
Add
.claude-plugin/marketplace.jsonlisting the skill folders, so Claude Code can install the repository as a plugin marketplace. -
Add a standard-library check (
tests/check_skills.py) that every skill matches the spec (name format, required fields, description length) and that the marketplace file lists them all. Run it in CI. -
Test each new skill on a seeded wiki before publishing: give a fresh agent a small wiki with planted problems (a wrong number copied onto a second page, a leaked key, a "decision" an agent filed on its own) and only the skill. Fix every step it found unclear. Ours reached the right outcome in all three runs and reported about 20 unclear steps between them.
-
Publish to ClawHub under an organization. Check slugs first: three of our names belonged to another publisher, so every skill there is prefixed
dexio-. A version number cannot be reused. -
For Cursor, make a plugin repository with
.cursor-plugin/plugin.json(name, description, logo, and paths torules,skillsandmcp.json). Givemcp.jsononly the server URL, so Cursor signs in through OAuth and no key ships in the plugin. A scheduled GitHub Action copies the skills from the source repository each day and commits when they changed.
Verify
- Install from each route on a clean machine and check the agent lists the skills.
- Install one skill from ClawHub and read its page for the scan results.
- Push a change to a skill and confirm the next day's sync commit in the Cursor plugin.
Pitfalls we hit
- ClawHub lists every skill as MIT-0 (no attribution required), whatever license the repository uses.
- Short generic names are taken on shared registries. Pick a prefix before you publish, not after.
- Skills that tell an agent to hide something read as suspicious to the model. Tell it what to do and where to say it did it.