README.md
README.md
Exposes the SKILL.md skills under ~/.agents/skills to any model in LM Studio chat.
/skill-name taskβ¦ (or $skill-name) to force a skill.list_skills, read_skill_file, list_skill_files β read-only, path-jailed.<available_skills> list.npm install, then lms dev in this directory.JEV_API_KEY in the environment LM Studio is launched from).Scripts inside skills are never executed by this plugin. Use the shell plugin's shell_run tool.
| Setting | Scope | Default | Meaning |
|---|---|---|---|
| Jev API key | per chat | (empty) | TypeSafe API key for routing. Leave blank to use JEV_API_KEY. |
| Routing threshold | per chat | 0.6 | Minimum jev probability to auto-apply a skill. |
| Max skills per message | per chat | 2 | Upper bound on injected skills; 0 disables auto-injection (hint list only). |
| History turns for routing | per chat | 4 | Recent messages sent to jev as context (each truncated to 500 chars). |
| Max injected characters | per chat | 12000 | Cap on an injected SKILL.md body; the rest is available via read_skill_file. |
| Show available skills when nothing matched | per chat | off | Append the <available_skills> list even when jev ran and matched nothing. |
| Skills root | global | ~/.agents/skills | Directory whose subfolders contain SKILL.md files. ~ is expanded; empty means the default. |
Every skill folder is listed by list_skills and can be activated explicitly with /name, but
only routable skills are sent to jev. A skill is not auto-routed when its frontmatter sets
disable-model-invocation: true, when it has no description, when its frontmatter or
SKILL.md cannot be read, when its name duplicates an earlier skill's, or when its name is not
activatable (names must match [A-Za-z0-9][A-Za-z0-9_-]*; an invalid frontmatter name falls
back to the folder name). Such skills still appear in list_skills with a note. At most 40
skills are routed per message, preferring the most recently modified SKILL.md. Jev has a 6 s
deadline; on timeout or error the message passes through with the <available_skills> list and
the reason is shown in the status.
npm test β vitest, no network (in-memory fs, fake judge and controller).npm run typecheck β tsc --noEmit for src/ plus tsc -p tsconfig.test.json for the tests.lms dev β run the plugin against a local LM Studio.Exposes the SKILL.md skills under ~/.agents/skills to any model in LM Studio chat.
/skill-name taskβ¦ (or $skill-name) to force a skill.list_skills, read_skill_file, list_skill_files β read-only, path-jailed.<available_skills> list.npm install, then lms dev in this directory.JEV_API_KEY in the environment LM Studio is launched from).Scripts inside skills are never executed by this plugin. Use the shell plugin's shell_run tool.
| Setting | Scope | Default | Meaning |
|---|---|---|---|
| Jev API key | per chat | (empty) | TypeSafe API key for routing. Leave blank to use JEV_API_KEY. |
| Routing threshold | per chat | 0.6 | Minimum jev probability to auto-apply a skill. |
| Max skills per message | per chat | 2 | Upper bound on injected skills; 0 disables auto-injection (hint list only). |
| History turns for routing | per chat | 4 | Recent messages sent to jev as context (each truncated to 500 chars). |
| Max injected characters | per chat | 12000 | Cap on an injected SKILL.md body; the rest is available via read_skill_file. |
| Show available skills when nothing matched | per chat | off | Append the <available_skills> list even when jev ran and matched nothing. |
| Skills root | global | ~/.agents/skills | Directory whose subfolders contain SKILL.md files. ~ is expanded; empty means the default. |
Every skill folder is listed by list_skills and can be activated explicitly with /name, but
only routable skills are sent to jev. A skill is not auto-routed when its frontmatter sets
disable-model-invocation: true, when it has no description, when its frontmatter or
SKILL.md cannot be read, when its name duplicates an earlier skill's, or when its name is not
activatable (names must match [A-Za-z0-9][A-Za-z0-9_-]*; an invalid frontmatter name falls
back to the folder name). Such skills still appear in list_skills with a note. At most 40
skills are routed per message, preferring the most recently modified SKILL.md. Jev has a 6 s
deadline; on timeout or error the message passes through with the <available_skills> list and
the reason is shown in the status.
npm test β vitest, no network (in-memory fs, fake judge and controller).npm run typecheck β tsc --noEmit for src/ plus tsc -p tsconfig.test.json for the tests.lms dev β run the plugin against a local LM Studio.