Awesome-omni-skill obsidian-additions
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", "аддишн", "конспект", "встреча", "отчёт", "эксперимент", "практика", "аннотации", "ссылки", "добавь к заметке".
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data-ai/obsidian-additions" ~/.claude/skills/diegosouzapw-awesome-omni-skill-obsidian-additions && rm -rf "$T"
skills/data-ai/obsidian-additions/SKILL.mdObsidian 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 | | |
| 📁 | attachments | | |
| 🕵 | researches | | |
| ⬜ | canvases | | |
| 🤖 | AI | | |
| ➕ | other | | |
| 📓 | conspectuses | | |
| 🖍 | annotations | | |
| ✅️ | tasks | | |
| 🚨 | reports | | |
| 🧪 | experiments | | |
| 🗣️ | meetings | | |
| 🔗 | links | | |
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
frontmatter propertyaddition
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
additionAdd 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
property doesn't exist — create it as a list with one itemaddition - If
property exists and is a list — append the new itemaddition - If
property exists but is empty — replace with a list containing the new itemaddition - 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:
(inintroduction to computer architecture.md
)base/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
entries — only appendaddition - 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
or its subdirectoriesbase/additions/ - Conspectus notes specifically go in
base/additions/conspectuses/