ObspecObsidian×Figma Specs
Home Contribute Get the plugin
Guide · 6 min read

How to use Obspec

A one-time setup, then your whole Obsidian vault is one search away from the Figma canvas. Here is every step, with the real plugin on screen.

Kamalraaj SenthilkumarMaker of ObspecPlugin v1.1
Figma desktop

Plugins with a local helper need the desktop app. Obspec is Figma-only for now (FigJam has no frames).

An Obsidian vault

Any folder of .md files works. Obspec lists the vaults Obsidian already knows about. Download Obsidian

Node 18 or newer

Needed once, for the setup command. nodejs.org, the LTS build is fine.

STEP 01

Install the plugin

Open Obspec on Figma Community and press Open in Figma. From then on it lives under Plugins in any file, or press ⌘ / and type Obspec.

Open it once. The first screen is the onboarding below: two steps, and you only ever do them once on each computer.

Obspec on Figma Community

The Obspec listing cover: the wordmark, Search your Obsidian vault inside Figma, and a Payment Methods spec card
Obspec on Figma Community
STEP 02

One time setup The bridge

Figma plugins can't read your disk, so a tiny helper on your computer does it: the Obspec Bridge. It indexes your vault and answers the plugin on localhost:27123. Nothing leaves your machine.

Open Terminal, paste this, press return:

npx github:Kamal007OLica/obspec

It installs the bridge as a background service that starts when you log in and starts it right away. When it prints Done, close the window. You never run this again. The plugin notices on its own and ticks step 1.

  • Have the Obspec folder? Double-click Obspec Bridge.command instead. Same result.
  • Upgrading later? Run the same command again. It replaces the service and restarts it.
  • Want it gone? Add uninstall to the end of the command.
WHERE IT LIVESmacOS: a launchd agent in ~/Library/LaunchAgents. Linux: a systemd user unit. Windows: a script in your Startup folder. The bundle sits in ~/.obspec/bridge, the log in ~/.obspec/bridge.log.
The Obspec plugin's first-run screen: Connect your vault, step 1 Set up the bridge (once) with the setup command and a Copy button, Waiting for the bridge, step 2 Pick your vault
First run · paste the command once
STEP 03

Pick your vault

The bridge reads Obsidian's own vault list, so step 2 shows your vaults by name. The one Obsidian has open right now is marked. Click it.

  • Browse for a folder… opens the normal system dialog if the vault isn't listed.
  • Or paste a folder path into the field and press Use.

The choice is remembered in ~/.obspec/config.json. Change it any time under ⚙ Settings → Vault. A 6,000-note vault indexes in well under a second, and the bridge watches the folder from then on.

Step 1 is ticked: Connected, Obspec Bridge v1.1.0. Step 2 lists the vaults Obsidian knows about with a Browse for a folder button and a path field
Bridge connected · your vaults, by name
STEP 05

Open a note

Tap a result and the note renders right there: headings, lists, checkboxes, code, embedded images. Wikilinks are clickable, and the backlinks sit underneath, so you can walk your vault without leaving Figma.

The action bar at the bottom is the whole plugin in four buttons:

  • Insert spec card puts the note on the canvas as a frame. Step 6.
  • Link selection attaches the note to the layer you have selected. Step 7.
  • ↓ saves the note as an .md ready for Figma Specs. Step 10.
  • ↗ opens it in Obsidian.
A note opened inside the plugin: breadcrumb, title Payment Methods, tags, rendered markdown with rules and copy, and the action bar with Insert spec card and Link selection
Note view · rendered, linked, ready
STEP 06

Drop a note on the canvas

Press Insert spec card, or simply drag a search result out of the plugin and let go over the canvas. The note lands where you dropped it as a clean auto-layout frame: eyebrow with the vault path, title, tags, body, and an Open in Obsidian footer.

It is a real Figma frame. Move it next to the screens it describes, resize it, comment on it. The small chip in its corner is the sync status, and it updates live.

Every card you insert shows up in the Linked tab. Click a row to select the frame on the canvas.

ONE RULEEdit the note in Obsidian, not the card. Pulling rebuilds the card from the note, so the note stays the source of truth.
The Figma canvas with three checkout frames and a spec card titled Payment Methods below them, with an In sync chip, tags and the note's rules and copy
A note as a spec card on the canvas
The Linked tab listing Spec · Payment Methods with its path and an In sync chip
Linked tab · every card and layer in one list
STEP 08

