Agent skills
These are the skills the desk agent may plan. They run after you sign in. A plan is shown first. A delete waits for approval. An outside agent can read this list. It has no token to call them.
Journal
journal.list_shelvesList the inbox and every shelf, with a count and the latest entry.
You need to see which interests exist before filing or writing.
Input:journal.list_entriesList entries in the inbox, on one shelf, or newest first across the journal.
You need the entries themselves, not just the shelf names.
Input: {}journal.searchFull-text search of page titles and bodies.
The user names a topic and you need the pages that already cover it.
Input: queryjournal.read_pageRead one page, including its Markdoc body and version.
You are about to edit a page, or the user asked what it says.
Input: idjournal.create_pageCreate an empty draft entry, in the inbox or on a shelf.
The user wants a new entry. Leave tags empty for the inbox. Pass a shelf name to file it as you create it.
Input: title, tags?, body?{"title":"Untitled","tags":["Cars"]}journal.set_tagsReplace the shelves an entry sits on. An empty list moves it to the inbox.
The user wants an entry filed under an interest, or taken off one. A new shelf is just a tag that no entry has carried yet.
Input: id, version, tagsjournal.update_pageReplace a page's title or body. Send the version you read.
You already have the full new body. For a model-written page, use journal.write_page instead.
Input: id, version, title?, body?, format?journal.write_pageDraft an entry from a short brief. Replaces the body.
The user wants a new entry written, or the current one rewritten from notes. Create the page first if it does not exist yet.
Input: id, version, briefjournal.rewrite_sectionChange one part of an entry and keep the rest.
The user wants a passage rewritten and the rest of the entry left as it is.
Input: id, version, instruction, section?journal.reformat_pageTidy an entry’s markdown without adding facts.
The user wants the page cleaned up: headings and lists where the text already has them, and the wording kept.
Input: id, versionjournal.renameRename a page or folder. Send the version you read.
The user wants a new title and the body stays as it is.
Input: id, version, titlejournal.set_formatSet a page's width, contents list, or numbered headings. Token choices only.
The user wants the page wider, a contents list, or numbered headings.
Input: id, version, formatjournal.deleteMove a page or folder to Trash. It can be restored.
The user explicitly asked to delete it.
Input: id, versionjournal.restoreRestore a page from Trash.
The user wants a deleted page back.
Input: id
Cookbook
recipes.import_videoRead a YouTube cooking video and save it as a draft in the Cookbook.
The user gives a YouTube link, or asks for a recipe from a cooking video. Do not write a journal page for that video.
Input: url{"url":"https://www.youtube.com/watch?v=abcdefghijk"}recipes.searchSearch cookbook recipes by dish, tag or ingredient.
The user names a dish, a tag or an ingredient and you need the recipes that match.
Input: query{"query":"stew"}recipes.readRead one cookbook recipe as a single line, with the version to send back.
You need a recipe’s version before changing its tags or deleting it, or the user asked what it is.
Input: id{"id":"rcp_0123456789abcdef0123456789abcdef"}recipes.deleteDelete a recipe. It is gone, and the same video can be imported again.
The user explicitly asked to delete it.
Input: id, version{"id":"rcp_0123456789abcdef0123456789abcdef","version":1}recipes.set_tagsReplace a recipe’s tags. An empty list clears them.
The user wants a recipe filed under a tag, or the tags cleared. Send the version you read.
Input: id, version, tags{"id":"rcp_0123456789abcdef0123456789abcdef","version":1,"tags":["weeknight"]}