skills/obsidian-daily-process/SKILL.md
--- name: obsidian-daily-process description: Orchestrates the full Obsidian vault processing pipeline: transcribes voice memos and audio recordings, classifies them into todos, ideas, or daily notes, and files each into the right place in the vault. Also triggers downstream Obsidian pipelines (wiki update, ArtMind knowledge graph). Use this skill whenever the user wants to process voice memos, audio recordings, or run any Obsidian vault update — even if they only mention "voice memo", "recordin
npx skillsauth add neurongraph/skills_repo skills/obsidian-daily-processInstall 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.
This skill orchestrates the full Obsidian vault processing pipeline: audio transcription, transcript classification and filing, and triggering of downstream vault update processes.
This workflow requires environment variables from .env: ASR_CLI, MODEL_PATH, AUDIO_TEMP_DIR, IDEAS_INBOX.
If variables are undefined, prefix bash commands with:
set -a; source .env; set +a &&
Important: The current working directory should be the Obsidian vault root (the directory containing .obsidian/).
Run the process-audio skill to transcribe all audio files in $AUDIO_TEMP_DIR/inputs.
It will check prerequisites, convert and transcribe all audio, and save transcripts to $AUDIO_TEMP_DIR/transcripts/. Wait for it to complete before continuing. If it stops due to missing prerequisites or no files found, stop here too.
This workflow assumes the current working directory is the Obsidian vault root (the directory containing .obsidian/). Verify:
[ -d ".obsidian" ] && echo "✓ Vault root confirmed"
If .obsidian/ is not in the current directory, the user should:
OBSIDIAN_VAULT environment variable is set (it will be loaded in the Environment Setup step)cd "$OBSIDIAN_VAULT"All subsequent file paths are relative to the vault root (e.g., KB_2/00. Inbox/02. Tasks/todo.md).
Read <vault>/.obsidian/daily-notes.json to find:
YYYY-MM-DD.md)If daily-notes.json does not exist, use the defaults and continue.
If a template file is specified, read it now — you'll need it when creating a new daily note. Note that the path can contain spaces and You might have to add a .md at the end of the path to find the file.
For each .txt file in $AUDIO_TEMP_DIR/transcripts/, first classify it, then file it accordingly.
Read the transcript and determine its type using these rules, applied in order:
Daily Note — The transcript opens with a date reference. Check the first ~20 characters for day names (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, yesterday, today, tomorrow) or date patterns (May, Jan, Feb, etc., or YYYY-MM-DD format). The date in the opening words determines which daily note it belongs to.
if echo "$transcript" | grep -qi "^[^a-z]*\(monday\|tuesday\|wednesday\|thursday\|friday\|saturday\|sunday\|yesterday\|today\|tomorrow\|january\|february\|march\|april\|may\|june\|july\|august\|september\|october\|november\|december\)"; then
# Daily Note
Idea — The transcript contains the word "idea" (case-insensitive) in the first 5 words. Simple check without complex patterns:
if echo "$transcript" | head -c 100 | grep -qi "idea"; then
# Idea
Todo — Everything else. Task-oriented language ("I need to", "remind me", "follow up", "don't forget", "action item") with no date reference at the start and no mention of "idea" signals a todo or task capture.
A transcript matches the first rule that fits — so a note that opens with a date is always a Daily Note even if it also mentions "idea" or tasks.
Daily Note:
## Voice Memo
<transcript content>
If multiple transcripts land on the same date, each gets its own ## Voice Memo section.
Idea:
.env file for the IDEAS_INBOX variable. This points to a folder or directory where idea files should be stored (e.g., KB_2/01. Ideas/).IDEAS_INBOX is set, create a new .md file in that directory with a filename based on the first few words of the idea (e.g., New product feature.md).#ideas tag at the end of the file and include the full transcript content.IDEAS_INBOX is not set, ask the user where ideas should be filed in their vault and confirm before filing.Todo:
obsidian-todotxt Workflow E to locate the todo file (session cache first, then data.json).obsidian-todotxt Workflow A to append the transcript as a new task at the top of the inbox.Tell the user the type assigned to each transcript and where it was filed.
(Placeholder — not yet implemented.)
This step will trigger an Obsidian wiki update process — scanning newly filed content for entities, concepts, or references that should be reflected in the vault's wiki or reference notes. Leave this step as a no-op for now and note it to the user as "coming soon."
(Placeholder — not yet implemented.)
This step will trigger an artmind knowledge graph update — propagating newly captured ideas, tasks, and notes into the knowledge graph for cross-linking and insight generation. Leave this step as a no-op for now and note it to the user as "coming soon."
List all temporary files that were created during processing, grouped by directory:
$AUDIO_TEMP_DIR/inputs/$AUDIO_TEMP_DIR/outputs/$AUDIO_TEMP_DIR/transcripts/Ask the user whether to delete them. Delete only on explicit confirmation, and only after all vault notes have been successfully written.
Use obsidian-todotxt Workflow F to fetch and display the top 10 uncompleted todos ranked by composite urgency score. This surfaces the highest-priority work — including any tasks just added from this session's transcripts.
Then use obsidian-todotxt Workflow G to ask the user if they want to action one of the todos. If yes, invoke obsidian-todo-action for the selected task.
development
Use this skill any time you need to create or edit a .pptx presentation for Surjit. This skill enforces the IBM Plex design language — typography-forward, flat geometry, sharp corners, restrained color. Trigger whenever the user asks for a deck, slides, or presentation, or references a .pptx file, and especially when they want slides that feel clean, modern, or 'IBM-style'. If the user just says 'make me a deck' or 'build slides', use this skill — it overrides the generic pptx skill for this user.
data-ai
--- name: obsidian-todo-action description: Action a single Obsidian todo: reads project context and related tasks, adaptively assesses what's needed (sub-tasks, email drafts, calendar invites), generates all artifacts into the project folder, and updates project.md — all in one session. compatibility: When called by an orchestrator, todoPath, projectsPath, and OBSIDIAN_VAULT must be provided. When called independently, Section 0 detects the vault and resolves all paths automatically. --- # Obs
data-ai
Transcribes audio files (voice memos, recordings, meetings) into text using a local ASR model (qwen3_asr_rs). Processes all audio in the configured input directory and saves transcripts as text files. Use this skill whenever the user wants to transcribe audio, convert speech to text, process voice memos, or get spoken content into written form — even if they don't use the word "transcribe".
development
Answer questions about "The Geek Way" by Andrew McAfee — including its four core norms (Science, Ownership, Speed, Openness), supporting concepts like Homo ultrasocialis, cultural evolution, the OODA loop, the press secretary brain module, and real-world case studies. Use this skill whenever someone asks about The Geek Way, geek culture in business, McAfee's framework for organizational excellence, or concepts from the book such as ultrasociality, agile iteration, radical candor, or why tech companies outperform traditional firms. Also trigger when users ask how to apply these ideas to their own organization, team, or leadership style.