Help
Everything Skein does, and how to reach it. If something here doesn’t match what you’re seeing, email hello@teze.appand tell me. Either the app or this page is wrong, and I’d like to know which.
Getting started
Skein works on a vault: an ordinary folder of Markdown files. Nothing is imported, converted or locked in.
Four ways to begin
The launcher appears when no vault is open, and offers:
- Open an existing folder: any folder of Markdown files.
- Create a new vault: a fresh, empty folder.
- Start with the starter vault: a small set of linked notes that teach wikilinks, tags and daily notes by being read.
- Import from an existing vault: an Obsidian vault opens as-is. There’s no import step, because there’s nothing to convert.
Your last five vaults are remembered, and Skein reopens the most recent one on launch unless you turn that off in Settings.
Notes are files, titles are filenames
A note is a .mdfile, and its title is the filename. There’s no separate display title to keep in sync. YAML frontmatter at the top of a note is preserved, and a Settings toggle shows it as a Properties card rather than raw text.
Writing
A native AppKit editor, no Electron, no web view. The thing it's built around is that the text never moves while you're writing in it.
Rendered while you edit
Markdown markers are hidden while their meaning is shown: ## Heading reads as a heading, **bold** as bold, [[Note|alias]] as the alias, backticked code gets a tinted background.
Crucially this is driven by content, not by where your cursor is. The layout neverreflows as you move around, which is the failure that makes other editors’ live preview jumpy. If you’d rather see the raw syntax, turn off Show markdown syntax while editingin Settings → Editor.
Markers that carry meaning stay visible: #tags keep their hash, list dashes stay put.
Slash commands, and autocomplete for links and tags
Type / at the start of a line for headings, lists, tasks, quotes, code blocks, tables, callouts, dates, images, footnotes, definition lists and query blocks. You do not have to know what Skein calls a thing: typing filter, vault or dataview finds the query block, todo finds a task, separator finds a divider. The bar along the bottom of the menu shows the Markdown the highlighted command will write, so after a few uses you can type it yourself.
Type [[ and pick from your note titles. Inside those brackets, # links to a heading in that note and | changes the words the link shows. Type # in the body and existing tags are suggested.
Images and attachments
Drag a file into the editor and it lands at the pointer, not at the end. Images are copied into your vault’s attachments folder and render inline as you write. Anything that isn’t an image becomes a link. The attachments folder name is yours to set in Settings.
The right-click menu
Formatting, insert an image, insert an external link with a URL prompt, or turn the selected text into a wikilink without typing the brackets.
Saving
Skein autosaves. You can set the delay to immediate, half a second or two seconds in Settings → Editor, alongside spell-check-while-typing and text width (narrow, standard, wide or full).
⌘S works too, for the muscle memory. It flushes whatever is pending and says nothing, because there is usually nothing left to do.
Reading mode
Press ⌘E. Two modes, not three, so there's never a question about which one you're in.
What it renders
Headings, bold, italic, code, callouts (info, tip, warning and error), dividers, lists and images. Wikilinks and tags are clickable; clicking a wikilink to a note that doesn’t exist yet creates it.
Reading mode uses the same centred measure as the editor, so toggling between them never shifts the text you’re looking at.
Linking notes
Links are what turn a folder of files into something you can think in. Skein's job is to keep them working.
Four kinds of wikilink
[[Note]], [[Note|alias]], [[Note#Heading]] and ![[embeds]]. Resolution is case-insensitive. If two notes share a title, Skein resolves to the nearest one by path and tells you the link is ambiguous rather than guessing silently.
Block references
Name one line by ending it with ^a-name, then link to that exact line with [[Note#^a-name]] or pull the line itself into another note with ![[Note#^a-name]]. You choose the name, so it still means something a year later. Names must be unique; if one clashes, Skein tells you where.
PDFs in a note
![[paper.pdf]] shows the PDF where you are, and #page=3 opens it at a page. Select text to highlight it. Your marks live in a small readable file beside the PDF. The PDF itself is never rewritten, and Export with highlights makes a copy with the marks burned in when you need to send one.
Files and folders outside the vault
An ordinary Markdown link to a file elsewhere on your Mac works; Skein asks once for that folder and remembers. A folder reached through an alias or a symlink appears in the sidebar like any other, so a vault does not have to be one self-contained folder.
Seeing what connects
The inspector (⌥⌘I) holds backlinks (every note linking here, each with its surrounding context), plus outgoing links, and unlinked mentions: notes that name this one without linking it. Right-click → Link To makes the connection without typing any syntax.
Hover any wikilink to preview the note it points at, without leaving the one you’re in.
Renaming is safe
Edit the title above the note body and Skein rewrites every [[link]]pointing at it across the vault. A banner tells you how many notes were touched and offers Undo. If you’ve already dismissed it, Edit → Undo Rename (⌃⌘Z) restores the exact previous bytes of every file it changed.
The local graph
Press ⌥⌘G. Deterministic and zone-based, not a force-directed hairball you have to untangle.
Four zones around the current note
Parents are the hub notes and folder notes that lead here. Children are the notes this one points at. Siblings share its folder. Related share its tags and links.
Zones are inferred from your folders and your links, so there’s nothing to label by hand. Each zone is capped so the picture stays readable, and clicking any chip navigates to that note. What counts as a hub is adjustable in Settings → General → Graph.
Canvas
An infinite board for the thinking that will not sit in a list.
Making one
⌥⌘N, or the grid button in the ribbon. A canvas is a .canvas file in your vault, written in JSON Canvas, the same open format Obsidian uses, so the file opens in either app.
Putting things on it
Double-click empty space for a card, or press N. Drag a note in from the sidebar to make a note card that shows its live title and opening lines. The bar at the bottom adds a card, a note or a web link.
Shapes
Select a card and the diamond button on its toolbar offers five outlines: rectangle, pill, ellipse, diamond and cylinder. They are named for their geometry rather than a meaning, so a diamond is yours to use as a decision, a question, or whatever you have always drawn as a diamond.
Arrows meet the outline rather than the invisible box around it, and a card given a tighter shape grows around its own centre rather than clipping what you wrote. Rectangle writes nothing to the file at all, so a board you never reshape stays byte-for-byte as it was, and the shapes that do get written use the key Obsidian’s canvas plugins already read, so a board renders there with the plugin and falls back to plain rectangles without it.
Connecting and grouping
Hover a card and drag from the dot on any edge to another card. Drop it on empty space and you get a new connected card. Double-click the line to label it; right-click it for colour, direction, and “go to source” or “go to target”.
⌘G draws a group around the selection. A group is renamed rather than edited, and deleting one leaves its cards where they are. Dragging it, though, takes them with it.
Moving around
Two fingers to pan, pinch or ⌘-scroll to zoom, ⌘0 to fit the whole board and ⌘1 for actual size. Hold Space and drag to pan from anywhere. Dragging on empty space selects a group of cards rather than panning, which is what every other canvas does.
⌥-drag duplicates a card, ⇧-drag keeps it on one axis, and cards line up with their neighbours as you move them. Help → Canvas Shortcuts lists the rest.
Live queries
A block that asks a question of your vault and shows the answer, kept up to date.
Writing one
A fenced block marked skein. In reading mode it becomes the answer:
```skein from: Sources where: type = source and year > 1950 sort: year desc as: table columns: title, author, year ```
What you can ask
from a folder, tags (all of them must match), where a property compares, sort, limit. Comparisons are =, !=, >, <, >=, <=, contains, empty and not empty, joined with and and or.
today, yesterday and tomorrow mean what they say on the day the query runs, which is the point of saving one rather than keeping a list.
Four ways to see it
as: list, as: table (with columns), as: board (with group: status) or as: calendar (with date: due). Every result links into its note.
Totals, and editing without leaving the table
Add summary: sum(pages) under a table for a sum, or an average, a count, a high and low, shown beneath the column. And a property shown in a table can be edited right there; the note is rewritten the same careful way as editing its frontmatter by hand, one line, nothing else touched.
Organising
Structure where it helps, and none where it doesn't.
Sidebar and tabs
⌘\ toggles the folder tree, which shows note counts and has a button for creating a new folder. Tabs follow the VS Code pattern: a single click opens a preview tab in italics that gets replaced as you browse, so clicking through ten notes leaves one tab behind. Edit it or double-click to make it permanent. Middle-click or × to close.
Split view
Two notes side by side. The second pane has its own header with a dropdown to choose what it shows (your open tabs first, then the rest of the vault), a button to swap the panes, and a close button. Open in Splitin the sidebar’s right-click menu opens a note on the right without disturbing what you’re reading on the left.
Tags
Type #tag inline, or right-click → Add Tagto write one into the note’s frontmatter. Both sources merge into one tag list. Nothing is stored in a hidden database.
Templates
Any note in your templates/ folder is a template, and the folder name is configurable. From the ribbon you can insert one into the current note or create a new note from one, with substitutions for date, time and title. Save This Note as a Templatecopies whatever you’re looking at into the folder.
Daily notes
⇧⌘Dopens today’s note, creating it if it doesn’t exist. Both the folder and the filename date format are configurable.
Finding things
One search, however much you remember.
Search, ⌘O or ⌃F
One box. Titles appear instantly as you type; ranked full-text matches fill in beneath them, your words in bold, an honest match count on every row. Open a result and you land on the match itself, highlighted in the note, with ⌘G stepping to the next. Quoted phrases, -exclusion,OR, tag: and path: filters all pass straight through.
⌘Return (or ⇧⌘F from anywhere) expands into all matches: every occurrence, grouped per note with a line of context each, ranked by relevance. Click a line and the caret lands on that exact occurrence.
Underneath: SQLite FTS5 with BM25 ranking, boosted for titles, updated incrementally, and entirely disposable: delete the index and Skein rebuilds it from your files.
Find in note, ⌘F
The native find bar, in editing and reading modes alike.
Command palette, ⌘P
Every action in the app, one keystroke away.
Spotlight
Your notes are indexed system-wide, so they turn up in macOS Spotlight alongside everything else. Opening a result lands you on that note.
Your files are safe
Skein edits a folder it doesn't own, so it's built to be careful with it.
Version history
Skein snapshots a note on every save, outside your vault. Right-click a note → Version History to browse and restore. Restoring snapshots the current state first, so a restore is itself undoable. How many versions are kept, and for how long, is up to you in Settings.
Conflict-aware saving
If a file changed on disk while you were editing it (a sync client, another editor), Skein never overwrites. Your version is saved alongside as a conflict copy and both stay in the sidebar, so nothing is lost and you decide what to keep.
External changes appear on their own
A file watcher picks up changes made by sync services or other apps. No relaunching, no manual refresh.
Deleting
Right-click → Move to Trash, or ⌘⌫. It goes to the macOS Trash, not into a void, and Skein takes a version snapshot first.
Where Skein's own data lives
The search index and version history sit in Application Support, never inside your vault, which stays nothing but notes. Reveal Data Folder in Settings takes you there.
Export
File → Export, acting on the note you're reading.
PDF, ⇧⌘E
A4 with real pagination: headings are never orphaned from the text beneath them, and images are never sliced across a page break.
HTML
One self-contained file. Styles are inline, images are embedded as data URIs, and it makes no external requests, so it renders the same offline as on. It’s dark-mode aware too.
Markdown
The file verbatim. Never reformatted, never rewritten.
Quick capture
The gap between having a thought and it being in a file is where notes get lost.
From anywhere
⌃⌥⌘Space in any app opens a single line. Type, press ↩, and it lands at the end of today’s daily note, creating that note if it does not exist. esc cancels.
You are not taken anywhere. Whatever you were reading stays on screen, which is the whole point.
Changing what it writes
Settings → General → Quick Capture. The line is a template: - {{time}} {{text}} by default, and {{date}} and {{title}} work too. The system-wide key can be turned off there, in which case capture still works while Skein is in front.
The key itself can be changed there too. It used to be ⌥⌘Space, which is Apple’s own “search from a Finder window” on a stock Mac, so on most Macs it never fired at all. Every one- and two-modifier Space combination already belongs to macOS: Spotlight, the Character Viewer, Finder search, the two input-source keys. So the default moved out to the nearest free seat, and Skein now tells you when a key you pick is one the system already owns.
Importing
Bringing a vault across from somewhere else.
From Notion
Export your Notion workspace as Markdown, unzip it, then File → Import from Notion and choose the folder. Skein strips the long id from every filename, rewrites internal links as wikilinks, turns databases into notes containing tables, and turns page properties into frontmatter so queries can see them.
It imports into a folder named after the export rather than loose at the top of your vault, and it never overwrites a file that is already there: a name that is taken gets a number. External links are left exactly as they were.
From Obsidian
Nothing to import: open the vault folder. Markdown, wikilinks, frontmatter, tags and .canvasfiles are the same on both sides. Anything that depended on a plugin’s own syntax will show as plain text.
Automation
Skein is scriptable from the rest of macOS.
URL scheme
Skein answers to:
- skein://note/<title>
- skein://daily
- skein://search/<query>
- skein://settings
- skein://export/pdf | html | markdown
Export URLs write the open note to Downloads. Opening any skein:// URL reuses the window you already have rather than spawning a second one.
Shortcuts app
Three actions: Open Note, Create Note and Append to Daily Note.
Settings
⌘, or the gear at the bottom of the ribbon. Three tabs.
General
Reopen the last vault on launch. The inbox folder, if you want one: new notes go where you are unless you name a folder here, and it is empty by default. Attachments folder name, and whether that folder shows in the sidebar. Templates folder name. Daily notes folder and date format. Quick capture and its line format. Canvas snapping and the dot grid. Graph zone hints and hub threshold. Version history retention, by count and by age. Reveal data folder. There’s also a support card here, with buttons to donate or leave a review.
Appearance is here too, and it is one section rather than two: light or dark or follow the system, and the theme itself. Default follows your Mac, Paper is warm, True White is the clean light one, True Black is a deliberate OLED dark, or Custom, which opens an editor for a theme of your own, seven colours with their contrast measured as you change them.
Editor
Spell check. Open notes in reading mode. Show markdown syntax while editing, which is also View → Show Markdown Syntax, ⌥⌘E, because a setting that changes how every line looks should be reachable from the editor rather than only from a checkbox. Show the properties card. Autosave delay. The editor a note opens in when you send it elsewhere. And Type: text width (narrow, standard, wide or full), line spacing, Compact, Normal or Comfortable, the editor face, sans or serif, and the typography that face actually has. Old-style figures, tabular figures, high legibility, a single-storey a: only the ones your chosen face really offers, so there is never a switch that does nothing.
About
Version, support and review links, Verso and Nought, privacy and terms.
Shortcuts
Notes
- New note
- ⌘N
- Search
- ⌘O or ⌃F
- Today's daily note
- ⇧⌘D
- Previous / next daily note
- ⌥⌘← / ⌥⌘→
- Go to a date
- ⌥⌘D
- Open vault
- ⇧⌘O
- Move to Trash
- ⌘⌫
Finding and moving
- Command palette
- ⌘P
- All matches, line by line
- ⇧⌘F
- Find in note
- ⌘F
- Next / previous match
- ⌘G / ⇧⌘G
- Back / forward
- ⌘[ / ⌘]
Panels and modes
- Toggle sidebar
- ⌘\
- Toggle inspector
- ⌥⌘I
- Toggle graph
- ⌥⌘G
- Reading mode
- ⌘E
- Focus mode
- ⌃⌘F
- Typewriter mode
- ⌃⌘T
Formatting
- Bold / italic
- ⌘B / ⌘I
- Underline, written as <u>text</u>
- ⌘U
- Link
- ⌘K
- Heading 1, 2, 3
- ⌃⌘1 / ⌃⌘2 / ⌃⌘3
- Bulleted / numbered list
- ⌃⌘U / ⌃⌘O
- Quote / code block
- ⌃⌘' / ⌃⌘C
Canvas
- New canvas
- ⌥⌘N
- New card at the pointer
- N
- Group the selection
- ⌘G
- Zoom to fit / actual size
- ⌘0 / ⌘1
- Pan the board
- Space + drag
Tables
- Next / previous cell
- ⇥ / ⇧⇥
- Next row, or leave the table
- ↩
The [[ and / lists
- Move through the list
- ↑ / ↓
- Choose the highlighted one
- ↩ or ⇥
- Close the list
- ⎋
Other
- Quick capture, from any app
- ⌃⌥⌘Space
- Show or hide the markdown syntax
- ⌥⌘E
- Export as PDF
- ⇧⌘E
- Undo rename
- ⌃⌘Z
- Settings
- ⌘,
The ribbon down the left edge reaches the same places with the mouse, and holds the templates menu and settings.
What Skein leaves out
Some of these are the whole point, so they're worth stating plainly.
No plugins, and no plugin marketplace
The features are simply present. There’s nothing to install, browse or configure first.
No sync service and no account
Files are files. Use iCloud, Dropbox, git or nothing at all. Skein doesn’t mind.
No proprietary format
No database holds your note content. The Markdown files are the whole truth.
No splitting beyond two panes
Two panes and tabs. It’s a place to think, not a tiling window manager.
Questions
Where are my notes?
In the folder you chose, as ordinary .md files. Delete Skein and every note is still there, readable in any editor.
Does Skein need the internet?
No. There’s no account and no sync service, and nothing leaves your Mac. Skein is also free, funded by donations rather than by anything it does with your notes.
Can I use it with my Obsidian vault?
Yes. Point Skein at the same folder. It reads the same wikilinks, tags and frontmatter, and there’s no import step. Skein’s own index and version history are kept outside the vault, so the only things it ever writes into your folder are things you asked for: your notes, attachments you drag in, templates you save, and a conflict copy if something else edited a note behind your back.
What if I delete the index?
Nothing bad. Skein rebuilds it from your files. Your knowledge is in the Markdown, not the index. Note that version history lives in the same place and isn’t reproducible from your vault, so keep that if you want the safety net.
What does it run on?
macOS 14 or later, universal for Apple Silicon and Intel. Signed and notarised, so it opens without warnings.
Something's wrong, or missing
Email hello@teze.app. See also the privacy policy, terms, and how to support Skein.