skills/vault-scribe/SKILL.md
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.
npx skillsauth add psenger/ai-agent-skills vault-scribeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
Reference: See
references/FRONT-MATTER.mdfor 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
attendeesandmeeting_date) and solo AI ideation (omit them). Addsourceswhen 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:
distributed-systems, not Distributed Systems)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):
[!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.
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.
Always use fenced code blocks with a language identifier:
```yaml
key: value
```
```bash
mkdir -p ~/.claude/skills/my-skill
```
For directory trees, use plain text or no language tag.
Never use [TOC], [[_TOC_]], or any other TOC directive — neither GitHub nor Obsidian supports them natively. They render as broken plain text.
references/MARKDOWN-SYNTAX.md for anchor rules and an example.Use Markdown tables for comparisons, option lists, and reference links. Always include a reference links table at the end:
| Resource | Link |
|---|---|
| Official Docs | [docs.example.com](https://docs.example.com) |
| Source Video | [youtube.com/watch?v=...](https://youtube.com/watch?v=...) |
| 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) |
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:
---
## Transcript
Transcript from: [<name of video or article or meeting>](<link to source>)
Date of material: <YYYY-MM-DD>
\```
<raw transcript>
\```
---)YYYY-MM-DD format when known; leave blank if unknown[REDACTED]. Patterns to detect (case-insensitive):
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\-._~+/]+=*://[^:]+:[^@]+@ (replace the password segment only)password=, pwd=, passwd= followed by a value-----BEGIN ... KEY----- and -----END ... KEY-----key, secret, token, password, passwd, pwd, credential, or api_key (case-insensitive).md[label](url)[!abstract] callout containing the TL;DR (before the Transcript appendix, if present)Before finalising the output, verify:
type field is set and matches the correct note type schemareferences/FRONT-MATTER.md)category is a valid enum value[!abstract] callout (before Transcript appendix if present)[label](url) format)date_created and date_updated are set (use today's date if unknown)[REDACTED]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.testing
Exports a single Obsidian vault note and all its linked images into a portable zip or tar.gz archive, preserving vault-root-relative paths so the archive unpacks correctly anywhere. Use only when the user explicitly invokes /export-vault-note.
development
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.
documentation
Generate git commit messages, PR titles/descriptions, and changelog entries. Analyzes staged changes, enforces Conventional Commits, scans for sensitive content, links tickets (GitHub Issues / Jira), and updates CHANGELOG.md. Triggers on: "commit", "create a PR", "push", "changelog", "release", or when the user is ready to commit or open a pull request.
development
Create new agent skills from scratch, modify and improve existing skills, and measure skill performance through evaluation and benchmarking. Use when users want to create a skill, write a skill, build a new skill, edit or optimize an existing skill, run evals to test a skill, benchmark skill performance, or optimize a skill's description for better triggering accuracy. Also triggers when users say "turn this into a skill", "make a skill for X", "skill for doing Y", or ask about skill structure, skill format, or SKILL.md files.