Skip to content
All Skills

Vault Scribe

Converts transcripts, video summaries, meeting notes, brainstorming sessions, strategy documents, and rough notes into polished Obsidian-flavored Markdown. Activates when creating or editing notes in an Obsidian vault, generating front matter, applying callout blocks, structuring knowledge base articles, or producing developer-facing guides. Also triggers on mentions of Obsidian, front matter, callout blocks, vault organisation, or requests for GitHub-compatible Markdown documents.

Personal Productivity|v1|Updated 7/14/2026|GitHub source
MCP get_skill({ skillId: "vault-scribe-815aa6be" })

Use this skill with your agent

Create a free account and connect via MCP

Get Started Free
# Vault Scribe — Obsidian + GitHub Markdown Skill

Creates and edits Markdown that is **GitHub-Flavored Markdown (GFM) first**, with optional Obsidian-specific extensions when needed. Standard Markdown (headings, bold, italic, lists, quotes, code blocks, tables) is assumed knowledge.

> **Default rule:** Use standard GFM syntax unless the user explicitly requests Obsidian-specific features or is working in an Obsidian-only context. Obsidian wikilinks (`[[Note]]`) break on GitHub — always prefer standard Markdown links for cross-platform compatibility.

When invoked with an argument (e.g. `/vault-scribe meeting`), use `$ARGUMENTS` to determine the note type. If no argument is provided, infer the type from the source material or ask the user.

---

## Workflow: Creating a Note

### 1. Analyse the Source Material

- Read the full transcript, notes, or brief carefully
- Identify the **core topic**, intended **audience**, and **key concepts**
- Note any implicit structure (e.g., problem → solution → examples)
- Extract any explicit examples, warnings, tips, or quotes worth preserving

### 2. Generate YAML Front Matter

> **Reference:** See `references/FRONT-MATTER.md` for the complete schema definitions, all enum values, and type-specific required fields.

**First, determine the note `type`** based on what the user is creating:

| If the user wants… | Set `type` to |
|---|---|
| A guide, reference doc, or knowledge article | `article` |
| A step-by-step instructional guide or procedure | `how-to` |
| Architecture docs, RFCs, design docs, system specs | `technical` |
| An investigation with multiple sources | `deep-research` |
| A versioned plan or strategy document | `strategy` |
| Meeting notes, 1:1s, standups, retrospectives | `meeting` |
| Brainstorming, ideation, or exploratory thinking (solo or group) | `brainstorming` |

> [!TIP]
> **Brainstorming** is its own note type. It works for group sessions (add `attendees` and `meeting_date`) and solo AI ideation (omit them). Add `sources` when the brainstorm draws on external references.

Then apply the corresponding frontmatter schema from `references/FRONT-MATTER.md`. Every note type uses the **core fields** plus any **type-specific required fields**.

**Tag guidelines:**
- Use lowercase, hyphenated slugs only (e.g. `distributed-systems`, not `Distributed Systems`)
- Include 4–8 tags: topic-specific first, then broader domain tags
- Always include at least one technology tag and one domain/concept tag

### 3. Structure the Document Body

Use this hierarchy:

```
# Title (H1) — matches front matter title
## Section (H2) — major topic areas
### Subsection (H3) — specific concepts within a section
```

**Target sections** (adapt names to the topic):
1. **Overview / What is X?** — define the subject clearly
2. **How It Works** — mechanics, process, or architecture
3. **Practical Examples** — concrete code blocks or walkthroughs
4. **Common Mistakes / Warnings** — callout blocks
5. **Quick-Start / Checklist** — actionable summary
6. **Further Reading & References** — links table

> [!NOTE]
> **Minimum 4 sections** (Overview, How It Works, Examples, References) for all notes. The full 6 sections are the target for comprehensive articles and guides. Simpler note types (meetings) naturally use fewer sections.

### 4. Apply Callout Blocks

Use GFM Alerts by default (renders on both GitHub and Obsidian). See `references/CALLOUTS.md` for the full list of callout types including Obsidian-only variants.

