From obsidian-skills
Use this skill to create or edit Breadcrumbs documentation pages following the vault conventions for wikilinks, image embeds, Mermaid diagrams, frontmatter patterns like `BC-folder-note-field`, and `next::` inline fields. Do NOT use it for non-docs code files.
How this skill is triggered — by the user, by Claude, or both
Slash command
/obsidian-skills:breadcrumbs-editThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- **No H1 headings in page body.** The page title is derived from the filename. Start body content with a short intro paragraph or directly with `##` sections.
## sections.breadcrumbs-docs-vault/. If unsure, search the vault before writing.breadcrumbs-docs-vault/CLAUDE.md for the terminology table.[text](path)) for internal cross-references. Always use [[Page Name]] or [[Page Name|display text]].Before writing or editing, identify which type of page you're working on:
| Type | Frontmatter | Body pattern | Examples |
|---|---|---|---|
| Folder index | BC-folder-note-field: down | Intro sentence + bullet list of [[child pages]] | Commands/Commands.md, Views/Views.md, Suggesters/Suggesters.md |
| Concept/reference page | aliases: array (optional) | Intro paragraph, ## sections, Mermaid diagrams, examples | Edge Fields.md, Concepts.md, Field Groups.md |
| Feature page | Optional aliases: | Explanation + ## Settings section + examples | Explicit Edge Builders/Date Notes.md, Explicit Edge Builders/Folder Notes.md |
| Guide | None typically | ## Steps with numbered ### N. Step Name subsections + ## Extras/Advanced Usage | Guides/Layered Daily Notes.md, Guides/Personal Relationship Management.md |
| Announcement | None | ## Breadcrumbs 🍞 heading, changelog-style | Announcements/Announcement 2024-04-25.md |
Verify you have the correct type before proceeding.
Apply the correct YAML frontmatter based on page type:
Folder index pages — use BC-folder-note-field: down:
---
BC-folder-note-field: down
---
Pages with aliases — use an array:
---
aliases:
- edge fields
- field
---
Folder index with aliases — combine both:
---
BC-folder-note-field: down
aliases:
- explicit
---
Pages with no special metadata — omit frontmatter entirely (no empty --- blocks). Examples: Home.md, Note Attributes.md, Debugging.md, most guide pages.
Verify: frontmatter uses only documented fields (BC-folder-note-field, BC-folder-note-recurse, aliases, or Breadcrumbs edge fields like up, parent, month). Never add title, tags, date, or other non-Breadcrumbs fields.
Follow these formatting rules exactly:
Headings: Use ## for top-level sections, ### for subsections, #### sparingly. Never use # (H1).
Wikilinks: Always use [[Target Page]] for cross-references. Use [[Target Page|display text]] when the link text should differ. Common patterns:
[[Edge Fields|edge field]] — lowercase alias in running text[[Rebuild Graph|rebuild the graph]] — verb phrase alias[[Concepts#Graph|Breadcrumbs graph]] — section anchor with alias[[Typed Links#Frontmatter Links|frontmatter links]] — sub-section anchorImage embeds: Use ![[image-name.png]]. Images are stored in Images/. Use descriptive PascalCase or space-separated names matching existing conventions:
![[Edge Field Settings.png]]![[Codeblock Mermaid Binary Tree.png]]![[transitive (parent, parent) -> grandparent.png]]Callouts/admonitions: Use Obsidian callout syntax with these types (observed in vault):
> [!INFO]
> Informational note.
> [!TIP]
> Helpful suggestion.
> [!EXAMPLE]
> Concrete example with details.
> [!NOTE]
> Supplementary context.
> [!IMPORTANT]
> Critical warning or constraint.
Inline Dataview fields: Place at the bottom of the page, after a --- horizontal rule:
---
next:: [[Target Page]]
This pattern is used for navigation between sequential pages (see Explicit Edge Builders/Explicit Edge Builders.md).
Lists: Use - (unordered) for feature lists, bullet points, and child page lists. Use numbered lists only inside guide step sections.
Horizontal rules: Use --- to separate major sections (e.g., before next:: fields, between conceptual breaks).
Verify: no H1 headings, no bare markdown links between docs pages, all image embeds use ![[]] syntax.
Mermaid diagrams illustrate graph relationships. Follow these exact patterns from the vault:
Simple directional graph:
flowchart LR
1(Note A) -- field --> 2(Note B)
Multi-child edges:
flowchart TD
1(Parent) -- down --> 2(A) & 3(B)
Explicit vs implied edges (implied uses dotted lines):
flowchart LR
1(Me) -- parent --> 2(Mother)
2 -. child .-> 1
Chain/transitive visualization:
graph LR
A -->|parent| B
B -->|parent| C
A -.->|grandparent| C
Conventions:
flowchart or graph (both appear in vault)LR (left-right), TD/BT (top-down/bottom-up) based on semantic direction1, 2, 3) or short labels (A, B, C)1(Note Name)-- field --> or -->|field| (both patterns used)-. field .-> or -.->|field|Verify: Mermaid syntax renders correctly, edge field names match existing [[Edge Fields]].
Use the correct fenced code block language for each context:
YAML frontmatter examples — use ```yaml with full --- delimiters:
---
parent: "[[A]]"
child: ["[[B]]", "[[C]]"]
---
Markdown content examples — use ```md:
parent:: [[A]]
child:: [[B]], [[C]]
Breadcrumbs codeblock examples — use ```yaml and describe it as a breadcrumbs codeblock in surrounding text:
type: tree
fields: [down]
depth: [0, 3]
sort: basename asc
TypeScript type signatures (for documenting codeblock fields) — use ```ts:
type?: (tree) | mermaid
Parentheses around (tree) indicate the default value.
JavaScript (API examples) — use ```javascript:
window.BCAPI;
Settings references — use the format: Settings > Section > Sub-section or backtick-quoted names inline.
Verify: code blocks use the correct language tag, YAML frontmatter examples include --- delimiters, Dataview inline fields use :: syntax.
Guides follow a specific structure. Use this template:
This guide will show you how to [goal]. The end result will [benefit].
[Mermaid diagram showing the end-state structure]
## Steps
### 1. [Step Name]
[Explanation with wikilinks to relevant concepts]
[Code example or screenshot]
### 2. [Step Name]
[Continue pattern...]
## Extras/Advanced Usage
### [Advanced Topic]
[Additional tips and variations]
Key patterns from existing guides:
## Steps as the container heading, then ### N. Step Name for each stepEdge Source > Date Notes > Enable"## Extras/Advanced Usage for optional enhancements> [!TIP] callouts for bulk-add rules and shortcutsVerify: steps are numbered with H3, guide has an intro Mermaid diagram, advanced section exists if applicable.
When adding a new page to a folder, update the corresponding index:
Commands/Commands.md, Views/Views.md)- [[New Page]] bullet item in the appropriate positionBC-folder-note-field: down in frontmatterExample index structure (Commands/Commands.md):
---
BC-folder-note-field: down
---
Breadcrumbs adds a few commands to the command palette.
- [[Rebuild Graph]]
- [[Jump to First Neighbour]]
- [[Freeze Crumbs to File]]
- [[Create List Index]]
- [[Threading]]
- [[Graph Stats]]
Verify: the new page is listed in the parent index, and the index has correct frontmatter.
After editing, check that:
[[wikilinks]] point to existing pages. Run:
rg -n '\[\[' breadcrumbs-docs-vault/YOUR_FILE.md
![[image.png]] embeds reference files in Images/. Run:
ls breadcrumbs-docs-vault/Images/ | grep -i 'partial-name'
CLAUDE.md terminology tableUser says: "Add a guide for using Breadcrumbs with a Zettelkasten workflow"
Actions:
breadcrumbs-docs-vault/Guides/Zettelkasten Workflow.md with no frontmatter (guides don't use it)## Steps with numbered ### N. subsections, referencing [[Edge Fields]], [[Typed Links]], [[Transitive Implied Relations]] etc.## Extras/Advanced Usage sectionbreadcrumbs-docs-vault/Guides/Guides.md — add - [[Zettelkasten Workflow]] to the bullet listResult: New guide page follows the exact structure of Layered Daily Notes.md and Personal Relationship Management.md, and is discoverable from the Guides index.
User says: "Add a Mermaid example to the Folder Notes page"
Actions:
breadcrumbs-docs-vault/Explicit Edge Builders/Folder Notes.md### Example subsection with a Mermaid diagram using flowchart TD and -- down --> edge labels[[Edge Fields]], [[Rebuild Graph]])Result: New example uses flowchart TD, numbered node IDs, and edge labels matching existing Mermaid patterns in the vault.
User says: "Create a new section for Integrations"
Actions:
breadcrumbs-docs-vault/Integrations/Integrations.md with frontmatter:
---
BC-folder-note-field: down
---
Home.md or relevant existing pagesMermaid diagram doesn't render — "Parse error":
1(Label) not my-node(Label)-->|label| or -- label -->, not --label-->LR, RL, TD, TB, BTWikilink shows as plain text in Obsidian:
[[Page#Section]] — verify the heading exists with exact capitalizationBC-folder-note-field not creating edges:
rg -n 'BC-folder-note-field' breadcrumbs-docs-vault/Frontmatter YAML parsing error:
parent: "[[Note]]" not parent: [[Note]]child: ["[[A]]", "[[B]]"]BC-folder-note-field value should not be quoted if it's a simple word: BC-folder-note-field: downInline Dataview field not detected by Breadcrumbs:
:: (double colon), not : (single colon)next:: [[Page]]Image embed ![[image.png]] shows broken link:
ls breadcrumbs-docs-vault/Images/![[my Image.png]] won't match my image.pngImages/ path prefix — Obsidian resolves by filename: ![[image.png]] not ![[Images/image.png]]breadcrumbs — for multi-step Breadcrumbs docs tasksbreadcrumbs-terminology — to keep terms canonical while editingbreadcrumbs-code-conventions — to keep docs formatting aligned with the vaultobsidian-markdown — for Obsidian markdown syntax detailsobsidian-links — for wikilink integrity checksnpx claudepluginhub zpankz/obsidian-skillsCreates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.