Imported from anirbanbasu/prioris (
skills/vault-export/SKILL.md). Install upstream withnpx skills add anirbanbasu/prioris --skill vault-export. Copyright stays with the author.
Vault Export
See ../../shared/mcp-contracts.md for the notes://{note_id}/export resource's contract (#notes) and ../../shared/notes-model.md for the tag scheme used in filtering below.
Scope
Writes files outside .prioris/ — this is user-directed output to a vault path the user provides, not plugin state, and the server itself never writes this to disk (export is a resource, not a tool). Never invoked automatically by another skill; always an explicit, user-initiated action.
Workflow
- Determine which notes to export — same filter language as
reading-log/manage-notes(research_notes_search, project-scoped by default), or an explicit list of note ids the user already has. - Determine the destination vault path — ask if not given. Confirm the directory exists, or offer to create it, before writing anything (
../../shared/scripts/render_note_export.pycreates it automatically if missing, but say so to the user first rather than silently creating a new directory tree on their filesystem). - For each selected note id, read
notes://{note_id}/export, pipe the resulting JSON intouv run --project <plugin root> python ../../shared/scripts/render_note_export.py <vault path>, which writes<vault path>/<note id>.mdand prints the path it wrote. - Report how many notes were written and where. If a file already existed at a given path,
render_note_export.pyoverwrote it (vault exports are idempotent snapshots, not append-merges) — say so rather than implying it was a fresh file.
Argument handling
If $ARGUMENTS names a vault path and/or filter language, use it. Otherwise ask for the destination path first — nothing else can proceed without it — then ask which notes to export.