| Callout Type | Use For |
|---|---|
| `[!NOTE]` | Neutral supplementary info |
| `[!TIP]` | Actionable best practice |
| `[!IMPORTANT]` | Key concept the reader must not miss |
| `[!WARNING]` | Common mistake or gotcha |
| `[!CAUTION]` | Risk of data loss, security issue, or breaking change |

> [!TIP]
> Every Warning, Tip, and TL;DR should be a callout block — not plain prose. This makes the document scannable.

### 5. Code Blocks

Always use fenced code blocks with a language identifier:

````markdown
```yaml
key: value
```

```bash
mkdir -p ~/.claude/skills/my-skill
```
````

For directory trees, use plain `text` or no language tag.

### 6. Table of Contents

**Never use `[TOC]`, `[[_TOC_]]`, or any other TOC directive** — neither GitHub nor Obsidian supports them natively. They render as broken plain text.

- GitHub auto-generates a TOC in the sidebar — no directive needed.
- Obsidian generates one via its built-in plugin — no directive needed.
- Only add a **manual** TOC (using standard anchor links) when the document has 6+ sections and will be read outside a browser. See `references/MARKDOWN-SYNTAX.md` for anchor rules and an example.

### 7. Tables & Links

Use Markdown tables for comparisons, option lists, and reference links. Always include a reference links table at the end:

```markdown
| Resource | Link |
|---|---|
| Official Docs | [docs.example.com](https://docs.example.com) |
| Source Video  | [youtube.com/watch?v=...](https://youtube.com/watch?v=...) |
```

### 8. Inline Formatting Rules

| Element | Usage |
|---|---|
| `**bold**` | Key terms on first use, critical values |
| `*italic*` | Titles of external resources, emphasis |
| `` `code` `` | All file paths, commands, config keys, code symbols |
| `[[wikilink]]` | Internal Obsidian links (only if Obsidian-only context) |

### 9. Transcript Appendix

When the source material includes a transcript (video, podcast, meeting recording, article), **always** append the raw transcript at the very end of the document, after all other content, using this exact format:

```markdown
---

## Transcript

Transcript from: [<name of video or article or meeting>](<link to source>)
Date of material: <YYYY-MM-DD>

\```
<raw transcript>
\```
```

- The transcript section is separated from the rest of the document by a horizontal rule (`---`)
- The source name must be a clickable Markdown link when a URL is available
- If no URL exists, use plain text for the name
- Date should be in `YYYY-MM-DD` format when known; leave blank if unknown
- Before appending, scan the transcript for sensitive values and replace each match with `[REDACTED]`. Patterns to detect (case-insensitive):
  - API keys and tokens: strings matching `sk-[A-Za-z0-9]{20,}`, `AKIA[A-Z0-9]{16}`, `AIza[0-9A-Za-z\-_]{35}`, `ghp_[A-Za-z0-9]{36}`, `Bearer [A-Za-z0-9\-._~+/]+=*`
  - Passwords in URLs: `://[^:]+:[^@]+@` (replace the password segment only)
  - Connection strings: DSN-style strings containing `password=`, `pwd=`, `passwd=` followed by a value
  - Private key blocks: anything between `-----BEGIN ... KEY-----` and `-----END ... KEY-----`
  - Generic high-entropy secrets: any token-like value assigned to a key named `key`, `secret`, `token`, `password`, `passwd`, `pwd`, `credential`, or `api_key` (case-insensitive)
- If no sensitive patterns are found, content is preserved unchanged
- The raw transcript goes inside a fenced code block with no language tag

---

## Output Requirements

- File extension: `.md`
- Encoding: UTF-8
- Front matter: Always present, always first
- Minimum sections: 4 (Overview, How It Works, Examples, References). Target 6 for comprehensive articles.
- All external URLs must be real and formatted as `[label](url)`
- No bare URLs — always wrapped in Markdown link syntax
- End the document with an `[!abstract]` callout containing the TL;DR (before the Transcript appendix, if present)

---

## Quality Checklist

Before finalising the output, verify:

