Processes voice memos and links from daily notes into structured inbox notes. Extracts š¤ voice memos into meeting notes with full transcriptions preserved, URLs into clipping notes by type, and reminder text into capture notes. Use when triaging daily logs, converting voice memos, or processing saved URLs and reminders.
/plugin marketplace add nathanvale/side-quest-marketplace/plugin install claude-code-docs@side-quest-marketplaceThis skill is limited to using the following tools:
Process daily note log entries into structured notes. Extract voice memos into meeting notes, URLs into clipping notes, and reminders into capture tasks.
Use para_config to get the vault and templates path. Use para_template_fields to inspect required fields for any template.
Primary templates: meeting, capture
Clipping templates: In Templates/Clippings/ - matched by URL domain (see URL mapping below)
Log entry ā LLM extraction ā Suggest note type ā User confirms ā Create note ā Delete log entry
Pattern: - [time] - š¤ [transcription]
ā Extract into meeting note format, create with type: meeting
Pattern: - [time] - https://...
ā Always try Firecrawl first ā Detect clipping type ā Create clipping note
If Firecrawl fails (auth, blocked, timeout) ā Still create clipping note by parsing the URL.
URL ā Clipping Type Mapping:
| Domain/Path Pattern | Clipping Template | Extract From URL |
|---|---|---|
youtube.com/watch?v= | youtube-video.md | Video ID, title from path |
github.com/{owner}/{repo} | github-repo.md | Owner, repo name |
*.atlassian.net/wiki/ | documentation.md | Space, page title |
docs.*, developer.* | documentation.md | Path segments |
medium.com, substack.com, news sites | article.md | Title from path |
twitter.com, x.com | tweet---x-post.md | Tweet ID |
reddit.com/r/{sub}/comments/ | reddit-post.md | Subreddit, post title |
stackoverflow.com/questions/ | stack-overflow.md | Question ID, title |
en.wikipedia.org/wiki/ | wikipedia.md | Article title |
goodreads.com/book/ | book.md | Book title |
imdb.com/title/ | movie.md | Movie title |
spotify.com/episode/, podcast sites | podcast-episode.md | Episode title |
udemy.com, coursera.org | course---tutorial.md | Course title |
amazon.com, shopping sites | product---gift-idea.md | Product title |
airbnb.com, booking.com | accommodation.md | Listing title |
yelp.com, restaurant sites | restaurant.md | Restaurant name |
eventbrite.com, meetup.com | event.md | Event title |
maps.google.com, goo.gl/maps | place.md | Place name |
chatgpt.com/share/ | chatgpt-conversation.md | Conversation ID |
claude.ai/share/ | claude-conversation.md | Conversation ID |
apps.apple.com, play.google.com | app---software.md | App name |
| Default | article.md | Best guess from path |
Pattern: - [time] - [text] or - [time] - š¤ [short text]
Reminder/task signals ā Create capture note with Obsidian Tasks checkbox inside:
Thought/idea ā Create capture note with source: thought
Noise ā Just delete
000 Timestamps/Daily Notes/YYYY-MM-DD.md## LogFound 3 log entries:
1. š¤ 9:26am (~2000 words) ā Suggest: Meeting note
2. š¤ 12:04pm (~3000 words) ā Suggest: Meeting note
3. URL 1:33pm (atlassian.net) ā Suggest: Clipping (documentation, auth required)
Proceed with these? [y/n/change]
00 InboxExtract the transcription into meeting note format:
---
type: meeting
meeting_type: general
meeting_date: 2026-01-06
area: "[[Career & Contracting]]"
company: Bunnings
template_version: 1
---
# GMS Project Kickoff - Jackie
## Attendees
- Jackie (Team Lead, on leave until 27th)
- Josh Green (Tech Lead, Perth)
- June (Frontend/Backend dev, my buddy)
## Notes
- GMS = Gift Card Management System
- Reseller integration with Black Hawk
- Deadline: July (likely to extend)
## Decisions Made
- Estimates in days, not story points
- All-in day: Thursday
## Action Items
- [ ] Get MacBook bun number to Jackie
- [ ] Test VPN from home tonight
- [ ] Look at Miro board for resellers
Key sections to extract:
The meeting template does NOT have a Raw Transcription section. You MUST add it after creating the note.
Use para_insert with mode: "after" on the ## Follow-up heading to append:
---
## Raw Transcription
> [Full cleaned transcription in blockquote format, broken into paragraphs]
Before inserting, apply basic cleanup to the raw transcription:
DO NOT summarize or truncate. The entire transcription must be preserved.
Reference example: 02 Areas/š¤š» Contract - Bunnings/š£ļø IT Onboarding - Bunnings.md
For URLs, fetch content and create appropriate clipping:
firecrawl_scrapeyoutube.com ā youtube-videogithub.com ā github-repo*.atlassian.net ā documentation (may need auth)article---
type: article
clipping_type: article
source: "https://example.com/article"
clipped: 2026-01-06
author: "John Smith"
published: "2026-01-05"
domain: "example.com"
distill_status: raw
related: []
project: []
area: []
template_version: 1
---
# Article Title
## AI Summary
- Key point 1
- Key point 2
- Key point 3
---
**Author:** John Smith
**Published:** 2026-01-05
**Source:** [example.com](https://example.com/article)
---
## Summary
Brief description of the article...
## Highlights
## Full Content
[First 15000 chars of content]
For YouTube videos: Also fetch transcript with mcp__youtube-transcript__get_transcript
If Firecrawl fails: Parse URL and create clipping anyway:
URL: https://bunnings.atlassian.net/wiki/spaces/POS/pages/15205007376/Onboarding+Plan+for+Nathan+Vale
bunnings.atlassian.net ā type: documentation/wiki/spaces/POS/ ā Confluence, space: POSOnboarding+Plan+for+Nathan+Vale ā title: "Onboarding Plan for Nathan Vale"---
type: documentation
clipping_type: docs
source: "https://bunnings.atlassian.net/wiki/spaces/POS/pages/15205007376/Onboarding+Plan+for+Nathan+Vale"
clipped: 2026-01-06
domain: "bunnings.atlassian.net"
distill_status: raw
related: []
project: []
area: "[[Career & Contracting]]"
template_version: 1
---
# Onboarding Plan for Nathan Vale
## AI Summary
Confluence documentation page (POS space). Content requires authentication.
---
**Source:** [bunnings.atlassian.net](https://bunnings.atlassian.net/wiki/spaces/POS/pages/15205007376/Onboarding+Plan+for+Nathan+Vale)
---
## Why I Saved This
For text entries or short voice memos (reminders, thoughts, ideas):
Reminder example ("remind me to...", "don't forget..."):
---
type: capture
status: inbox
source: reminder
resonance: useful
urgency: high
template_version: 1
---
# Take out the trash
## Capture
- [ ] Take out the trash š 2026-01-06 22:00
## Why I Saved This
From daily log on [[2026-01-06]]
Task emoji format (Obsidian Tasks plugin):
š
= due dateš = reminder/scheduledā³ = scheduled dateš = recurringThought example:
---
type: capture
status: inbox
source: thought
resonance: inspiring
urgency: low
template_version: 1
---
# Tomorrow is a new day
## Capture
Don't forget tomorrow is a new day.
## Why I Saved This
From daily log on [[2026-01-06]]
Found 3 log entries in 2026-01-06:
1. š¤ 9:26am (~2000 words)
Looks like: IT onboarding meeting
ā Create: Meeting note "IT Onboarding - Bunnings"
ā Tasks: 4 action items extracted
Create this? [y/n]
2. š¤ 12:04pm (~3000 words)
Looks like: Project kickoff with Jackie
ā Create: Meeting note "GMS Project Kickoff - Jackie"
ā Tasks: 5 action items extracted
Create this? [y/n]
3. URL 1:33pm - Confluence link (bunnings.atlassian.net)
ā Create: Clipping "Onboarding Plan for Nathan Vale" (documentation)
ā Note: Auth required, no content extracted
---
Created: 2 meeting notes, 1 clipping
Deleted: 3 log entries
After creating the note, delete the log entry from the daily note using Edit tool.
The raw transcription is preserved in the meeting note, so nothing is lost.
Step 1: Create note with content injection (single call)
para_create({
template: "meeting",
title: "GMS Project Kickoff - Jackie",
dest: "00 Inbox",
args: { ... },
content: {
"Attendees": "- Jackie (Team Lead)\n- Nathan",
"Notes": "### Key Points\n- Point 1\n- Point 2",
"Action Items": "- [ ] Task 1\n- [ ] Task 2"
},
response_format: "json"
})
Step 2: Set frontmatter (args may not populate correctly)
para_frontmatter_set({
file: "00 Inbox/š£ļø Note Title.md",
set: { meeting_type: "general", meeting_date: "2026-01-06", ... }
})
Step 3: Append Raw Transcription after Follow-up section
The Follow-up section has a - placeholder. Insert AFTER it:
para_insert({
file: "...",
heading: "Follow-up",
content: "\n---\n\n## Raw Transcription\n\n> [transcription]",
mode: "after"
})
Step 4: Update daily note - Use Edit tool directly (don't re-read via MCP).
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.