skills/letterly-automation/SKILL.md
Full Letterly pipeline - export CSV, process magic notes into Obsidian markdown, semantically link them, and move to Transcriptions. Use when syncing or importing new Letterly magic notes.
npx skillsauth add psycho-baller/ai-agents-config letterly-automationInstall 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 provides a complete workflow for importing and processing your voice transcriptions from Letterly into your Obsidian vault.
This master skill orchestrates the following independent sub-skills:
letterly-export: Uses a Playwright browser agent to log in and download the latest CSV export from web.letterly.app.letterly-process: Extracts only notes marked as "magic" in the CSV, creates markdown files with custom frontmatter, preserves the CSV tags column as letterly_tags, and places them in unprocessed/.generate-metadata: Agent-driven step that reads each new transcription, uses letterly_tags as source context when present, generates structured top-level frontmatter metadata, and uses the Python validator/merger to enforce the schema.obsidian-semantic-linker: Analyzes metadata-ready notes and links them to existing vault content using the local semantic embedding database (.smart-env/).My Outputs/Transcriptions/ and leaves notes with missing or invalid metadata in unprocessed/.Delivery is based on valid generated metadata, not on the presence of ## Related Notes.
The automation script can validate metadata, but it cannot generate semantic metadata by itself because no AI API is called from Python. When running this as an agent workflow, run the generate-metadata skill after letterly-process creates markdown files and before semantic linking/delivery.
Letterly tags are preserved before this gate as letterly_tags in frontmatter. They are context for the agent-generated metadata, not part of the validator-managed metadata schema.
To trigger the full workflow, simply tell the model: "Process new Letterly transcriptions" or "Sync my Letterly magic notes".
If you need to run it manually from the terminal:
# Setup (First time only)
uv venv .venv --python 3.12
uv pip install -r scripts/requirements.txt
.venv/bin/playwright install chromium
# Run
.venv/bin/python scripts/workflow.py
For the agent-driven metadata workflow, use the two-phase mode:
# 1. Export/process Letterly notes into unprocessed/
.venv/bin/python scripts/workflow.py --mode prepare
# 2. Run generate-metadata on the listed files
# 3. Validate/link/deliver metadata-ready notes
.venv/bin/python scripts/workflow.py --mode finish
--mode full is still available, but it can only deliver files that already have valid generated metadata.
.smart-env/ exists.unprocessed/ instead of moving to My Outputs/Transcriptions/.tools
Pre-task clarity ritual for Rami. Surfaces real intention, maps work to his pillars, and produces a Session Brief. Use when Rami is about to start a task or plan a work session.
testing
Find and retrieve notes from Rami's Obsidian vault by topic or theme using semantic search against Smart Connections embeddings. Use when asked to find notes about a specific subject, retrieve relevant vault content, or surface what Rami has written about a topic.
testing
Update living Obsidian pattern files from metadata-enriched transcriptions. Use when asked to populate or update pattern files for communication flaws, beliefs, fears, principles, or people/projects mentioned.
testing
Generate evidence-backed personal principles from markdown notes, reflections, and transcripts. Use when extracting life principles, decision rules, or lessons from journal entries and reflections.