- [ ] Front matter is complete and valid YAML
- [ ] `type` field is set and matches the correct note type schema
- [ ] All type-specific required fields are present (per `references/FRONT-MATTER.md`)
- [ ] Title in front matter matches H1 heading
- [ ] `category` is a valid enum value
- [ ] Tags are lowercase and hyphenated
- [ ] All warnings/tips are callout blocks, not plain paragraphs
- [ ] At least one code block example is present (for articles/guides)
- [ ] A reference links table exists at the end
- [ ] Document closes with an `[!abstract]` callout (before Transcript appendix if present)
- [ ] No bare URLs (all links use `[label](url)` format)
- [ ] `date_created` and `date_updated` are set (use today's date if unknown)
- [ ] If source material includes a transcript, it is appended in the Transcript Appendix format
- [ ] Transcript appendix has been scanned for credentials; any sensitive values are replaced with `[REDACTED]`

---

## Reference Files

- `references/FRONT-MATTER.md` — Complete frontmatter schemas for all note types, enum values for `type`, `category`, and `status`, and type-specific required/optional fields. **Always consult this file** when generating front matter.
- `references/CALLOUTS.md` — GFM Alerts (default) and Obsidian callout types, foldable/nested syntax, aliases, and custom CSS callouts.
- `references/EMBEDS.md` — Standard GFM image syntax (default) and Obsidian-specific embed syntax for notes, images, audio, and PDFs.
- `references/MARKDOWN-SYNTAX.md` — Detailed GFM + Obsidian syntax reference for links, tags, comments, highlighting, math, diagrams, footnotes, and the compatibility matrix.
- `examples/` — Example output files showing correctly formatted notes for different note types.

---

## References

- [GitHub Flavored Markdown Spec](https://github.github.com/gfm/)
- [GitHub Alerts](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts)
- [Obsidian Flavored Markdown](https://help.obsidian.md/obsidian-flavored-markdown)
- [Obsidian Internal Links](https://help.obsidian.md/links)
- [Obsidian Callouts](https://help.obsidian.md/callouts)
- [Obsidian Properties](https://help.obsidian.md/properties)
#broad-capability#skill-authoring#code-review#documentation#obsidian#markdown

Explore Other Categories

Skills from other categories with shared topics

Agent Os Profile Critique

Provides the audit checklists, severity criteria (blocking/warning/suggestion), and artifact patterns needed to properly review Agent OS profiles and standards. Always invoke this skill before auditing - without it you can only give generic feedback, not structured severity-tagged findings. Invoke when the user pastes a standard and asks if it is good or what is wrong with it; when the user asks to review, audit, validate, or critique an agent-os profile or standard; or when the user mentions "agent-os profile", "agent-os standard", or "my agent-os setup" in a review or validation context.

Software Engineering#broad-capability#skill-authoring

Agentic Skeleton Dir Structure

Scaffolds production-ready directory structures for agentic AI projects using Agent-OS v3 (Builder Methods). Use when the user asks to set up, scaffold, initialize, or restructure a project for agentic development — including mono-repos, single repos, multi-language repos, full-stack, backend, frontend, or middleware projects. Triggers on "scaffold directory", "project structure", "agentic scaffold", "project layout", "initialize AI project", "directory structure", "agent-os setup", "mono-repo layout", "IaC structure".

Software Engineering#broad-capability#skill-authoring

Arch Lens

Explores a codebase for architectural friction through the lens of Ousterhout's deep-module principle (small interface, large implementation). Seven-step interactive workflow: an Explore sub-agent navigates the codebase organically — the friction it experiences IS the signal. Surfaces candidate clusters with coupling reasons, call patterns, shared types, dependency categories, and existing tests that a boundary test would replace. User picks what to explore, frames the problem, then 3–4 parallel sub-agents design competing deep-module interfaces. Chosen design becomes a structured RFC action file readable by GitHub MCP or ROVO (Jira) MCP. Use when the user says "arch review", "find shallow modules", "module depth", "deep module", "Ousterhout", "testability audit", "surface coupling", "design interfaces", "RFC issues", or "architectural friction".

Software Engineering#broad-capability#skill-authoring