-
Notifications
You must be signed in to change notification settings - Fork 3
Skills
🌐 Language: English | 中文
The Direct engine supports invocable skills / commands / agents. Scanned from local Claude Code / Codex installs; invoked via the / menu or the ⚡ button.
src/main/skills.ts scans:
| Path | Source | Type |
|---|---|---|
<resources>/skills/* (packaged) or skills/* (dev) |
Built-in (read-only) | skill |
~/.claude/skills/* |
Claude Code user skills | skill |
~/.claude/commands/* |
Claude Code user commands | command |
~/.claude/agents/* |
Claude Code user agents | agent |
| Claude Code plugins | Installed plugin content (~/.claude/plugins/*) |
various |
~/.codex/skills/* |
Codex skills | skill |
| Installed KinetAios plugins | Plugin-contributed (read-only) | various |
Each skill is a directory with a SKILL.md (frontmatter: name / description).
Built-in skills ship with the app (v3.7.3+). The first one, data-analysis, ports the V3 analysis discipline: schema before conclusions, compute via tools not mental math, intermediate results on disk, sourced conclusions, cross-checked key figures. Invoke it via /data-analysis, or let V3 auto-load it when data files appear in the task.
Type / as the first character in the main window's input → slash menu pops up listing all available skills / commands / agents. Navigate with arrow keys + Enter, or click.
After selecting:
- The skill's body (
SKILL.mdcontent) is injected into the systemPrompt'sskillSectionfor the next turn - The input auto-fills
/skill-name; the user adds arguments + Enter
The main window's ⚡ Skill button → opens the same menu, mouse-friendly entry.
EngineRunOpts.skillBlock?: string — Direct only.
engines.ts:131:
const skillSection = skillBlock ? `\n\n# Current Skill directive (user invoked via /, please follow)\n${skillBlock}` : '';Concatenated into systemPrompt (after baseSystemPrompt, before rules).
Direct-only. Claude Code / Codex skills go through their respective CLI's / mechanism (not injected here).
A skill's body is only injected on the turn the user invokes /skill-name. Not persisted to subsequent turns (unless invoked again).
Aggregates every skill/command/agent from all sources (Claude Code / Codex / built-in / plugins) into one searchable panel. User-level skills are editable in-app (opens the source file in an editor modal); plugin and built-in skills are read-only. Changes take effect immediately — no restart.
Add a directory in Claude Code's or Codex's standard location:
~/.claude/skills/my-skill/
SKILL.md # frontmatter: name, description; body: instructions
Restart KinetAios → it's scanned → /my-skill is available.
-
src/main/skills.ts— scanning logic -
src/shared/types.ts:51—SkillInfo/SkillType -
src/renderer/app.ts— slash menu + ⚡ button rendering -
src/main/main.ts—list-skillsIPC