lecture.studio

Assistant tools

The tools the assistant can call, which ones need approval, the skill pack, and what context every message carries.

The assistant is an agent with a fixed set of tools. The file tools run inside the app and are confined to the library folder; search and web tools run on Oberik. Knowing the list explains what the working panel shows and what the assistant can and cannot do.

File tools (in the app)#

ToolWhat it doesApproval
list_dirLists a folder of the library.no
read_fileReads a file, optionally a line range.no
create_fileCreates a new file. Refuses to overwrite.no
append_fileAppends to a file.no
replace_in_fileReplaces a passage inside a file.no
overwrite_fileReplaces a whole file.yes, every time
save_assetSaves an image (from a URL or inline data, 20 MB max, image types only) into a unit's assets/ folder. Never overwrites.no
list_sourcesLists the sources of the scope with their index status.no
qa_deckRuns the same scan as Check slides and reports overflow and missing images per slide.no
show_previewOpens a file in the workspace and scrolls the preview to a slide.no

Paths are relative to the library. A path that leaves the library, or points into .git, is refused. Every write bumps the file list, and when the written file is the open one, the editor reloads it or shows Changed on disk, reload if you had unsaved edits.

Server tools (on Oberik)#

Source search (rag_search, search_documents), web search and fetch (web_search, web_fetch) when the project allows them, a todo list (todo_write, todo_update) that feeds the working panel, load_skill for the skill pack, and ask_user for the question sheet.

No git#

The assistant has no git tools. Committing, pushing and pulling are yours, from the git bar.

The skill pack#

The deck conventions come from a skill pack published to your project once (see Connect the assistant). It contains the system prompt and five skills:

SkillPurpose
marp-deck-writerHow a deck is structured, the house style, sections of 10 to 15 slides, citations.
deck-qaRunning qa_deck and fixing overflow and density.
speaker-notesNotes as HTML comments, slide by slide.
instructor-guideThe unit guide in 20-minute blocks.
slide-imagesFinding or making images and saving them with save_asset.

The system prompt also tells the assistant to read studio.json for who is presenting, and TEACHING_STYLE.md at the library root when it exists, and never to invent names, contact details or links.

What every message carries#

Besides your text, each message sends a one-line context: the course and unit, the open file, a short presenter summary from the profile, and a note on which sources are attached. The sources of the scope are searchable through tags: scope:global, course:<folder>, unit:<course>/<unit>.

Where it runs#

The Oberik SDK runs in a hidden web view inside the app under the origin http://127.0.0.1:3005; there is no local server. The app mints short-lived tokens from your project key and hands only those to the page. The key itself stays in the Keychain.