diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-25 18:36:08 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-25 18:36:08 +0200 |
| commit | 767636465e43eb9662cde31037392d4b9c05a735 (patch) | |
| tree | 62d66e87c55d35d49ff145a3bfd3e22be7feaeb4 | |
| parent | 8776e6fd87207d0bd76f1567851f554b7eb3a70e (diff) | |
| download | llamachat-767636465e43eb9662cde31037392d4b9c05a735.tar.gz llamachat-767636465e43eb9662cde31037392d4b9c05a735.zip | |
docs: document skills support
| -rw-r--r-- | CHANGELOG.md | 7 | ||||
| -rw-r--r-- | README.md | 31 |
2 files changed, 38 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index a79898b..bb8fb42 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -73,6 +73,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 at runtime so there is still no icon file to install. Send is now a square button beside the entry box with its label under the icon, and New/Attach sit at the right end of the picker row. +- Skills. Instruction files read from `~/.agents/skills/*/SKILL.md` can be + loaded into the model's context on demand: the model calls a `load_skill` + tool, or you type `/skill-name` or mention a skill's name. Loaded skills + stay for the whole session in chat mode, drop after the reply in one-shot + mode, and show as removable chips. The backend tool loop now dispatches + between `web_search` and `load_skill`; `max_searches` caps total tool + rounds per turn. ### Fixed @@ -42,6 +42,11 @@ persistent process and toggles like a scratchpad from a Hyprland keybind. offered a `web_search` tool and calls it when a question needs current information; the queries and their sources show as a collapsible block above the reply. See [Web search](#web-search). +- **Skills.** Instruction files read from `~/.agents/skills/*/SKILL.md`, + loaded into the model's context on demand. The model can call a + `load_skill` tool when a task matches one; you can type `/skill-name` or + mention a skill's name. Loaded skills show as removable chips, stay for + the whole session in chat mode, and drop after the reply in one-shot mode. - **Tray icon** for show/hide/quit, hosted by waybar's tray module. Not in this version: RAG or embedding search over history, multi-user @@ -150,6 +155,12 @@ search_results = 5 search_snippet_chars = 300 search_timeout = 10 max_searches = 2 + +# Skills. Instruction files in ~/.agents/skills/*/SKILL.md, loaded into the +# model's context on demand. On by default; a directory that does not exist +# stays off. +skills_enabled = true +skills_dir = "~/.agents/skills" ``` `presets.ini` is read for two things the API does not report: which models @@ -464,6 +475,26 @@ None of that stops a poisoned snippet from influencing what the model says. If a top result asserts something false, a 9B may repeat it. That is why the sources stay visible rather than being hidden behind the answer. +### Skills + +Instruction files read from the skills directory, one `SKILL.md` per skill +inside `<name>/`. Each file starts with a YAML frontmatter block carrying the +`name` and `description`, followed by the instructions. Skills live outside +the app (in `~/.agents/skills` by default) so they can be edited, diffed and +kept in version control. + +A skill is loaded into the model's context on demand, three ways: + +- The model calls a `load_skill` tool when a task matches a skill's + description. +- You type `/skill-name` on its own line. +- You mention a skill's name anywhere in the message. + +Loaded skills show as removable chips above the input. They stay loaded for +the whole session in chat mode and drop after the reply in one-shot mode. +`max_searches` caps the total tool rounds per turn here too, so skills load +and searches share the same per-turn budget. + ### External providers llamachat can talk to OpenAI-compatible cloud providers alongside the local |
