Convert free-form conversation, transcript, chat log, meeting notes, or pasted dialogue into Obsidian-compatible raw notes and atomic memory notes with YAML frontmatter. Use when the user asks to transform general conversation into Obsidian format, memory vault notes, save_memory v2 payloads, or searchable notes with roles, topics, entities, and projects.
Use this skill to turn general conversation into Obsidian-friendly Markdown artifacts without relying on semantic folders.
Use this skill when the input is any of the following:
raw and memory recordsroles, topics, entities, projects, or save_memoryDo not use this skill for:
Expected input can be plain text or Markdown and should ideally include:
cursorchatgptclaudemanualIf inputs are incomplete:
[ASSUMPTION] only in the prose summary, not as fake metadataAlways produce, in this order:
mcp_raw/<source>/<YYYY-MM-DD>/<mcp_id>.md (under VAULT_PATH)memory/<YYYY>/<MM>/<MEMORY_ID>.md (<MM> zero-padded). MemoryType / roles are metadata, not path segments. Legacy vault may still have 20_AI_Memory/<memory_type>/<YYYY>/<MM>/… for older files.save_memory v2 JSON payloads
topic/foo/, project/bar/decisions/). Use only the server layout below.mcp_raw/<source>/<YYYY-MM-DD>/<mcp_id>.md (see RawArchiveStore).memory/<YYYY>/<MM>/<MEMORY_ID>.md for current server writes (see MemoryStore._memory_rel_path). 20_AI_Memory/… is legacy/read-compat only unless migrating.10_Daily/<YYYY-MM-DD>.md.INDEX_DB_PATH, not under a vault/system/ path for this server. The vault may include 90_System/ for other artifacts; do not confuse it with the DB file.For memory notes, keep these as arrays even when they contain one item:
rolestopicsentitiesprojectstagsFor raw notes, keep these as arrays when present:
topicsentitiesprojectstagsUse raw_ref in Markdown frontmatter for note-to-note linking.
If JSON payloads are requested, use raw_refs as an array to match the save_memory v2 payload contract.
Prefer nested tag patterns like:
mcp/rawmcp/memoryrole/decisiontopic/logisticsentity/DSVproject/HVDCIf the conversation is short and clearly about one topic:
If the conversation is long, noisy, or multi-topic:
obsidian-metadata-scout and obsidian-memory-splitter in parallelobsidian-memory-verifier before finalizingIf the user asks for strict validation, schema compliance, or repo-ready output:
obsidian-memory-verifierCreate exactly one raw note.
Required frontmatter fields for raw notes:
note_kind: rawmcp_id (stable key; matches server raw filename stem and links from memory notes)sourcecreated_at_utcRecommended arrays when evidence exists:
topicsentitiesprojectstagsThe raw note body should preserve the conversation faithfully, with only minimal cleanup for readability.
Create memory notes only for durable, retrieval-worthy items such as:
A memory note should capture one retrievable claim or action unit. Avoid stuffing unrelated topics into one memory note.
Required frontmatter fields for memory notes:
note_kind: memoryidsourcecreated_at_utcrolesstatusraw_refRecommended fields when supported by evidence:
topicsentitiesprojectstagsconfidenceoccurred_atdue_atUse stable, human-readable titles.
ID patterns aligned with this repo’s MCP server:
MEM-YYYYMMDD-HHMMSS-XXXXXX (six uppercase hex chars), as produced by make_memory_id.mcp_id in the payload saved by the server (string; must be safe as a filename). For manual drafts before MCP ingest, you may use a placeholder mcp_id or a human id; when targeting archive_raw / on-disk layout, prefer a single stable mcp_id per raw note. Link memory raw_ref / raw_refs to that same identifier.If exact timestamps are missing:
If the user asks for API-ready output, generate save_memory v2 JSON objects.
Map fields as follows:
raw_ref -> JSON raw_refs: [raw_ref]status defaults to activelanguage defaults to the dominant input languageCheck all of the following:
raw_ref links every memory note to the raw note0 and 1obsidian-metadata-scoutUse proactively for long or multi-topic conversation. Goal:
roles, topics, entities, projects, tags, and confidence hintsobsidian-memory-splitterUse proactively for long or mixed conversation. Goal:
obsidian-memory-verifierUse after draft generation or when the user requests high confidence. Goal:
Return the final output in this shape:
## Conversion Summary
## Raw Note
## Memory Note 1
references/obsidian-output-contract.mdassets/raw-note-template.mdassets/memory-note-template.mdassets/save-memory-v2.schema.json