Capture to vault
Skill ethanaubuchon/dossier-tradecraft/skills/capture-to-vault
Claude Code workflow recipes built on dossier-mcp — research → design → scope → decompose → implement as overridable slash commands and skills.
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.
One thing to look at
- 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.
What its author says it does
Copied from the file, not written here
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.
SKILL.md
5.2 KB, 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