Skills
Skills are directories containing a SKILL.md file that teach the agent how to perform specialized tasks. Kodik discovers skills automatically on startup and makes them available to the agent. The agent decides on its own when a skill is relevant and applies it. Users can also invoke skills explicitly via slash commands.
SKILL.md File Format
Section titled “SKILL.md File Format”Each skill is a folder containing a SKILL.md file. Skill metadata is declared in YAML frontmatter:
---name: my-skilldescription: What this skill does and when to use it.user-invocable: truedisable-model-invocation: false---
## Overview
Describe the skill's purpose. Write it as instructions the agent should follow.
## Guidelines
- Prefer X- Always do Y- Avoid ZFrontmatter Fields
Section titled “Frontmatter Fields”| Field | Required | Description |
|---|---|---|
name | Yes | Unique skill identifier (lowercase, hyphens for spaces, max 64 characters). Used for skill lookup and as the slash command name. |
description | Yes | Description of what the skill does and when to use it. The agent uses this to decide relevance (max 1024 characters). |
user-invocable | No | Whether the skill appears as a slash command in the / menu. Defaults to true. Set to false to hide the skill from the menu while still allowing the agent to load it automatically. |
disable-model-invocation | No | Prevents the agent from loading the skill automatically. Defaults to false. Set to true to restrict the skill to explicit slash command invocation only. |
Skill Discovery Locations
Section titled “Skill Discovery Locations”Kodik discovers skills from the following locations (listed in descending priority order; when names collide, the higher-priority source wins):
| Location | Scope | Priority |
|---|---|---|
.kodik/skills/ in repository | Project | 4 |
.agents/skills/ in repository | Project (universal) | 2 |
~/Documents/Kodik/Skills/ | User (global) | 1 |
~/.agents/skills/ | User (universal) | 0 |
| Plugin skills | Plugin | 0 |
Skills from plugins are namespaced with the plugin id (<plugin-id>:<name>).
How the Agent Applies Skills
Section titled “How the Agent Applies Skills”On each request the agent receives a list of available skills (name + description). It decides which skills are relevant and loads their content. If a skill has disable-model-invocation: true, the agent never loads it automatically — it is only available via explicit user invocation.
User-Invoked Skills
Section titled “User-Invoked Skills”If a skill has user-invocable: true (the default), it can be invoked by typing /skill-name in the chat input. All available user-invocable skills appear in the / menu. See the slash commands overview for details.
Creating a Skill
Section titled “Creating a Skill”To create a skill through the agent, type /create-skill (or /createskill) in the chat input. The command asks for a name and description, then creates a directory with a SKILL.md file in the appropriate location.
The skill structure is minimal — a single folder with a SKILL.md is all that is needed:
.kodik/skills/└── deploy-app/ └── SKILL.mdYou can optionally add supporting files:
.kodik/skills/└── deploy-app/ ├── SKILL.md ├── scripts/ │ └── deploy.sh └── references/ └── REFERENCE.mdExample Skill
Section titled “Example Skill”---name: webapp-testingdescription: Guide to testing web applications with Playwright. Use when writing or running browser-based tests.---
# Web Application Testing with Playwright
## Creating Tests
1. Identify the user flow to test2. Create a test file in the `tests/` directory3. Use Playwright locators (prefer role-based selectors)4. Add assertions to verify expected behavior
## Running Tests
\`\`\`bashnpx playwright testnpx playwright test --debug\`\`\`