Skill format & activation
Frontmatter, filter modes, trigger matching, persistence, and known limits.
Skill file reference
| Field | Import behavior |
|---|---|
| name / title | Sets the visible skill name. The filename is used when omitted. |
| id | Optional stable ID. Lowercase letters, digits, hyphens, and underscores are preserved; other characters become hyphens. |
| description / desc | Visible description. If omitted, the first directive paragraph is used. |
| category | writing_voice, engineering_discipline, architecture_planning, quality_security, reasoning_verification, or custom. Unknown values are retained as the category value. |
| triggers / keywords / tags | Comma- or semicolon-separated phrases. If absent, the imported ID becomes the trigger. |
| alwaysActive | Use camelCase for import. When true, it applies in Smart Filter mode even if no trigger matches. |
| Body after frontmatter | Stored as promptInstructions and injected verbatim when active. |
How activation works
Only enabled skills are eligible. In Smart Filter mode, a skill activates when alwaysActive is true or one trigger matches the prompt. Single-word triggers use word-boundary matching after lowercasing and punctuation cleanup. Multi-word triggers use phrase matching. In Always Active mode, every enabled skill activates for every prompt.
Prompt: "Please debug this error"
Trigger: "debug" → matches
Prompt: "Write a unit test"
Trigger: "unit test" → matches
Prompt: "refactoring"
Trigger: "refactor" → does not match as a single-word triggertextEditing, import, export, and reset
Skills are stored in the application database under the AI Plate skills configuration metadata. Built-in skills can be enabled or disabled, but cannot be deleted. Custom skills can be edited, exported, or deleted in the Skills & Directives settings tab. Reset restores built-ins and removes custom skills.
Implementation sources
Paths in your AI Plate source checkout:
core/skills-manager.tsui/app.jselectron/ipc-bridge.ts
Writing useful directives
- State the task boundary, ordering, and stop conditions directly.
- Say what needs confirmation before any irreversible action.
- Avoid provider-specific API keys, personal data, and machine-specific paths in a distributable skill.
- Keep the directive short enough to apply predictably and test it against several representative prompts.
- Use a plugin or connector for execution. A skill should shape decisions and output, not pretend to have capabilities it does not have.
