Verso·Nought·Skein·Lede

Skein v1.1.43

Everything in the box

Skein has no plugin system. Every feature below is in the app when you download it, works offline, and writes plain Markdown to a folder you chose. Where a comparable Obsidian plugin exists it is named, with its install count, because that number is the honest measure of whether the feature was worth building.

A book chapter open in Skein with four tabs along the top, the active one marked by a single accent line: the vault's folders on the left, the note's properties as a table above the text, and the inspector on the right listing the nine notes that link to this one
A chapter open in Skein: the vault on the left, its properties as a table above the text, and the nine notes that link to it on the right. Nothing here is a mock-up.

51 features, press / to filter

Writing

Plain Markdown files in a folder you chose. Nothing is stored anywhere else, and nothing is stored in a format only Skein can read.

A chapter and one of its themes open side by side in Skein, five tabs of equal width along the top, each pane with its own properties table
A chapter and one of its themes side by side, five tabs of one width along the top, each pane with its own properties.

Markdown editor

Syntax hidden as you type, so a heading looks like a heading without the hash disappearing from the file.

Or show the marks

View > Show Markdown Syntax, Option-Command-E. The editor still renders, and leaves the asterisks and hashes where you typed them, for anyone who would rather see what is in the file. It used to be a checkbox in Settings with no menu item and no shortcut, which made a mode look like a broken renderer.

One Markdown engine

The editor, reading mode and the export are the same parse, and there is a test that proves it. Everywhere else in this category they are separate systems, which is why a note can look one way while you write it and another way when you read it back.

647 of CommonMark's 650 conformance examples, 666 of GitHub Flavored Markdown's 672. The full table, and every failure explained, is at /blog/the-markdown-score.

Slash commands

Type / at the start of a line for headings, lists, tasks, quotes, code blocks, tables, callouts, dates, query blocks, footnotes and definition lists. It finds things by what you call them, so filter or dataview finds a query block, and it shows the Markdown each one writes so you stop needing the menu.

Reading mode

The same note rendered: headings, tables, callouts, images and clickable links. One key to switch.

The typeface, and what it can do

Five faces: the system sans, a proper serif, iA Writer Mono for a monospaced sans, Courier Prime for a monospaced serif, and Duo, the duospace face made for drafts. In the two monospaced faces the headings, bold and italic are set in the same face rather than in a system sans. Reading mode follows the face you write in, so pressing the key for Read never moves the text; switch on a reading face of its own in Settings if you want one. Settings shows what the face you chose is actually capable of: old-style figures, tabular figures, high legibility, a single-storey a. Only the ones the face you chose really has, so there is never a switch that does nothing. The air between the lines is Compact, Normal or Comfortable: named steps rather than a slider, because a slider produces a number nobody can name. No font field, and no CSS snippet to keep somewhere.

The same chapter heading and opening lines set in each of Skein's five faces, one under the other: Sans, Serif, Mono sans, Mono serif and Duo
The same chapter in each of the five faces. Each row is a crop of the real editor.

Themes, and a theme you make

Settings, Appearance - light and dark and the theme in one place, with each theme drawn as a small swatch and its six colours underneath so you choose by looking rather than by name. Default follows your Mac, Paper is warm, True White is the clean light one for people who do not want warm, and True Black is a deliberate OLED dark. Or make your own: seven named things - window, page, text, quiet text, dividers and two accents - beside a live preview, with the contrast measured and shown as you change them, so you find out a theme is unreadable before you live in it. The second accent follows the first unless you unlink it. No theme marketplace and no stylesheet to drop in; you change the colours Skein has.

Tasks

A checkbox you can click, in the editor and in reading mode. Ticking one rewrites a single character in the file, so a vault kept in git shows a one-character diff rather than a reformatted line.

Diagrams

