Importing from Standard Notes¶
When to use¶
When a user imports a Standard Notes backup. It must be the decrypted JSON (the
encrypted backup is unreadable ciphertext). You own it end to end. Read
limestone-vault-conventions, working-with-collections, and importing-from-obsidian
first.
Run the import (one tool call)¶
Call limestone_import_notebook(path, collection_name) with the decrypted .json.
Returns the usual summary + unconverted list.
How the import works (what the tool does)¶
The backup is one JSON with an items array of Notes, Tags, and components:
| Standard Notes | Limestone |
|---|---|
each Note item |
a record (title = content.title) |
content.text |
the note body |
| tags (each Tag lists its Notes' UUIDs) | real note tags (resolved via a two-pass join) |
created_at / updated_at |
Created / Updated date properties |
Trashed notes are skipped.
Finalizing (your job)¶
The importing-from-obsidian playbook applies. Standard-Notes-specific:
- Editor formats vary. Plaintext/Markdown notes import clean; legacy Rich Text notes store HTML and the Super editor stores a JSON/HTML document — both land in the body verbatim. Convert the important ones to Markdown.
- Nested tags (Standard Notes uses
parent.childdotted titles) import as flat tag names — re-nest if the user relies on hierarchy. - File attachments aren't in a notes backup (they're separate encrypted blobs);
re-attach any the user needs with
attaching-a-file.
Evolving this skill¶
If a backup shape recurs badly, work out the mapping and propose an update here or to
importers/standard_notes.py. Keep the two in sync.