petermcalister
User21 portable, eval-tested Claude Code skills in two plugins
Categories
Indexed Skills (26)
bsl-semantic
Author and query a Boring-Semantic-Layer (BSL) model for a Postgres table — dimensions, measures, time-dimension, grain, and joins stored as JSON inside PostgreSQL COMMENT ON TABLE / COMMENT ON COLUMN statements, authored at source via migrations (NOT YAML files). Use when adding semantic comments to a table, writing a BSL-comment migration, choosing a table's grain / dimensions / measures / time-dimension / join keys, translating an existing semantic-model source into table comments, or making a table safely queryable by an LLM agent via structured (not free-SQL) queries. Trigger on "BSL", "semantic layer", "semantic comments", "comment migration", "dimensions and measures", "model this table for analytics", "grain of this table", or "make this table queryable by the agent".
dev-sandbox
Use when work should run inside a per-branch Docker dev sandbox - initiating one, checking state, attaching over ssh, executing commands or tests inside the Linux clone, refreshing it from origin, and tearing it down. Trigger on "run this in a sandbox", "spin up a sandbox", "sandbox status", "attach to the sandbox", "test this on Linux", "verify cross-platform", "run the suite in the container", working a second feature branch in parallel, or ANY time an in-sandbox result is about to be trusted - the origin-clone caveat here decides whether that result means anything.
plugin-builder
Use when the user asks to build, create, or modify a Claude Code plugin. Trigger on: "build a plugin", "create a plugin", "add a command", "add a skill", "add an agent", "add a hook", "plugin structure", or when the user wants to extend any plugin with new components. Also trigger when troubleshooting plugin loading, skill discovery, or hook configuration within a plugin context.
pydantic
Data validation and settings management using Python type annotations with Pydantic v2. Use when you need to validate data structures against a schema, create settings/config models, serialize or deserialize data (model_dump / model_validate), write field or model validators, coerce types, or ensure type safety in Python applications.
skill-creator
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy. Also use when checking whether a skill is safe to share or publish ("can I share this skill?", "check it for leaks"), or when making a repo-coupled skill portable — declaring its workspace values as plugin userConfig so it can ship publicly ("parameterise this skill", "make this skill shareable", "decouple it from this repo").
test-driven-development
Use when implementing any feature, bugfix, or behavior change — before writing implementation code. Trigger on: "add a feature", "fix this bug", "implement", "build this function", "refactor", "add retry logic", "handle errors", or any request to write production code. Also trigger when the user describes desired behavior that implies new code ("it should retry 3 times", "validate the email", "parse the CSV and output JSON"). The key signal is: code needs to be written, and tests should come first.
using-git-worktrees
Use when starting feature work that needs isolation from the current workspace, working on multiple branches simultaneously, or before executing an implementation plan that shouldn't affect the main working tree. Trigger on: "create a worktree", "isolated workspace", "work on a branch without switching", "set up a feature branch", "parallel branch work", or when the user wants to implement something without disturbing their current working state.
animated-architecture
Create a fixed-layout, dark-canvas, hand-drawn animated architecture diagram with flowing glow paths and pulsing highlights. Two layouts: three-card (parallel stages) and conveyor (factory-line process with feedback belt). Produces .excalidraw + .png + animated .gif from a JSON spec. Trigger on: "animated architecture diagram", "animated GIF diagram", "hand-drawn architecture animation", "architecture diagram gif", "animated system diagram", "factory-line process graphic", "premium architecture diagram with animation", or when the user wants a dark themed architecture flow with motion (distinct from static excalidraw-diagram, mermaid-diagram, or scroll-animated animated-website).
animated-website
Turn any MP4 video into a luxury scroll-animated website with parallax effects, glass morphism cards, and cinema-quality polish. Generates a single self-contained HTML file. Use this skill when the user says "animated website from this video", "scroll-animated site", "make a website from this video", "parallax site from video", "video to website", "turn this video into a landing page", or any variation of wanting a video turned into an interactive scrolling web experience.
difficult-conversation-prep
Prepare for tough conversations with a structured game plan: opening lines, talking points, responses to likely pushback, non-negotiables, and closing options. Optionally role-play the conversation for practice. Use this skill when the user says "difficult conversation", "tough conversation", "hard talk", "how do I tell them", "I need to have a conversation about", "prep me for", "how to bring up", "negotiate with", "confrontation", "awkward conversation", "I'm dreading talking to", or any variation of needing to prepare for an uncomfortable or high-stakes conversation — whether at work, with family, with Sam, with a contractor, or in any personal situation.
excalidraw-diagram
Use this skill when the user wants to create visual diagrams that argue a point, explain an architecture, or teach a concept. Trigger on: "excalidraw", "visual diagram", "draw an architecture", "whiteboard diagram", "visualize this system", "create a diagram showing", "concept diagram", or any request for editable hand-drawn-style diagrams. Also trigger when the user wants diagrams with code snippets, JSON examples, or evidence artifacts embedded — this skill excels at educational technical diagrams. Generates .excalidraw JSON files with Playwright-based render-and-validate loop.
explainer-graphic
Create visual infographic briefs that explain complex topics using real-world analogies. Generates a complete SVG infographic as a self-contained HTML file with the Apple Swiss design aesthetic. Use this skill when the user says "explainer graphic", "infographic", "explain this visually", "visual explainer", "make a graphic about", "diagram this concept", "visualise how X works", or any variation of wanting a concept turned into a visual explanation. Also trigger for "explain like I'm five but as a picture" or "one-pager for" a concept.
mermaid-diagram
Use this skill ANY time the user wants a diagram, chart, or visual documentation of any kind — flowcharts, sequence diagrams, architecture diagrams, ER diagrams, state machines, gantt charts, class diagrams, deployment diagrams, mindmaps, or any visual representation of systems, processes, or relationships. Trigger on: "diagram", "chart", "visualize", "draw", "map out", "document the flow", "show how X connects to Y", or when the user describes states, transitions, timelines, or service interactions that imply a visual even without saying "diagram". Also trigger when the user mentions "mermaid" by name or asks to convert code to a diagram.
ppt-create
Use when the user wants to create a PowerPoint presentation, build a deck, turn markdown into slides, or assemble diagrams into a .pptx. Triggers on: "make a deck", "create a presentation", "build a pptx", "PowerPoint from these diagrams", "turn this into slides", "present this report".
adhd
Parallel divergent ideation for coding agents. Spawns N isolated branches under different cognitive frames (regulator, biology, speedrunner, 10-year-old, $0 budget), scores, clusters, prunes traps, and deepens top survivors. Use on /adhd, "ADHD mode", brainstorm/ideate intents, or open-ended design, architecture, naming, API/SDK surface, and fuzzy-debugging decisions. Skip for syntax, lookups, bugs with known root cause, or closed phrasing ("quick", "standard", "canonical", "textbook"). Full pre-flight gate is in the skill body.
no-ai-slop
Edit drafts into sharper, more human writing while preserving the writer's personal voice, or detect AI-slop patterns without rewriting. Use when the user wants a draft clearer, more direct, more opinionated, or less AI-sounding, or asks whether writing reads as AI.
sensemaking
Distill raw notes, multiple markdown drafts, research packs, and evolving reports into one coherent canonical source document before producing polished outputs. Use whenever the user says things like "make sense of these notes", "I have several drafts", "turn this into one coherent story", "extract the thesis", "help me refine my thinking", "what's the common ground", or points at topic folders containing rough thoughts, evidence, prior reports, or competing markdown iterations. Also use when the user needs to separate evidence from interpretation, identify missing proof, or build a richer source document for later articles, decks, design docs, or executive summaries. Do NOT use for greenfield solution design with little or no source material (use brainstorming), for a proposal that is already decided and just needs a peer-review write-up, or for distilling a conversation into memory records.
react-slides
Use when authoring React/TSX slide decks with live hot-reload preview, an in-browser inspector, and static HTML export via the bundled open-slide fork. Trigger on "react slides", "live slides", "interactive deck", "open-slide", "live preview deck", "TSX slides", "hot-reload presentation", "slides I can edit in the browser", or "React presentation". Materializes a self-contained Node workspace from the skill's own template + vendored framework tarball (node >=18), so it works on any machine — no repo required.
shared-skill-creator
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy. Also use for A/B evals of a skill — running an A/B test or A/B comparison between two versions of a skill, comparing a changed skill against its previous version or a baseline snapshot, grading eval transcripts, deciding whether a skill change actually improved anything ("did this edit make the skill better?", "A/B this skill", "run an A/B eval", "compare the new version against the old one"), and promoting a winning version to be the new comparator. Also use when checking whether a skill is safe to share or publish ("can I share this skill?", "check it for leaks"), or when making a repo-coupled skill portable — declaring its workspace values as plugin userConfig so it can ship publicly ("parame
brainstorming
Use when the user has an idea that needs design exploration before implementation — when requirements are ambiguous, multiple approaches exist, or the scope isn't clear. Trigger on: "I want to build", "how should we approach", "let's design", "I have an idea for", "what's the best way to", "brainstorm", "think through this with me", or when the user describes a feature at a high level without specifying how to implement it. Do NOT trigger for straightforward implementation tasks where the design is already clear.
behave-creator
Use when writing BDD tests with Python Behave framework - step definitions, feature files, Gherkin syntax, handling tables, and debugging test failures
playwright-behave
Use when writing Playwright browser tests with Python Behave - creating step definitions, page objects, debugging flaky UI tests, or handling browser lifecycle in environment.py
streamlit
When working with Streamlit web apps, data dashboards, ML/AI app UIs, interactive Python visualizations, or building data science applications with Python
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
obsidian-executive-html
Generate standalone, self-contained dark-themed executive HTML pages with a premium editorial aesthetic. USE THIS SKILL whenever the user mentions 'executive,' 'dark theme,' 'dark HTML,' 'obsidian,' 'playbook style,' or any combination like 'executive style dark themed HTML.' Also trigger when the user asks to create an HTML page, dashboard, landing page, strategy document, playbook, scorecard, report, presentation page, portfolio site, cheatsheet page, or any single-file HTML deliverable — especially when the output should look polished, premium, or dark-themed. Even short phrases like 'dark executive page,' 'executive HTML,' 'styled HTML page,' or 'obsidian theme' should trigger this skill. When in doubt about an HTML generation request, use it — it is the default HTML generation style for this workspace.
story-present
Generates structurally sound presentations for high-stakes moments — board meetings, steering committees, investor pitches, conference talks, weekly status, budget escalations. Interviews the user about audience and goal, routes to the right framework (McKinsey Pyramid, pitch deck, issue tree, roadmap, conference narrative, RAID/RAG status, or steering board pack), generates Marp markdown, self-scores against a layered rubric with auto-refine, and renders to HTML/PPTX/DOCX. Use whenever the user needs to present to an audience and cares that the structure holds up — even if they don't say 'slides' or 'deck'. Triggers: 'present to the board', 'prep for the exec review', 'put together a pitch', 'steering update', 'draft a status report deck', 'I'm speaking at a conference', 'budget write-up for leadership', 'help me tell this story', 'conference talk', 'RAID update', 'board pack'. Prefer this over generic slide skills when the structure must do persuasive work, not just visual layout.
Bio shown is the top-scored skill's repo description as a fallback — real GitHub bios land in a future update.