A ```mermaid block is drawn in reading mode, in the PDF and HTML exports and in the Quick Look preview: flowcharts, sequence diagrams, state diagrams and pie charts, in your theme's colours. A kind Skein does not draw shows its source with a note rather than a wrong picture.

Drawn by Skein itself. No web view, no script.

Code blocks with highlighting

Fourteen languages, in the editor, the reader and the export alike. A language Skein does not know gets plain monospace rather than a guess, because a half-supported language that mis-colours is worse than none.

List editing that behaves

Return continues a list and numbers count up. Insert an item in the middle and the ones below renumber. Tab and Shift-Tab nest and un-nest at the right depth for the parent's marker. A list you deliberately wrote as 1. 1. 1. is left exactly as typed.

Obsidian does not auto-renumber in the editor; the request has been open for years and is filled by a third-party plugin.

Footnotes and definition lists

Both in core, in all three surfaces. Definition lists use PHP Markdown Extra's syntax, so a file written in Pandoc or Zettlr reads the same here.

Obsidian has had the definition-list request open since 2020. Only Zettlr has them.

Format menu and shortcuts

Every block format in the menu bar with a keyboard shortcut, plus an optional formatting bar along the bottom of the editor. A feature you cannot find is a feature you do not have.

Focus and typewriter modes

Focus dims everything but the sentence you are writing and eases across as you move on; a heading or list item stays lit as a whole line. Typewriter keeps the line you are writing in the middle of the window and glides the page under it instead of jumping. Either, both, or neither.

Formatting bar

Appears when you select text and nowhere else: bold, italic, strikethrough, highlight, code, link, link to a note. The editor is bare again the moment you deselect.

A caret of your own

A line, the old terminal block or an underline, thin, regular or bold, in the theme's accent, the theme's ink, one of four tones drawn from the theme's own palette, or any colour you pick, with a live preview. The selection takes the same choices and follows the theme when you switch it. View > Caret, or Settings > Appearance.

Skein's Settings on the Appearance tab, scrolled to Caret and Selection: caret shape and thickness, a row of six colour swatches and a custom colour well, a line of text with the caret in the chosen colour, and below it a phrase selected in the selection colour
Settings, Appearance: the caret's shape, thickness and colour, and the selection's colour, each with a live line of text.

Pictures

Drag one in, or paste one from the clipboard. It is copied into your vault, never linked to somewhere else on your disk. Sized to fit the column and never blown up past its own resolution.

Table editor

Tab to the next cell, Shift-Tab back, Return for a new row. Columns line themselves up as you type, and the file stays an ordinary pipe table.

Obsidian: Advanced Tables, 3.1M downloads.

Callouts

All thirteen types, with folding. Note, tip, warning, danger, question and the rest.

Obsidian: Admonition, 940k downloads, later absorbed into core.

Templates

Ordinary notes in a templates folder, with dates, the note's own title, a cursor position, and questions the template asks when you use it.

Obsidian: Templater, 4.7M downloads.

Tabs

Every tab is the same width, so the row does not jitter as titles change, and the active tab is a card with one accent line that slides to the next. A single click opens a preview tab in italics that the next click replaces. The close button is a proper target with the title fading beneath it, a plus at the end of the row makes a note, and when the row is full it scrolls and a list shows every open tab. With Reduce Motion on, the movement becomes a crossfade.

Where a new note lands

Where you are: the + button names the folder in its tooltip before you press it. Set an inbox if you would rather everything arrived in one place, and move a note from the keyboard instead of dragging it. The inbox is empty until you set it, because reversing the rule for everybody to suit one person is not a default.

Quick capture

Control-Option-Command-Space from any app. Type a line, press Return, it lands at the end of today's note. You are not taken anywhere. Remap it if you like: every one- and two-modifier Space combination belongs to Apple, and Skein says so when you pick one rather than letting you wonder why nothing happens.

Obsidian: QuickAdd, 1.9M downloads.

Connecting

The point of a knowledge manager is what sits between the notes, not the notes themselves.

A Skein canvas: six chapter notes inside a labelled group, joined by labelled arrows to two pills, a diamond and an ellipse, with two text cards and a web link beside them. A second group below holds a PDF showing its first page, a time zone chart, a spreadsheet and two source notes. The board is one tab among five along the top
A canvas holding the argument in one group and the sources in another: notes from the vault, a PDF showing its first page, a chart, a spreadsheet, text cards, a web link and four shapes, joined by labelled arrows. Saved as JSON Canvas.

Canvas

An infinite board. Cards, notes from your vault, pictures, PDFs, spreadsheets and other files, links and groups, joined by labelled arrows. A PDF from your vault shows its first page, any other file says what it is and where it lives, and double-clicking either opens it in the app that handles it. Saved as JSON Canvas, the same open format Obsidian writes. A link card opens in your browser, several files dropped at once each become a card, cards copy and paste between boards, and a file card drags out to the Finder. The board follows your theme, and what is written on it is found by search and counts for links.

The same file opens in either app.

Shapes

A card can be a rectangle, a pill, an ellipse, a diamond or a cylinder, picked from the card's own toolbar. Named for what they are rather than what they should mean, so a diamond can be a decision or a question or whatever you always draw as a diamond. Arrows meet the outline rather than floating beside it, and a card you reshape grows around its centre instead of clipping what you wrote.

Stored in the key Obsidian's canvas plugins already use: right there with the plugin, a plain rectangle without it, and a board you never reshape is byte-for-byte untouched.

Read a note beside the board

Clicking a card opens its note in the second pane with the canvas still in the first, so the arrangement you made to think with does not vanish the moment you use it.

Wikilinks and backlinks

Type [[ and complete. Every note knows what points at it, and renaming a note fixes every link to it.

Block references

Right-click a block and copy a link to it, or write ^the-cost at the end of a line yourself. Link to that exact line from anywhere with [[Note#^the-cost]], or pull the line itself into another note with an exclamation mark. The name comes from the words in the block rather than from a random number, so it still means something a year later; it has to be unique, and Skein tells you where the clash is.

Obsidian generates six random characters. Here the name is yours.

PDFs in a note

Write ![[paper.pdf]] and read it where you are. Select text to highlight it, jump to a page with #page=3, and your marks live in a small readable file beside the PDF - the PDF itself is never rewritten. Export a copy with the marks burned in when you need to send one.

Files outside the vault

An ordinary Markdown link to a file elsewhere on your Mac works: Skein asks once for the folder and remembers. Folders reached through an alias or a symlink appear in the sidebar too, so a vault does not have to be one self-contained folder.

Local graph

The neighbourhood around the note you are reading, not a hairball of the whole vault. Parents, siblings and children inferred from folders, links and headings.

Tags

Inline or in frontmatter, renameable across the whole vault in one action.

Obsidian: Tag Wrangler, 990k downloads.

Finding

A vault you cannot search is a folder.

Skein's search open over a note: four notes matched by title, then text matches ranked with a match count for each note, and All matches line by line, Copy as links and Open in tabs along the bottom
One search, over titles and text at once. The count beside each result is how many times that note contains the phrase.

Live queries

A fenced block that asks a question of your vault and renders the answer as a list, table, board or calendar. Filter by folder, tag, property or date; sort and limit. Put a summary line under a table for a sum, an average, a count or a high and low - and edit a property straight in the table, without opening the note.

Obsidian: Dataview, Tasks, Kanban and Calendar - 13.9M downloads between them.

One search

Command-O (or Control-F): titles appear as you type, ranked full-text matches beneath them with your words in bold, and opening a result lands on the match itself, highlighted. Quoted phrases, -exclusion, OR, tag: and path: filters all work in the same box, and a filter you type becomes a chip you can remove with a click. The Tag and Folder buttons add one without typing.

All matches, line by line

Command-Return expands any search into every occurrence, grouped per note with a line of context each, ranked by relevance rather than the alphabet. Click a line and the caret lands on that exact occurrence. The same footer copies the results as links or opens them all in tabs.

Find in note

Command-F, the native find bar, in editing and reading modes alike.

Command palette

Command-P for everything else.

Properties

YAML frontmatter as a form: checkboxes toggle, a date and a timestamp each get a picker, and typing a key offers the values the rest of your vault already uses, so a status stays one word instead of becoming three spellings of it. Every query you write reads them back. The rest of the block is left exactly as you wrote it, comments and all, and a nested mapping is shown read-only rather than as a field that would flatten it - the raw YAML is one button away when you want it.

Obsidian rewrites the whole block through a JavaScript object on every property edit, which is documented and deliberate: comments go, quotes go, 123.0 becomes 123. It does that so plugins can read frontmatter easily. Skein has no plugins, so it pays none of it.

Daily notes

One note per day, and the journal is a sequence you can walk: Command-Option-Left and Right step through the days you actually wrote something, and Command-Option-D jumps to a date.

Spotlight

Your notes are indexed by macOS, so they turn up in system search too.

Shortcuts

Search the vault, create a note, open one, append to today's - all four in the Shortcuts gallery, with nothing to install. A search hands back the notes themselves rather than a list of names, so a shortcut can take the first result and read it, open it or pass it on.

Obsidian reaches Shortcuts through a community plugin and URL schemes.

Getting around by keyboard

Command-Return opens the link under the cursor. Option-Command-Up and Down walk the notes this one links to and the notes that link to it. Back and forward belong to each pane rather than to the window, so going back in a split moves the side you are reading.

Keeping

Your notes should outlive the app that made them, including this one.

Version history

Every save snapshotted, with a diff and one-click restore, holding exactly what was on disk rather than a tidied copy of it. Stored outside your vault so it never clutters the folder.

Renamed somewhere else

Rename or move a note in the Finder, or let a sync client do it, and Skein follows the file rather than seeing one note vanish and a stranger arrive. Its history, its canvas cards, its tab and your place in it all come with it. It offers to update the links instead of rewriting twenty notes you never opened.

Export

A single self-contained HTML file, a PDF, or the Markdown itself, diagrams included. No Skein-specific syntax survives an export, because there is none.

Copy as Rich Text, Paste as Markdown

Option-Command-C copies the selection, or the whole note, rendered, so it pastes into Mail or a Google Doc formatted. Option-Command-V turns a paragraph copied from a web page into Markdown, with its headings, links and lists kept. Ordinary Paste stays plain.

Import from Notion

Point it at an unzipped export. Ids stripped from filenames, internal links rewritten as wikilinks, databases turned into tables, page properties turned into frontmatter.

Obsidian: Importer, 1.45M downloads.

Import from Ulysses, Bear, Craft and iA Writer

File > Import Markdown Folder. It converts each app's own syntax - inline footnotes, annotations, highlights - and leaves ordinary Markdown alone, including anything inside a code block. It never deletes and never overwrites, and it tells you what it changed.

Quick Look

Press space on a note in the Finder and read it rendered, diagrams included, not as raw text. The preview is handed the file and nothing around it, so a picture stored beside a note shows as its description rather than the picture - that is the sandbox, not a fault.

Open it somewhere else

Pick the editor a note opens in from the sidebar or with a shortcut. Wanting Skein to own .md in the Finder and wanting a code editor for the occasional raw edit are not in conflict, so choosing an app here does not cost you the other.

Your files, always

Ordinary .md files. Open them in TextEdit, edit them in another app while Skein is running, keep them in git. Skein notices and reloads.

All of it, in one download.

16.7 MB· macOS 14+ · No account, no subscription

Get Skein on the App Store

Or download the .dmg directly (21.1 MB, for Macs without the App Store)

The help page explains how to use all of it, and this post argues for why it is built this way.

Comparisons with Obsidian, Bear, Craft and Logseq, each naming what the other one does better.