THE COMPLETE SKALD GUIDE

Your notes are files.
Your vault is a system.

Skald is a local-first Markdown knowledge base for writing, planning and connecting work. This guide explains the whole app visually, from opening a vault to semantic documents, note themes, tasks, graph navigation and encrypted sync.

plain Markdownlocal-firstlive editingsemantic documentsCSS note themesencrypted sync
01 · THE FOUNDATION

A folder you own is the database.

A Skald vault is an ordinary folder. Notes remain .md files, attachments stay portable, themes live beside your writing, and disposable application state goes in .skald/.

My Vault/
├── Projects/
│   └── Skald.md
├── People/
├── Sources/
├── themes/
│   └── field-journal.css
├── images/
└── .skald/     ← app state

The portability rule

Delete .skald/ and your writing is still there. Skald can enrich Markdown, but the canonical content remains understandable and recoverable without Skald.

The app owns the index. You own the document.
02 · WRITING

Rendered Markdown that stays editable.

Live mode renders ordinary blocks while you work. Click a block to edit it inline. Source mode exposes the complete Markdown when punctuation actually matters.

Skald editor
LIVE EDITOR · note content, outline, backlinks and threads remain in context

Live mode

Headings, lists, tasks, links, images, callouts and richer structures render in place while individual blocks remain editable.

Source mode · ⌘E

Nothing is hidden forever. Toggle to the actual Markdown file and edit the source directly.

03 · STRUCTURE

Notes can know what kind of thing they describe.

Use typed notes for Projects, People, Daily notes, Ideas, Sources, Code and Places. A type can come from frontmatter or be inferred from its folder.

---
type: Project
style: field-journal
---

# Skald

A project note is still Markdown. The metadata gives Skald context.

Type

Controls semantic identity and can provide schema defaults.

Template

Each schema can have a body template using {{title}} and {{date}}.

Theme

Schema-level note styling can apply when a note does not choose its own style.

05 · THREADS

A checkbox can become work everywhere.

Tasks are written directly in Markdown and collected globally into Table, Kanban and Calendar views. Editing either side rewrites the same source task.

- [ ] Prepare Skald release @due(2026-08-20) @p(high) @status(working) #release
Skald task kanban
THREADS · KANBAN · drag status without creating a second task database
Task table
TABLE VIEW
Task calendar
CALENDAR VIEW
07 · THE CONSTELLATION

A map that stays where you left it.

The graph is deliberately stable. Notes are stars, folders gather into named regions, positions persist, and you can drag the map into a spatial arrangement that becomes familiar.

Skald constellation
CONSTELLATION · persistent positions, folder clusters, zoom and pan
08 · SEMANTIC DOCUMENTS

Rich composition without abandoning Markdown.

Semantic containers group real Markdown blocks by meaning. In v1: aside, gallery and group. The theme decides their visual composition.

:::aside
## Historical context

This matters because...

- First point
- Second point
:::

Historical context

This matters because...

• First point
• Second point

Use ⌘I to insert a container, or select existing blocks and wrap them. Children remain normal editable Markdown blocks. V1 deliberately does not nest containers.

Open the visual semantic-documents deep dive →
09 · NOTE THEMES

Same Markdown. Completely different document.

Note themes are user-authored CSS stored in Vault/themes/. They can apply to one note, a schema, or the whole vault. Themes style a stable public .sk-* contract and --note-* tokens instead of relying on Skald's private DOM.

/* themes/field-journal.css */
.sk-note {
  --skald-theme: 1;
  --note-font-body: Georgia, serif;
  --note-measure: 68ch;
  --note-accent: #61745d;
}

.sk-container--aside {
  border: 1px solid currentColor;
  transform: rotate(-.2deg);
}

Observations from the ridge

The note content did not change. Only its presentation did.

Field note
The semantic aside can become an annotation because the theme understands what it means.
note style:schema defaultvault defaultbuilt-in surface
Important current limitation: themes load and apply, but the dedicated theme picker/editor and surfaced compiler errors are not built yet. For now, theme files and mappings are configured directly.

Open the visual note-themes guide → Technical reference →

10 · MEDIA & DIAGRAMS

Files remain files. Diagrams remain text.

Attachments

Pick, drop or paste files. Skald copies them into the vault with collision-safe names and portable relative Markdown links. Images render inline.

Mermaid

Standard mermaid fences render locally with Skald-aware colors, zoom/pan, syntax feedback and SVG/PNG export. Outside Skald, the source remains an ordinary code fence.

11 · GITHUB

Put repository context inside project notes.

Bind a note using github: owner/repo, then insert a GitHub component for repository, issue, pull request, release and workflow context. Public repositories need no account; private access uses optional GitHub login.

---
type: Project
github: vardirhq/skald
---

> [!github]
12 · SAFETY

Autosave without pretending mistakes never happen.

Skald snapshots notes before edits, external changes, renames, deletions and restores. Earlier versions can be previewed and restored, and deleted notes can be recovered from Recently deleted.

Local history

History belongs to local app state, leaving the Markdown itself clean.

Explorer state

Move and rename notes or folders while qualified wikilinks, histories, graph positions, pinned notes and open tabs follow them.

13 · SYNC

The relay doesn't get to read your notes.

Skald syncs through GESH. Notes and attachments are encrypted with AES-256-GCM before leaving the device. The content key never reaches the relay and pairing transfers it through the QR fragment.

Markdown + filesencrypt locallyGESH relaydecrypt on device

Open the visual encrypted-sync guide → Technical reference →

14 · EXTENSIONS

Richer features without teaching the Markdown parser every trick forever.

Built-in extensions can register versioned Markdown components, fenced-code renderers, note properties, editor actions, settings panes, capabilities and protected main-process providers. Unknown components retain readable fallbacks.

Current examples

GitHub cards and Mermaid demonstrate two different extension surfaces.

Design rule

Extensions should enrich portable source, not make the note unreadable when an extension disappears.

15 · KEYBOARD

The shortcuts worth learning.

KeyAction
⌘K / ⌘PSkald's Hall / command palette
⌘IInsert Markdown, semantic structure or extension component
⌘DToday's Logbook
⌘NNew note
⌘EToggle live / source view
⌘BToggle right panel
⌘GConstellation
⌘SSave now; autosave remains on
+ / − / 0Graph zoom in / out / fit
THE IDEA

Skald should add capability, not captivity.

Typed notes, tasks, backlinks, themes, semantic containers, diagrams and integrations all build on the same principle: the application can understand more than Markdown alone without replacing your files with an opaque application database.

Markdown is the source. The document tree is the model. CSS is the presentation. HTML is the renderer.