ElliotJLT
@ElliotJLT
Public Skills
obsidian-base-create
by ElliotJLT
Generates Obsidian .base files from natural language descriptions. Translates requests like "show me all active project notes sorted by date" into valid .base YAML with filters, formulas, views, and summaries. Activates on "create base", "make a view", "show me all notes where", "dashboard", or when user wants structured views of their vault.
obsidian-vault-init
by ElliotJLT
Initialises an Obsidian vault for Claude Code workflows. Sets up folder structure, frontmatter conventions, templates, starter .base views, and a CLAUDE.md that describes the vault so future sessions understand it instantly. Activates on "set up obsidian", "init vault", "new vault", or first contact with an Obsidian project that has no CLAUDE.md.
obsidian-vault-search
by ElliotJLT
Searches an Obsidian vault intelligently — combines CLI search, frontmatter filtering, content grep, and wikilink traversal. Goes beyond keyword search to find notes by property, by link, by folder, and by content. Activates on "find in vault", "search vault", "which note has", "where did I write about", or when looking for specific notes in Obsidian.
obsidian-note-create
by ElliotJLT
Creates well-structured Obsidian notes with proper frontmatter, wikilinks, and template adherence. Detects available CLI (official, Yakitrak, or direct file write) and uses the best option. Reads vault conventions from CLAUDE.md before creating. Activates on "create note", "new note", "add to obsidian", or when creating markdown files in an Obsidian vault.
obsidian-daily-driver
by ElliotJLT
Manages daily notes workflow in Obsidian. Appends tasks, session logs, and learnings to today's daily note. Creates the daily note if it doesn't exist. Bridges Claude Code sessions to your daily note so nothing gets lost. Activates on "add to daily", "log this", "daily note", or end of session when daily notes are enabled.
obsidian-session-sync
by ElliotJLT
End-of-session ritual that syncs Claude Code session artifacts to an Obsidian vault. Chains breadcrumbs, retrospective, note creation, and daily driver into a single flow. Creates session notes, updates daily note, and leaves breadcrumbs. Activates on "sync to obsidian", "save session", "end session", or when user wraps up significant work in a vault-connected project.
obsidian-canvas-create
by ElliotJLT
Generates Obsidian .canvas files from intent. Takes a description of what you want to visualise and produces valid JSON Canvas — mind maps, flowcharts, kanban boards, research canvases, project overviews. Activates on "create canvas", "make a board", "visualise", "map out", "mind map", or when spatial organisation of ideas is needed.
youtube-transcript
by ElliotJLT
Extracts YouTube video transcripts and saves them as structured markdown files with metadata and timestamped content. When a user shares a YouTube URL, IMMEDIATELY runs the extraction script, creates a local folder, and saves the transcript. Handles both manual and auto-generated captions.
pair-mode
by ElliotJLT
When activated, Claude becomes a pair programming partner rather than a code-generation tool. Explains reasoning, teaches patterns, asks questions that build understanding, and adjusts depth based on the person's goals. Balances getting work done with building lasting knowledge. Activate with "let's pair on this" or by setting a learning focus at session start.
granola-sync
by ElliotJLT
Syncs Granola meeting notes to Obsidian vault. Reads from Granola's local cache to extract meeting metadata and notes, then creates properly formatted markdown files with frontmatter. Also handles manual transcript formatting when cache doesn't have content.
agent-audit
by ElliotJLT
When reviewing, optimizing, or inheriting an LLM agent, systematically identify what's actually load-bearing vs. cruft. Instruments usage, ablates components, and strips the agent to minimum viable form. Answers: "What can we remove without degrading quality?" The goal is the leanest agent that still works.
map-reduce
by ElliotJLT
Orchestration pattern for large-scale processing where work is distributed, processed independently, then combined. Map phase splits and processes, Reduce phase aggregates results. Use for codebase-wide analysis, bulk transformations, or any task where "do X to everything, then summarize."
skill-gate
by ElliotJLT
Before starting any significant task, force explicit evaluation of available skills. For each potentially relevant skill, state YES/NO with reasoning. Only proceed to implementation after skills have been consciously evaluated and activated. Prevents the ~50% "coin flip" activation rate that occurs when skills are passively available but not deliberately considered.
pipeline
by ElliotJLT
Orchestration pattern for sequential, dependent tasks. When work must flow through stages where each stage depends on the previous (design → implement → test → review), structure as a pipeline with explicit handoffs. Each stage completes before the next begins.
pre-mortem
by ElliotJLT
Before starting ANY significant task (feature build, refactor, integration, migration, or architectural change), first imagine the project has failed. Generate 3-5 specific failure scenarios, assess risk levels, identify mitigations, then adjust the implementation plan to address high-risk items FIRST. Do not start coding until the pre-mortem is acknowledged.
skill-creator
by ElliotJLT
Meta-skill for creating well-structured skills with proper progressive disclosure. When user wants to create a new skill, guide them through the process: purpose, triggers, instructions, guardrails, examples. Ensures skills follow the repository conventions and are immediately usable.
prove-it
by ElliotJLT
Before declaring any task complete, actually verify the outcome. Run the code. Test the fix. Check the output. Claude's training optimizes for plausible-looking output, not verified-correct output. This skill forces the verification step that doesn't come naturally. No victory laps without proof.
stay-in-lane
by ElliotJLT
Before making changes, verifies they match what was actually requested. Activates when about to modify files, add features, or refactor code. Catches scope creep before it happens - no "while I'm here" improvements.
rubber-duck
by ElliotJLT
When a user is stuck, frustrated, or describing a problem vaguely, do NOT immediately suggest solutions. First, force structured problem articulation through targeted questions: What did you expect? What happened instead? What have you tried? Only after the problem is clearly defined, propose solutions.
fan-out
by ElliotJLT
Orchestration pattern for parallelizable tasks. When facing work that can be split into independent subtasks (research multiple topics, analyze multiple files, test multiple scenarios), spawn parallel agents and aggregate results. Use when subtasks have no dependencies on each other.
skill-forge
by ElliotJLT
When Claude discovers a non-obvious solution, unusual pattern, or hard-won insight during a session, automatically forge it into a new skill. Don't just note the learning - create the actual skill file so future sessions benefit immediately. This is the flywheel: work → discovery → skill → smarter future sessions → repeat.
keep-it-simple
by ElliotJLT
Before adding abstraction, asks "do we need this now?" Activates when proposing factories, abstract classes, config-driven behavior, or "for future extensibility." Resists over-engineering. Three similar lines are better than a premature abstraction.
split-decision
by ElliotJLT
When facing architectural decisions, technology choices, or strategic trade-offs, present options as a structured comparison and require explicit trade-off acknowledgment before proceeding. Triggers on words like "should we", "which approach", "what's the best way", or when Claude is about to recommend one approach over alternatives. Never present a single recommendation without showing viable alternatives first.
loose-ends
by ElliotJLT
Before declaring work complete, checks for loose ends: unused imports, TODO comments created, missing tests, stale references, incomplete error handling. Activates after implementing features or fixes. The cleanup that always gets skipped.