Capture to vault
Skill ethanaubuchon/dossier-tradecraft/skills/capture-to-vault
Use during /research, /scope (or any recipe) to write or update a vault note via dossier-mcp. Agent drafts slug + frontmatter + body + citations, writes the note, and surfaces what was captured so the user can redirect afterward. Supports create (new note) and update (refine existing note) modes.From its SKILL.md
npx -y skills add ethanaubuchon/dossier-tradecraft --skill capture-to-vaultAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- skips confirmationTells the agent to proceed without asking first, 2 times: "Do not wait for approval before writing." and 1 more.
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 3 commands, including `mcp__dossier-mcp__create_note` and 2 more.
SKILL.md
5.2 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
Capture to Vault
Draft a note and write it. Surface the slug and any non-obvious placement decisions afterward so the user can redirect or revise. Do not wait for approval before writing. One note per call.
Modes
- create (default) — write a new vault note via
mcp__dossier-mcp__create_note. - update — refine an existing note in place via
mcp__dossier-mcp__update_note. Preserves required frontmatter and auto-bumps theupdated:field.
Input
mode(optional) —create(default) orupdate.body— the finding, decision, or synthesis. Markdown. Lead with the conclusion or key takeaway. In update mode, this represents the intended new state of the body (or a description sufficient to derive it from the loaded current state).slug(required for update mode) — the existing note's slug.related(optional) — vault slugs the note references. If absent, infer from body content and recent session context.citations(optional) — list of{title, url, accessed}entries from web-researcher findings. Include whenever the body draws on web sources.parent_slug(optional, create mode only) — path prefix hint, e.g.projects/relocation. If absent, infer from content and vault structure. Ignored in update mode.
Process — create mode
-
Draft the destination slug.
- If
parent_slugis supplied:<parent_slug>/<topic-slug>. - Else: infer from body content and related notes. Place as a sibling to the most relevant related note. Avoid
inbox/unless nothing better fits.
- If
-
Draft the frontmatter:
title— readable title derived from the body's main claimdate— today's date (YYYY-MM-DD)tags— 2–4 tags inferred from bodyrelated— the inputrelated(or inferred list)
-
Draft the body. Ensure:
- Lead with the conclusion or key takeaway
- Density over readability — pack in conclusions and reasoning, not just facts
- Self-contained — key context inline, not only via links
- If
citationspresent: include a## Sourcessection at the end listing each citation (title — URL — accessed date)
-
Write the note. Call
mcp__dossier-mcp__create_notewith the draft. -
Backlink. For each slug in
related, callmcp__dossier-mcp__update_noteto add the new note's slug to that note'srelatedfield. Skip if already present. -
Surface what was written. Briefly state the created slug and any non-obvious placement decisions (tag choices, parent folder selection). The user can redirect, revise, or ask for edits after the write. If the user redirects, update/move the note rather than abandoning the write.
-
Return: the created slug.
Process — update mode
-
Read the existing note. Call
mcp__dossier-mcp__get_notewith the suppliedslugto load its current frontmatter and body. -
Generate the updated content.
- Preserve all required frontmatter fields from the existing note (
title,date,tags,related, plus any recipe-specific fields likestatusfor scope docs). Do not drop or rename them. - Auto-bump the
updated:field to today's date (YYYY-MM-DD). Add the field if it doesn't exist. - If new tags emerge from the new content, merge them into existing
tags(no duplicates). Do not replace. - Merge any new entries in
relatedwith existing ones (no duplicates). Do not replace. - Compose the new full body — integrate the input
bodyinto the doc as the caller intends. The caller is responsible for handing you a body that represents the desired new state. - If
citationspresent: integrate into the existing## Sourcessection if there is one, or add one. Use the same(title — URL — accessed date)format as create mode.
- Preserve all required frontmatter fields from the existing note (
-
Write the note. Call
mcp__dossier-mcp__update_notewith the updated content. Passslug,content, and all preserved frontmatter fields (title,date,updated,tags,related, plus any recipe-specific fields likestatus) per the tool's required parameters. -
Backlink any new related slugs. For each slug newly added to
related(not previously present), callmcp__dossier-mcp__update_noteon that target note to add this note's slug to itsrelatedfield. Skip already-linked targets. -
Surface what changed. Briefly state the slug and a section-level summary of changes — e.g., "added 2 new unknowns, integrated 3 answers into the Context section, added a Risks section." Avoid byte counts; describe the meaningful changes. The user can redirect or revise post-hoc.
-
Return: the slug.
Style guidance
- Density over readability — pack in conclusions and reasoning, not just facts.
- Self-contained — key context inline, not only via links.
- Lead with the conclusion if there is one.
Future scope
- Stricter frontmatter validation
- Multi-note splitting for large captures
- Dedup against existing notes before writing
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.