write-bundlelisted
Install: claude install-skill tboome33/obsidian-mcp-router
# write-bundle
Call the obsidian-router `write_bundle` MCP tool. It runs a list of writes as one journaled operation: every target's content is captured **before** the first write, and if any step fails, every file the bundle touched is put back byte-for-byte.
## When to use
Whenever one user-visible action produces **several** files whose half-written state would be wrong:
- `save` — the note + the journal line + `hot.md`
- `wiki-ingest` — the source page + entity pages + the journal
- `wiki-fold` — the fold page + the log rewrite
- any multi-key frontmatter update that must not land halfway (this is what makes `merge_frontmatter` all-or-nothing — see below)
For a single file, use the ordinary `write-append` / `write-create-or-replace` / `write-patch`. A bundle around one write buys nothing but a journal round-trip.
## Arguments
**Required**: `steps` — an ordered array, at most 25. Each entry is `{ op, path, ...that op's own arguments }`.
| `op` | runs | needs |
|---|---|---|
| `write` | `write_file` | `content` |
| `append` | `append_to_file` | `content` |
| `patch` | `patch_file` | `operation`, `targetType`, `target`, `content` |
| `set_frontmatter` | `set_frontmatter` | `key`, `value` |
| `merge_frontmatter` | `merge_frontmatter` | `values` |
| `delete` | `delete_file` | `confirm: true` |
**Optional**: `vault` (omit for default — a bundle is single-vault, steps may not override it) · `preview: true` (sealed plan, writes nothing) · `approvedPlanSha256` (the seal f