Use skills
Kora reads SKILL.md files from the directories below. Add a file, then open the / palette in the chat composer to use it.
Where skills live
Section titled “Where skills live”Kora scans six directories plus custom skills defined in Settings and any prompts exposed by connected MCP servers.
| Scope | Directories |
|---|---|
| Global | ~/.claude/skills/, ~/.agents/skills/, ~/.kora/skills/ |
| Project | <project>/.factory/skills/, <project>/.opencode/skills/, <project>/.agents/skills/ |
Project skills override global ones with the same name. Each skill lives in its own subdirectory as a SKILL.md file (a standalone .md file in the directory root also works if it has name or description frontmatter).
Add a skill
Section titled “Add a skill”---name: my-skill # required (falls back to directory name)description: One line # requiredtriggers: "..." # optional, comma-separated---
Prompt body.Optional fields: allowed-tools, context7-libs, user_invocable (defaults to true).
Invoke a skill
Section titled “Invoke a skill”- Type
/in the chat composer to open the skill palette, then select a skill. - A skill whose
triggersmatch a phrase in your message activates automatically — works in Italian and English (verbs like usa, use, attiva, run, applica). - The model can invoke a skill by name via the
skilltool.
Troubleshooting
Section titled “Troubleshooting”- Skill not in
/palette → the file is not in a recognized directory, the frontmatter has unbalanced---fences, oruser_invocable: falseis set. - Triggers don’t fire → triggers are matched as case-insensitive substrings; words shorter than 2 characters are dropped. Re phrase your message using the skill’s exact trigger.
- Project skills don’t load → the directory name must be exactly
.factory/skills,.opencode/skills, or.agents/skillsunder the project root. - MCP prompts missing → confirm the MCP server is connected (see MCP servers); prompts are loaded only when the server is up.