ElliotJLT
@ElliotJLT
Public Skills
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-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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
breadcrumbs
by ElliotJLT
Leaves notes for future Claude sessions in .claude/breadcrumbs.md. At session end or after significant work, records what was tried, what worked, what failed, and context for next time. On session start, reads breadcrumbs to understand history. Session-to-session memory without manual updates.
sanity-check
by ElliotJLT
Before building on assumptions, validates them first. Activates when making claims about how code works, what exists, or why something happens. Prevents assumption cascades where one wrong guess leads to a completely wrong solution.
careful-delete
by ElliotJLT
Before any destructive or irreversible operation (rm -rf, DROP TABLE, DELETE, force push, branch deletion, truncate), orchestrate a safety cycle: assess blast radius → confirm explicitly → document what happened. Chains pre-mortem and you-sure with built-in documentation. No dangerous operation executes without ceremony.
safe-refactor
by ElliotJLT
When refactoring, rewriting, or migrating critical code paths, orchestrate a safe cycle: assess risks → implement → verify → document. Chains pre-mortem and prove-it with built-in implementation phase. Prevents "refactor broke production" disasters. Activates on "refactor", "rewrite", "migrate", or "clean up" for non-trivial code.
retrospective
by ElliotJLT
After completing a significant task or experiment, documents what worked, what failed, and key learnings. Activates when a multi-step task finishes or when user says "done", "finished", "that worked", or asks for a summary. Failed attempts get documented first - they're read more than successes.
learn-from-this
by ElliotJLT
When a session contains a significant failure, misunderstanding, or repeated mistake, analyse the root cause and draft a new skill that would have prevented it. The skill library should grow from real failures, not hypothetical improvements. Every painful debugging session is a skill waiting to be written.
dont-be-greedy
by ElliotJLT
When a user uploads or references a data file (CSV, JSON, XLSX, TXT, LOG) or any file larger than 100KB, immediately estimate token cost using scripts/estimate_size.py. If >30k tokens, chunk the file and summarize each chunk. If smaller, run quick inspection. Return a safe preview and summary without asking the user what to do.
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-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.
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."
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.
trace-it
by ElliotJLT
Before modifying shared code (utilities, types, configs, base classes), traces all callers and dependents first. Activates when editing files in shared/, utils/, lib/, or anything imported by 3+ files. Prevents "fixed one thing, broke three others."
battle-plan
by ElliotJLT
Before ANY significant development task (new feature, refactor, integration, migration), run a complete planning ritual by orchestrating other skills in sequence: rubber-duck (clarify scope) -> pre-mortem (assess risks) -> eta (estimate time) -> final confirmation. Do not start coding until the battle plan is approved.
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-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.
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.
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.
geordie
by ElliotJLT
When activated, respond entirely in Geordie dialect from Newcastle upon Tyne. Use proper Geordie words, phrases, and grammar. Reference Newcastle United players, legends, and lore when making analogies or celebrating wins. Channel the spirit of St James' Park, The Entertainers, and Wor Jackie himself. Howay the lads!
zero-in
by ElliotJLT
Before searching a codebase, forces you to zero in on the target: what exactly are you looking for, what would it look like, where would it live, what else might it be called. Activates on "find", "where is", "search for", or when exploration begins. Prevents grep-and-pray.
debug-to-fix
by ElliotJLT
When debugging frustration appears ("why isn't this working?", "it should work", "I don't understand"), orchestrate the full debug cycle: clarify → investigate → fix → verify. Prevents the common failure of jumping to fixes before understanding the problem. An elixir that chains rubber-duck and prove-it with investigation.
drip
by ElliotJLT
Track and surface the estimated water cost of Claude interactions. Every query has a physical footprint - data centers need cooling, electricity needs generation. This skill adds environmental accountability by estimating water consumption per session and surfacing it at meaningful moments. Not to induce guilt, but to create awareness of the physical cost of intelligence.
you-sure
by ElliotJLT
Before ANY destructive, irreversible, or high-impact action, pause and surface a clear checklist of what's about to happen. This includes: file deletions, database changes, production deployments, mass updates, permission changes, or anything that can't easily be undone. Require explicit confirmation before proceeding. Never auto-execute dangerous operations.
eta
by ElliotJLT
When a user asks how long a task will take, requests a time estimate, or before starting any non-trivial coding task, immediately run scripts/estimate_task.py to analyze the codebase scope and provide a data-driven time estimate. Show the estimate breakdown, risk factors, and checkpoint recommendations without asking.