← ClaudeAtlas

obsidian-linear-synclisted

Mirror a Linear project one-way (Linear → Markdown, never back) into an Obsidian vault: one Markdown file per ticket under `01 Projects/Linear/<Project>/`, plus an index note with a linked ticket table, ticket references rewritten as wikilinks, comments below a divider, and a protected notes section that syncing never touches. Re-running updates the files in place (idempotent upsert) — a run with no Linear changes writes nothing at all. Trigger on "sync Linear", "mirror Linear project", "Linear to Obsidian", "back up Linear", "import Linear tickets", "update the Linear notes", "Linear synchronisieren", "Linear-Projekt spiegeln", or a pasted linear.app project URL. This is NOT obsidian-vault-add (adds books/films/people from the web), NOT obsidian-connect-notes (tags and cross-links existing notes), NOT obsidian-process-pages (sorts a legacy `pages/` folder), NOT obsidian-search-vault (read-only search). Writes only inside `01 Projects/Linear/<Project>/` and never writes back to Linear.
kogakure/skills · ★ 8 · Data & Documents · score 67
Install: claude install-skill kogakure/skills
# obsidian-linear-sync Mirror a Linear project into an Obsidian vault as Markdown. **One-way: Linear → Markdown.** Nothing is ever written back — no mutating Linear tool, under any circumstances. Division of labour you must respect: - **You** resolve the project and fetch the data (or let the script fetch it, see below). - **The script** (`scripts/linear_sync.py`, relative to this skill directory) makes every reproducible decision and writes every byte. You do not render Markdown yourself, do not compute filenames, and do not edit a note with `Edit`/`Write`. That is exactly why `Edit` and `Write` are absent from `allowed-tools`. Result per project: ``` 01 Projects/Linear/Website Redesign/ Website Redesign.md ← index note ENG-42 Rework the checkout flow.md ← one file per ticket ENG-51 Ship the new nav.md ``` ## Argument parsing Arguments: `<linear-project-url | project name | project UUID> [flags]` - **Positional** (required): the project URL, name, or UUID. From `https://linear.app/acme/project/website-redesign-a1b2c3d4e5f6/` the slug `website-redesign-a1b2c3d4e5f6` is enough. If it is missing, list the user's projects (`list_projects`) and ask which one. - `--dry-run`: full run, but no writes, no folder creation, no watermark advance. **Recommend this for a first run on any project.** - `--force`: ignore all watermarks and refetch every ticket. Implies `--census`. - `--census`: force the reconciliation pass (which tick