Edit in Obsidian Pull in Figma

Change the note in Obsidian and save. The bridge watches the file, so within a second the status flips to Note changed, in the Selection tab, in the Linked tab, and on the chip of the card itself.

Press Pull from Obsidian. A spec card is rebuilt from the new text; a linked layer just marks the note as read. Status goes back to In sync.

Nothing is pulled behind your back. You see the change, you decide when it lands.

Selection tab: Status Note changed in orange, with a purple Pull from Obsidian button
Obsidian changed the note · Pull is lit
The spec card on the canvas with its corner chip reading Note changed
Status sits right on the frame
STEP 09

Change the design Send it back

The other direction. Select a component or frame and press Send to Obsidian. Obspec writes a ## Design section into the linked note: node name, size, fill, label, and a deep link straight to the layer in Figma.

No note yet? It creates one, with frontmatter and the same Design section, and links the layer to it.

Later, rename the button, change its fill, resize it. Select it and the status reads Design changed. Send again and the Design section is replaced; the rest of the note is untouched.

WHAT GETS WRITTENOnly headings, lists, quotes, code and dividers. That is the block set Figma Specs understands, so the same note reads cleanly in Obsidian and as a Spec.
Selection tab showing the component Button / Primary with Link to a note… and Send to Obsidian
A component, about to be sent
Selection tab with Status Design changed and a highlighted Send to Obsidian button
Design changed · send again
The note Obspec created in the vault: frontmatter with tags and figma fields, then a Design section listing node, size, fill and label
The note, as Obsidian sees it
STEP 10

Make it a native Figma Spec

Figma Specs are markdown underneath, and Figma turns any .md file dropped on the canvas into a native Spec. There is no plugin API for that yet, so Obspec meets Specs halfway.

  • Open a note and press the ↓ icon in the action bar. You get Title.md with the note's body, a source line (path, tags, an obsidian:// link) and no dangling wikilinks or embeds.
  • Drop that file on the canvas. Figma builds the Spec.

Use a spec card when you want the note to live inside the design and stay linked. Use a native Spec when you want Figma's own Spec UI. Both read from the same plain .md file in your vault.

Get started with Figma Specs ↗

The note view again; the download icon in the action bar saves the note as Spec-ready markdown
The ↓ icon · Save as .md for Figma Specs
STEP 11

Settings and the theme

The ⚙ in the header opens Settings. The connection card tells you the vault, how many notes are indexed, the bridge version, and that it is running as the background service.

  • Vault switch to another vault, browse, or paste a path.
  • Bridge the address stays http://localhost:27123; that is the only one Figma lets the plugin talk to. An optional token adds auth on top.
  • Theme the plugin follows Figma's light or dark theme. The ☾ button in the header overrides it.
  • Support one button drafts a bug report with your plugin and bridge versions. Never your notes.
The Settings tab: connection card Connected, vault chooser, bridge address and token fields, theme and support
Settings · connection, vault, theme, support
STEP 12

If something is off

  • “Bridge offline” after a restart. Open Terminal and run npx github:Kamal007OLica/obspec status. It tells you whether the service is installed and answering. Run the setup command again to repair it.
  • “Waiting for the bridge…” forever. The setup needs Node.js 18 or newer. Install it from nodejs.org and paste the command again.
  • No vaults listed. Obsidian hasn't opened one on this computer yet. Browse for the folder or paste its path.
  • Want to watch it run? npx github:Kamal007OLica/obspec run starts the bridge in a Terminal window instead; the background service steps aside while it runs.
  • Privacy. The bridge binds to 127.0.0.1 only and talks to nothing but your vault folder. The plugin bundle loads no fonts, no scripts, no analytics.

Still stuck? Mail kr07.work@gmail.com with your Figma version, OS and the last lines of ~/.obspec/bridge.log, or open an issue on GitHub.

The onboarding screen while the bridge is offline: Waiting for the bridge… with a retry now link
Offline · the plugin waits and retries

That is the whole plugin

Search the vault inside Figma. Drop notes on the canvas. Keep both sides in sync, locally. Every note stays a plain .md file, the same format Figma Specs now reads.

Kamalraaj Senthilkumar
Kamalraaj SenthilkumarDesigner who builds. Obspec, Uki AI, ZenMode OS.
© 2026 Kamalraaj SenthilkumarObspec homeSource on GitHubGet started with Figma SpecsOpen source, MITNot affiliated with Figma or ObsidianType: OffBit by Power Type