name: obsidian-additions description: 'Create supplementary materials attached to existing notes: experiments, meetings, reports, logs, conspectuses, practice sessions, annotations, AI outputs, links collections. Two-step process: (1) create aggregator space, (2) create concrete addition in base/additions/. INVOKE when user wants to attach any supplementary material to an existing note. Triggers: "addition", "create addition", "experiment", "meeting notes", "report", "conspectus", "log", "practice", "annotations", "links", "link collection", "аддишн", "конспект", "встреча", "отчёт", "эксперимент", "практика", "аннотации", "ссылки", "добавь к заметке".'
Obsidian Additions
Two-level system for attaching supplementary materials to notes.
Architecture
Level 1: Aggregator (Space)
Container note in base/additions/ that groups additions by type. Tagged mark/addition/aggregator.
Level 2: Concrete Additions
Individual additions inside the aggregator space. Live in base/additions/ or subdirectories (e.g., base/additions/conspectuses/).
Addition Types
| Emoji | Type | Tag (concrete) | Subdirectory |
|---|---|---|---|
| 💪 | practice | mark/addition/practice |
base/additions/ |
| 📁 | attachments | mark/addition/attachments |
base/additions/ |
| 🕵 | researches | mark/addition/researches |
base/additions/ |
| ⬜ | canvases | mark/addition/canvases |
base/additions/ |
| 🤖 | AI | mark/addition/ai |
base/additions/ |
| ➕ | other | mark/addition/other |
base/additions/ |
| 📓 | conspectuses | mark/addition/conspectus |
base/additions/conspectuses/ |
| 🖍 | annotations | mark/addition/annotations |
base/additions/ |
| ✅️ | tasks | mark/addition/tasks |
base/additions/ |
| 🚨 | reports | mark/addition/report |
base/additions/ |
| 🧪 | experiments | mark/addition/experiment |
base/additions/ |
| 🗣️ | meetings | mark/addition/meeting |
base/additions/ |
| 🔗 | links | mark/addition/links |
base/additions/ |
Workflow 1: Create Aggregator Space
Steps
- Identify parent note — user specifies which note to attach addition to
- Verify the note exists — use Glob to find it
- Choose addition type — ask user which type from the table above
- Check for duplicates — verify no aggregator with same name already exists in
base/additions/ - Create aggregator file in
base/additions/ - Update parent note — add wikilink to
additionfrontmatter property
Aggregator Naming
<parent note title> - <addition type>
Examples:
Deep Learning - conspectuses.mdIntroduction to Statistics - practice.mdMy Project - experiments.md
Aggregator Frontmatter
---
tags:
- mark/addition/aggregator
---
Update Parent Note's addition Property
Add a wikilink to the addition array in the parent note's frontmatter:
addition:
- "[[<aggregator name>|<emoji>]]"
Example — if parent note is sources/Deep Learning.md and type is conspectuses:
addition:
- "[[Deep Learning - conspectuses|📓]]"
Rules:
- If
additionproperty doesn't exist — create it as a list with one item - If
additionproperty exists and is a list — append the new item - If
additionproperty exists but is empty — replace with a list containing the new item - Preserve all existing items in the list
Workflow 2: Create Concrete Addition
Steps
- Identify target aggregator — user specifies which aggregator or parent note
- Verify the aggregator exists — use Glob in
base/additions/ - Create addition file based on type (see templates below)
- Add wikilink to the concrete addition in the aggregator body as a list item (e.g.,
- [[My Project (2025-08-10) - meeting]])
Concrete Addition Naming
<parent note title> (<date>) - <addition type>
Date format: YYYY-MM-DD
Examples:
My Project (2025-08-10) - experiments.mdMy Project (2025-08-10) - meeting.mdMy Project (2025-08-10) - reports.md
For conspectuses — use descriptive name instead of date:
introduction to computer architecture.md(inbase/additions/conspectuses/)
Concrete Addition Templates
Experiment
---
tags:
- mark/addition/experiment
status: 🟥
project:
- "[[<parent note>]]"
attribute:
input:
output:
description:
created: <ISO 8601>
updated: <ISO 8601>
---
Meeting
---
tags:
- mark/addition/meeting
status: 🟥
project:
- "[[<parent note>]]"
created: <ISO 8601>
updated: <ISO 8601>
---
Report
---
tags:
- mark/addition/report
status: 🟥
project:
- "[[<parent note>]]"
created: <ISO 8601>
updated: <ISO 8601>
---
Conspectus (Log)
---
tags:
- <source type tag from parent>
- mark/log/conspectus
- <category tags from parent>
aliases: []
status: 🟦
source:
- "[[<parent note>]]"
next:
category:
creator:
url:
published:
start: <ISO 8601>
end:
total_hours: 0
updated: <ISO 8601>
---
> [!toc]+
> ```table-of-contents
> ```
For conspectus notes: copy source type and category tags from the parent source note.
Links
---
tags:
- mark/addition/aggregator
- mark/addition/links
meta:
- "[[<parent note>]]"
created: <ISO 8601>
updated: <ISO 8601>
---
Body: semantic groups using collapsed [!abstract]- callouts. Links live directly in the aggregator — no separate concrete additions needed for this type.
Example group:
> [!abstract]- 💬 Chat & Inference
> - [Groq](https://groq.com/) · fast inference
> - [OpenRouter](https://openrouter.ai/) · model aggregator
Generic Addition (practice, annotations, AI, researches, etc.)
---
tags:
- mark/addition/aggregator
---
Use the aggregator tag for generic containers. Body content is freeform.
Important Rules
- Always verify notes exist before linking — use Glob
- Never overwrite existing
additionentries — only append - Date format for all timestamps: ISO 8601 with timezone (
YYYY-MM-DDTHH:mm:ssZ) - Aggregator body is freeform markdown — the user organizes content within it
- Concrete additions go in
base/additions/or its subdirectories - Conspectus notes specifically go in
base/additions/conspectuses/