
Extract transcript from a YouTube video as clean readable text. Use when user shares a youtube.com or youtu.be link and wants the transcript, content summary, or to read what was said.
Extract content from GitHub Discussion threads for wiki ingestion. Uses gh CLI GraphQL API, authenticated via gh auth.
Extract content from GitHub gists for wiki ingestion. Uses raw URL fetch, no auth required.
Extract post and comments from Reddit threads for wiki ingestion. Appends .json to any Reddit URL, no auth required for public subreddits.
Extract full text from X/Twitter posts for wiki ingestion. Uses FXTwitter API, no auth required.
Extract transcript from YouTube videos for wiki ingestion. Lazy-installs yt-dlp on first use.
Process pasted text, notes, or local markdown files for wiki ingestion. No external dependencies.
First-time setup for the llm-wiki system. Checks tools, skills, and Obsidian. Use when setting up llm-wiki on a new machine.
--- name: slides description: Generate Marp presentation slide decks from wiki content. Use when user wants to create slides, a presentation, a deck, or export wiki knowledge as a talk. argument-hint: "<topic>" [--vault <name>] disable-model-invocation: true allowed-tools: Bash(which *) Bash(npx *) Bash(pnpm *) Bash(git *) Read Write Edit Glob Grep --- # Generate Slides Create Marp-format presentation slide decks from wiki content. ## Usage ``` /slides "LLM Knowledge Bases" --vault my-resear
Show status of all LLM Wiki vaults — page counts, source counts, last activity, and git status. Use when user wants to see vault status, list vaults, or check wiki health.
Archive a completed vault by moving it out of the active vaults/ directory. Optionally promote reusable knowledge first. Use when user wants to archive, shelve, or finish a project vault.
Create a new LLM Wiki vault with proper directory structure, index, log, and conventions. Use when user wants to create a vault, start a new wiki, or set up a new knowledge base.
Ingest a source into an LLM Wiki vault. Detects source type (URL, PDF, YouTube, tweet, gist, text), extracts content, creates wiki pages, updates index and log. Use when user wants to ingest, add, import, or process a source into their wiki.
Extract text from Office documents (Word, Excel, PowerPoint) for wiki ingestion. Lazy-installs pandoc on first use.
Extract text content from PDF files for wiki ingestion. Lazy-installs poppler on first use.
Read full text of an X/Twitter post from a URL. Use when user shares an x.com or twitter.com link, asks to read a tweet, or needs tweet content extracted.
Extract readable content from a web URL for wiki ingestion. Handles article extraction, HTML-to-markdown conversion.
Ingest local video files (meetings, screen recordings, presentations). Transcribes audio, extracts keyframes, creates structured wiki pages.
Clone a GitHub repo into the .reference/ folder for study and reference. Use when user wants to study a repo, clone for reference, look at someone's code, or pull down a project to learn from.
Page type templates and frontmatter conventions for LLM Wiki pages. Reference skill loaded by ingest, query, and lint skills to ensure consistent wiki structure.
Import an existing Obsidian vault, markdown folder, or git repo as an llm-wiki vault. Moves content into vaults/, adds missing structure (index, log, CLAUDE.md, frontmatter). Use when user wants to import, adopt, migrate, or bring in an existing knowledge base.
--- name: lint description: Health-check an LLM Wiki vault for issues — orphan pages, missing links, contradictions, stale content, frontmatter problems. Use when user wants to lint, check, audit, or health-check their wiki. argument-hint: [--vault <name>] [--fix] disable-model-invocation: true allowed-tools: Bash(git *) Read Write Edit Glob Grep --- # Lint Wiki Health-check a vault's wiki for structural and content issues. ## Usage ``` /lint --vault my-research /lint --vault my-research --f
Extract article content from dev.to posts for wiki ingestion. Uses dev.to public API, no auth required.
Graduate reusable knowledge from one vault to another (typically project vault to meta). Identifies cross-cutting learnings and files them into the target vault. Use when user wants to promote, graduate, transfer, or share knowledge between vaults.
--- name: query description: Ask questions against an LLM Wiki vault and get synthesized answers with citations. Optionally save answers back into the wiki. Use when user wants to query, ask, search, or explore their knowledge base. argument-hint: "<question>" [--vault <name>] [--save] disable-model-invocation: true allowed-tools: Bash(git *) Read Write Edit Glob Grep --- # Query Wiki Ask questions against a vault's wiki and get synthesized answers with citations. ## Usage ``` /query "What d
Read raw content of a GitHub gist from a URL or gist ID. Use when user shares a gist.github.com link, asks to read a gist, or references a gist ID.
--- name: search description: Search wiki pages using qmd (hybrid BM25/vector search) or grep fallback. Use when user wants to search, find, or look up content across their wiki vault. argument-hint: "<query>" [--vault <name>] disable-model-invocation: true allowed-tools: Bash(which *) Bash(brew *) Bash(cargo *) Bash(qmd *) Bash(grep *) Read Glob Grep --- # Search Wiki Search vault wiki pages using qmd (hybrid BM25/vector search with LLM re-ranking) or grep fallback. ## Usage ``` /search "de
Extract Hacker News threads (post + comments) for wiki ingestion. Uses Algolia HN API, no auth required.
Ingest LinkedIn posts into the wiki. Supports pasted text or cookie-based auth for URL fetching.
--- name: security-audit description: Pre-publish safety check for a git repo. Scans for secrets/tokens, PII, work identifiers, committed .env files, and risky git history. Use before making a private repo public, before pushing to a new remote, or before sharing a snapshot/zip. category: quality argument-hint: [path] [--quick] [--history-only] [--no-personal] allowed-tools: Bash Read Write Glob Grep --- # Security Audit Catches the things you'd be embarrassed (or fired) to ship publicly: API
--- name: close-session description: End-of-session durability checklist that makes clearing context safe. Runs mechanical checks (uncommitted changes, unpushed commits, open PRs, chat-only decisions, new domain terms, ROADMAP staleness, memory entries) and either resolves each inline or queues it as a GitHub issue, ADR, wiki page, or memory note. The point is to walk away knowing nothing important lives only in this conversation. Triggers on "close session", "close the session", "wrap up the se
--- name: jira description: Create, read, update, comment on, and transition Jira tickets via the Atlassian Remote MCP server. Defaults to the DAFO (Dataforce) project on the Simplicity Labs site. Use when user wants to file a Jira ticket, move a DAFO ticket between board columns, list the board, assign work, or comment on a ticket. Pairs with /ro:confluence and /ro:jira-to-gh. category: project-management argument-hint: [create <Bug|Story|Task|Feature> "title" [--body "..."] [--assignee <accoun
When generating wiki pages, READMEs, POC docs, integration write-ups, architecture notes, design docs, or any artefact whose purpose is for the user to *understand* a topic — not just record information. Apply BEFORE writing the artefact, then validate against the checklist before saving. The "outsource thinking, not understanding" principle.
Turn a feature or set of screens into a high-quality prompt for Claude Design (claude.ai/design, Anthropic Labs), plus the human-checkpoint GitHub issue that carries it. Use when creating a design-input issue, when the user says "generate a Claude Design prompt", "write a Claude Design brief", "make a design ticket", or when an agent-native flow needs a UI designed before slices can build. Bakes in what Claude Design actually needs (the goal/layout/content/audience brief, repo linking, high-fidelity mode, chat-vs-comments refinement, handoff to Claude Code). Sibling of generate-design-brief (general) and frontend-design.
--- name: compare-codebase-to-spec description: Audit drift between a spec and the actual codebase. Walks each requirement, ADR, milestone, and verification entry from the spec, checks the code, and emits an audit report with per-item status (✅ implemented, ⚠️ partial, ❌ missing, ➕ extra) plus a drift score. Optional PDF render. Use after each phase, before re-speccing, or when the build feels off-track. category: development argument-hint: [--pdf] [--repo <path>] <spec-path> allowed-tools: Read
--- name: compare-specs description: Diff two specs produced by /generate-spec. Walks the 10-section template, builds a section-by-section change table, a mermaid sankey of additions/removals/changes, and a drift score. Optional PDF render. Use to compare initial vs post-phase-1 spec, or two competing drafts before commit. category: development argument-hint: [--pdf] <spec-a-path> <spec-b-path> allowed-tools: Read Write Edit Glob Grep Bash content-pipeline: - pipeline:input - platform:agnost
Send a push notification to Ronan's phone via the Pushover API. Use at the END of an AFK / night-shift / Ralph-loop / unattended /loop run so he knows the agent has stopped and is ready for the next thing. Do NOT fire this for ordinary interactive responses, only when the user has signalled they are away from keyboard. Reads PUSHOVER_APP_TOKEN and PUSHOVER_USER_KEY from ~/.claude/.env. Triggers on "AFK", "go AFK", "night shift", "kick off night shift", "run night shift", "/ro:matt-pocock-coding-workflow" in night-shift mode, "/ro:ralph" in night-shift mode, and any "/loop" with no interval. Also use whenever the user explicitly says "ping me", "notify me", "push me when done", "let me know when you're finished".
--- name: workos description: Wire WorkOS AuthKit into a TanStack Start app on Cloudflare Workers, install, env config, sign-in + callback routes, sealed-session cookie, server auth helper, Drizzle shadow user table, organisations + Admin Portal hooks, optional SAML SSO. Use when user wants to add WorkOS auth, AuthKit, hosted login, organisations, B2B login, SSO, or social login to a TanStack Start + Drizzle + D1 app and does not need to own the user table. category: auth argument-hint: [install
Lightweight browser automation via custom scripts. Use when Playwright MCP or Claude-in-Chrome is unavailable, or for building reusable browser check flows.
Extract cookies from Firefox for authenticated web scraping. Reads cookies.sqlite for a specific domain. macOS only.
Browser-based verification using Playwright MCP or Claude-in-Chrome. Navigate pages, interact, screenshot, check console errors. Use when you need to check a page, verify UI, take screenshots, or test browser interactions.
--- name: share-assets description: From one source brand mark, generate the full set of identity + share assets (favicon, app icons, PWA manifest, static OG image, Twitter card, dynamic OG route, JSON-LD) and wire them into a TanStack Start app's head + public/. Use when starting a new app or when an existing app's link previews look broken on X / WhatsApp / iMessage / LinkedIn / Slack. category: development argument-hint: [--source <path-to-svg>] [--no-dynamic-og] [--brand-color <hex>] <app-na
Ronan's default working norms — commit cadence, checkpointing, asking for decisions, definition-of-done. Reference skill that should inform every coding session. Load at session start alongside coding-principles.
Extract and maintain a DDD-style ubiquitous language glossary for a project. Use when user wants to define domain terms, build a glossary, check terminology consistency, or onboard with domain language.
--- name: spec-to-repo description: Graduate an accepted vault spec into a fresh repo. Reads the spec, scaffolds the repo (delegates to a stack skill or stamps a minimal layout), copies the spec into docs/specs/, derives .ralph/prd.json from the User Stories section, and cross-links the vault entry. Closes the loop between research-in-vault and implementation-in-repo. Use when an accepted vault-genesis spec is ready to become code. category: development argument-hint: [--scaffold tanstack|minima
Wrap the abair.ie Irish-language speech stack (Trinity College Dublin) — text-to-speech, speech-to-text, and chat. Four subcommands (tts, stt, chat, launch) over one shared kit (openapi.yaml + scalar.html + bruno/). Use for any Irish (Gaeilge) speech work; sibling to /ro:tts-elevenlabs and /ro:transcribe (neither has real Irish coverage).
Mix multiple audio tracks (voice, music, SFX) into a single output file via ffmpeg. Layer narration over background music, add sound effects at timestamps, adjust volumes.
Create a new Claude Code skill with proper SKILL.md structure, frontmatter, and best practices. Use when user wants to create, write, build, or add a new skill.
One-time setup of the Cloudflare agent surface for Claude Code on a fresh machine. Wires the cloudflare-api MCP (Code Mode, bearer token from .env), the bundled cloudflare/skills plugin (skills + slash commands + 4 product MCPs), and OAuths the cloudflare-observability MCP for log queries. Idempotent. Use when onboarding a new machine, when cloudflare-api MCP is missing, or after running /ro:cloudflare-setup for the first time.
Post and manage articles on dev.to (Forem) via the official API. Create drafts from markdown files, publish or unpublish, list and update existing posts. Use when user wants to publish a dev.to post, draft a dev.to article, fetch their dev.to profile, or sync a markdown file to dev.to.
Manage your LinkedIn via the official API — create posts, fetch your profile, and draft copy for bio/experience edits. Use when user wants to post to LinkedIn, share an update, check their LinkedIn identity, or revise their profile/headline/about.
Generate background music from text prompts via ElevenLabs Music API. Outputs MP3 files up to 10 minutes. Use for video soundtracks, podcast intros, ambient backgrounds.
Transcribe audio or video files to text via OpenAI Whisper API or local whisper-cpp. Standalone utility — also used by ingest-video for meeting recordings and screen captures.
--- name: app-polish description: Post-ship launch-ready polish audit. Walks a freshly-shipped web app against the ten-point launch-polish checklist (analytics, stats surface, OG images, PWA, SEO, keyboard, accessibility, visual regression, API docs, craft signals) and routes to the dedicated sub-skill for each gap. Use right after `/ro:cf-ship` / `/ro:fly-deploy` / `/ro:gh-ship`, or before a Product Hunt / Show HN launch. category: quality-review argument-hint: [--app <dir>] [--only <checks>] [
--- name: generate-spec description: Generate a spec-driven-development spec for a feature or whole product. Two modes, fresh (interview-driven greenfield, vault-first when no repo exists) or from-codebase (analyses an existing repo). Outputs versioned markdown with EARS-format requirements, mermaid diagrams, and inline ADRs. Specs are born in a vault and graduate into a repo's docs/specs/ once implementation starts. Optional PDF render. Use when starting a new project, capturing the current sta
--- name: accessibility-ci description: Ship accessibility as a CI gate, not a hope. Wires axe-core unit tests (jest-axe or vitest-axe), @axe-core/playwright e2e, Lighthouse CI, aria-live regions for async state, and focus management in modals. Use right after `/ro:cf-ship` as part of `/ro:app-polish` check #7. category: quality-review argument-hint: [--runner vitest|jest] [--lighthouse] [--skip-e2e] allowed-tools: Bash(*) Read Write Edit Glob Grep content-pipeline: - pipeline:review - platf
--- name: onboarding-flow description: Scaffold a gamified onboarding checklist for a TanStack Start + Clerk + D1 app. Generates the D1 state model, server-event-driven completion handlers, a Home-page checklist component, and a PostHog activation funnel. Mirrors the "persistent dashboard widget + event-driven auto-tick" pattern documented in the llm-wiki canon. Use when starting a new app or when an existing app's empty Home dashboard needs to become an activation surface. category: development
--- name: og-image-dynamic description: Generate per-URL Open Graph images at runtime so every shared link unfurls with a distinct, branded preview card. Supports Cloudflare Workers (Satori), Vercel Edge (@vercel/og), and TanStack Start static builds. Use after shipping any app that gets shared on X/Reddit/LinkedIn/WhatsApp. category: quality-review argument-hint: [--runtime cf|vercel|node] [--route /api/og] [--template <file>] [--test] allowed-tools: Bash(*) Read Write Edit Glob Grep content-pi
Read LinkedIn profile data (bio, headline, experience, education, skills, contacts) via the unofficial Voyager API. Uses your browser session cookies — NO password. Sibling to the official-API `linkedin` skill. Use when user wants to see or export their own (or a public) profile content not available in the official API.
Scan LinkedIn posts for a URL or pasted content, or fetch recent posts by a person/company. Uses cookie auth via browser-cookies (Firefox/Brave/Chrome/Arc) when available, otherwise pasted-text fallback. Returns findings without vault persistence. Sibling to llm-wiki/ingest-linkedin.
Wire Nango cloud into a TanStack Start + Cloudflare Workers app for OAuth + token-refresh + proxy across third-party APIs. Install, env config, server SDK, Connect UI session, Shopify recipe, Google Ads recipe, webhook verification. Use when user wants to add Nango, wire integrations, connect Shopify, Shopify OAuth, Google Ads OAuth, OAuth broker, integration platform, or connect a merchant's store to a TanStack Start + D1 + WorkOS app.
--- name: drain-pr-queue description: Merge a stack of open PRs sequentially without babysitting each one. Discovers (or accepts) a list of PRs, arms auto-merge on all of them, then update-branches in a loop as each one lands so the next becomes mergeable. Handles BEHIND, DIRTY, and CI-failure cases. Use when you have several PRs ready to ship and don't want to merge them one at a time. Sibling to /ro:gh-ship (that one drives a single feature; this one drains a queue). category: development argu
--- name: pwa-install description: Turn a web app into an installable Progressive Web App. Wires a web manifest, minimal service worker (network-first for HTML, cache-first for assets), icons, and an install-prompt component. Use for daily-return utilities, dashboards, and any app where "add to home screen" replaces the need for an email list. category: quality-review argument-hint: [--runtime cf|vercel|node] [--name <app>] [--theme <hex>] [--no-sw] [--offline] allowed-tools: Bash(*) Read Write
Scan Hacker News for trends, hot threads, or specific topics. Returns findings — titles, points, comment highlights, URLs — without writing anywhere. Use when you want to see what's trending, research a topic, or pull a specific thread. Sibling to llm-wiki/ingest-hackernews (that one persists to a vault; this one just returns findings).
--- name: visual-regression description: Wire Playwright screenshot baselines with CI PR-diff comments to protect against silent CSS regressions. Composes with `/ro:playwright-check` (browser tool) and `/ro:visual-diff` (per-image diff). Use after polish work is done and you want to keep it intact. category: quality-review argument-hint: [--routes <comma-list>] [--viewports <list>] [--update-baselines] allowed-tools: Bash(*) Read Write Edit Glob Grep content-pipeline: - pipeline:review - pla
--- name: stripe description: Wire Stripe payments into a TanStack Start + Cloudflare Workers app. Install, env config, Workers-friendly webhook signature verification (constructEventAsync), Drizzle subscriptions + events tables, WorkOS-to-Stripe customer linking, Checkout flow (subscription + one-time), customer portal, EU defaults (iDEAL + SEPA + SOFORT + Stripe Tax + B2B VAT reverse charge), local stripe listen + trigger. Use when user wants to add Stripe, wire payments, checkout, subscriptio
--- name: trend-scan description: Two modes — (1) discover what's trending right now across Hacker News, Reddit, YouTube, Product Hunt (no topic needed), returning a picklist of top N themes; (2) deep-dive a specific topic across the same sources and return a ranked brief. Flow: discover → user picks → deep-dive. YouTube hits matching a "load-bearing" heuristic get transcript snippets inlined by default. category: research argument-hint: [topic] [--discover] [--sources hn,reddit,youtube,producth
Scan YouTube for videos by topic (search), channel (uploads feed), or URL (metadata). Returns titles, view counts, channel, upload date. Optionally auto-inlines a trimmed transcript snippet for high-signal hits via `--rich auto`. Pair with `/ro:video-summarize` for a full deep dive.
Scan Reddit for hot threads in a subreddit, topic search, or a single-thread fetch. Uses the public .json endpoint (no auth). Returns findings without vault persistence. Sibling to llm-wiki/ingest-reddit.
--- name: posthog description: Interact with PostHog (EU region) — install SDKs, query events, manage feature flags, run experiments, inspect insights. Use when user wants to track events, add analytics, create/toggle a feature flag, set up an A/B test, query product data, or wire PostHog into a TanStack Start app. category: analytics argument-hint: [install | flag <list|get|create|toggle> | experiment <list|get> | query <hogql> | event <recent> | render-debug-snippet] [--project <id>] [--region
Alias for /ro:planner-worker. Multi-agent coding swarm — planner + worker + merger over git worktrees on the Max plan. When the user types /ro:swarm, /swarm, "kick off the swarm", "run the swarm", "swarm coding", or anything matching "swarm + code/PR/PRD", redirect to /ro:planner-worker.
Grill-mode plus lazy documentation. Runs the grill-me interrogation and, as decisions are reached, writes them into CONTEXT.md (domain language) and docs/adr/000N-*.md (hard-to-reverse decisions) so a fresh agent can pick up cold without re-grilling the user. Triggers on "grill with docs", "/grill" in agent-native repos, "grill and document", "interview me and write it down", or when the user wants the grill output captured persistently rather than living in the chat transcript.
--- name: harden-npm description: Apply npm/pnpm/bun supply-chain hardening to a repo. Pins packageManager, writes per-repo .npmrc with minimum-release-age + ignore-scripts, audits GitHub Actions for pull_request_target, installs husky pre-push hook if missing, optionally runs pnpm approve-builds. Idempotent and safe to re-run. Auto-invoked by /ro:new-tanstack-app and /ro:new-app. Use after any /ro:migrate-* or whenever a repo needs supply-chain controls brought up to canon. category: quality ar
--- name: new-astro-app description: Orchestrate scaffolding a new Astro app on the canonical stack (Astro 5 + `output: 'server'` on @astrojs/cloudflare + Sentry EU + PostHog EU + pnpm). For marketing/landing/portfolio sites where most pages are static and only a thin runtime exists for /api routes. Sister skill to /ro:new-tanstack-app — Astro path of the stack-decision-map's "App shape → Marketing site / static-leaning" leaf. Dispatches to /ro:sentry, /ro:posthog, /ro:cloudflare-dns, /ro:cf-shi
--- name: completion-report description: Render a browsable HTML completion report at the tail of any autonomous coding run (Ralph, planner-worker, agentic-e2e-flow) or on demand for any git range. Shows per-story / per-PR cards with CI status, file-change stats, unified diffs, and a per-file rollback command. Inspired by ruizrica/agent-pi's completion-report extension. Fires automatically before Pushover when invoked from Ralph or planner-worker (the ping links to the report). Manual trigger vi
--- name: code-review description: CodeRabbit-style PR review. Reads a GitHub PR, produces a walkthrough plus inline findings tagged by severity (critical / major / minor / question / praise) in a kind-but-direct voice. Default mode writes a local markdown report under `.code-review/`; `--post` publishes the review to GitHub as RoBot-branded inline comments via one atomic API call. Use when user wants to review a PR, run a code review, give feedback on a teammate's branch, or get a second-opinio
--- name: agentic-e2e-flow description: High-level end-to-end orchestrator for autonomous feature delivery. Sequences swarm-research → grill-with-docs → write-a-prd → slice-into-issues → swarm-or-ralph → gh-ship. Defers to /ro:repo-mode for output target — `personal` repos publish PRD and slices as GitHub issues using Matt Pocock's agent-native repo pattern; `work` repos run the same pipeline fully local in gitignored `.ralph/` so nothing leaks to the work GH/Jira/ADO project. Use when the user
Interact with Sentry (EU region) — install SDK, triage issues, manage releases, upload source maps, CRUD alerts and projects. Use when user wants to track errors, add error monitoring, see recent issues, create a release, upload source maps, wire Sentry into an app, or manage alerts.
--- name: stacked-prs description: Rebase a stacked feature branch after its parent PR has been squash-merged. Use when you have a branch B that was built on top of branch A, and A just landed on main (squash-merged). Runs git fetch + git rebase onto main + git push --force-with-lease, so B's diff no longer includes A's flattened commits. category: development argument-hint: [--onto <branch>] [--no-push] [--dry-run] allowed-tools: Bash(git *) --- # Stacked PRs: rebase-after-parent-merges One c
--- name: new-mcp-server description: Scaffold a new MCP server (Model Context Protocol). Two transports — hosted (Cloudflare Workers via McpAgent) and local (stdio). Wires tools, resources, prompts with Zod schemas, optional WorkOS auth for hosted multi-tenant servers, optional /.well-known/mcp/server-card.json for the in-flight server-card spec, and the MCP Inspector for local dev. Use when user wants to create an MCP server, new MCP server, scaffold an MCP server, build an MCP server, MCP ser
Style rules for writing human-sounding copy. Apply whenever producing user-facing text (READMEs, landing pages, docs, marketing, tweets, UI microcopy, PR descriptions, release notes). The core goal is to avoid the tells that make writing look AI-generated.
--- name: uptimerobot description: Manage UptimeRobot monitors — create, list, pause, delete HTTP/keyword/port/ping monitors; set up alert contacts; fetch uptime stats. Use when user wants to add uptime monitoring, create a status check, pause a monitor, see uptime %, or wire a new deployed app into external monitoring. category: observability argument-hint: [monitor <list|create|pause|resume|delete>] [contact <list|create>] [account] [--readonly] allowed-tools: Bash(curl *) Bash(jq *) Read Writ
AI-powered web research using the Perplexity API. Searches the live web and returns sourced answers with citations. Use when user wants to research, look up, search the web, or find current information.
Text-to-speech via ElevenLabs API. Converts text or a script file to high-quality MP3. Standalone utility — also called by generate-podcast and generate-video for voiceover.
Interactive onboarding wizard for environment setup. Guides through plugin installation, IDE integration, MCP servers, and API tokens. Use when user wants to set up, onboard, configure environment, or install tools.
Compare images for visual correctness using pixel diff and Claude vision. Use for screenshot comparison, visual regressions, design-match checks (current UI vs a reference image), or per-component diffs against a design.
--- name: list-draft-prds description: List open GitHub issues labelled `prd:draft` in the current repo — the agent-native repo's "ideas inbox". Draft PRDs are NEVER auto-picked-up by Ralph, planner-worker, agentic-e2e-flow, or night-shift; they sit waiting to be grilled into real PRDs (Pocock 7-section template) before the label is swapped to the repo's gate label (`ready-for-agent` by default, `Sandcastle` / `swarm` per project). Use when you want to see what ideas are sitting, triage your dra
Create distinctive, production-grade frontend interfaces with high design quality. Use when building web components, pages, HTML tools, or applications. Generates creative, polished code that avoids generic AI aesthetics.
--- name: add-mcp-to-app description: Expose an existing TanStack Start + Cloudflare Workers app as an MCP server that MCP-speaking agents (Claude Code, Codex, Cursor, anything that talks the Model Context Protocol) can install in one command. Adds the OAuth 2.1 authorization-server routes (.well-known discovery, /oauth/authorize with auth-code + PKCE, /oauth/token, /oauth/register for Dynamic Client Registration), an /api/mcp handler that accepts both Bearer-token PATs and OAuth access tokens,
Build, debug, and tune Vercel AI SDK (v6) code — Core primitives (streamText, generateText, generateObject, streamObject, embed, embedMany, tool() agentic loops, wrapLanguageModel middleware), UI hooks (useChat, useCompletion, useObject), and provider-specific features for Anthropic (prompt caching, extended thinking), OpenAI (reasoning effort, structured outputs), and Google (grounding, thinking budget). Covers the v6 UIMessage parts[] wire protocol, DefaultChatTransport, message persistence, abort/retry, edge-runtime gotchas (Cloudflare Workers process.env), and v5 → v6 migration. Use when the user mentions Vercel AI SDK, `ai` package, useChat, streamText, generateObject, structured output with Zod, agentic tools, prompt caching, AI SDK v6, AI SDK migration, or wires Anthropic/OpenAI/Google through the unified provider interface.
--- name: workos description: ARCHIVED 2026-05-01. WorkOS AuthKit wiring for TanStack Start on Cloudflare Workers. Pulled from active skills because the user's product portfolio is small SaaS and won't hit 10K MAU. Restore when (a) MAU genuinely approaches 100K, (b) a non-engineer partner needs the WorkOS hosted Admin Portal sidecar, or (c) per-connection SAML SSO is a near-term selling point. To restore, move this directory back to `skills/workos/` and `git push` (the pre-push hook will bump th
--- name: testing-stack description: Wire the canonical testing + API-docs stack into a TanStack Start + Cloudflare Workers app. Installs Vitest (unit + integration), Playwright (e2e + visual), Bruno (API collection with local/production/mock envs), Zod + @asteasolutions/zod-to-openapi (served at /api/openapi), Scalar docs UI (at /api/docs), Prism mock server (FE-dev fallback on :4010), and k6 ad-hoc load tests (smoke/local/prod profiles). Use when user wants to add tests, API tests, API docs, O
Turn a Claude Design (claude.ai/design, Anthropic Labs) handoff into production code in an existing repo. Walks an agent through getting the source bundle, mapping its design tokens to CSS variables, exposing the design system on an admin-gated /styleguide route, building token-driven components, fixing exported asset alpha channels, slicing each screen into swarm-friendly issues pinned to the committed prototype, and auditing fidelity before declaring done. Use when the user says "implement this Claude design", "claude design to code", "build this design file/zip", "build this design handoff", or hands over an api.anthropic.com/v1/design/h/<id> link or a handoff .zip. Downstream pair of generate-claude-design-prompt (that one writes the brief; this one implements the result).
--- name: cf-ship description: Ship a TanStack Start / Cloudflare Workers app with pre-flight checks (typecheck + lint + test + D1 migrations + build + deploy). Use when user wants to deploy, ship, release, push, or go live with a Cloudflare Workers app. Handles secrets, D1 migrations, and a post-deploy smoke check. category: deployment argument-hint: [--skip-tests] [--skip-migrations] [--env <name>] allowed-tools: Bash(pnpm *) Bash(wrangler *) Bash(curl *) Bash(git *) Read Edit --- # CF Ship
Reference catalogue of every TanStack library with verified status (2026-05-01) and adopt-today / wait / skip verdicts for the user's stack. Load when the user mentions TanStack Query, TanStack Table, TanStack Form, TanStack Router, TanStack Start, TanStack Virtual, TanStack DB, TanStack AI, TanStack Pacer, TanStack Intent, TanStack CLI, TanStack Hotkeys, TanStack Store, TanStack Devtools, asks "what TanStack library for X", "is TanStack X stable", "TanStack catalogue", "TanStack ecosystem", or considers adopting any individual TanStack library. Reference skill, not an action skill. Different from /ro:new-tanstack-app (which scaffolds a TanStack Start app); this is the umbrella catalogue.
--- name: infra-docs description: Generate (and refresh) architect-grade living documentation of an app's deployed cloud infrastructure. Discovers the real, live resources (not just what's in config) — Cloudflare Workers + D1 + R2 + Secrets Store + Workers AI + Durable Objects + Zero Trust/Access + cron, or Fly/Vercel equivalents — reads the codebase to map data flows, and writes a multi-document set under docs/infrastructure/ with C4-style architecture diagrams, per-resource detail, mermaid seq
--- name: design-system-create description: Scaffold a design system in a React/Tailwind project — DESIGN_SYSTEM.md spec + typed tokens module + cva variants for core primitives (Button, Input, Card). Emits a `/styleguide` showcase route (role-gated to superadmin + staff if Clerk is wired, dev-only otherwise) so every theme/component/token is auditable in-browser. Use when a project has hand-rolled Tailwind for buttons/inputs/cards and needs a single source of truth, or just to add the styleguid
Software design principles and opinionated stances on clean code. Reference skill — index is always loaded, detail files read on demand. Use when reviewing code, refactoring, or making architecture decisions.
--- name: improve-codebase-architecture description: Scan a repo for shallow modules and propose consolidations into deeper ones. Ousterhout's deep-modules principle applied to AI-friendly codebases (better feedback loops, easier delegation, fewer parallel-agent collisions). Standalone skill; can run on any repo. Use when a codebase feels hard for agents to work in, when modules feel too small, or before starting a Pocock Flow on a repo you haven't shaped yet. Triggers on "deepen modules", "impr
Capture findings, decisions, and research from the current project into the LLM Wiki repo. Routes to the wiki repo's own ingest skills (ingest-session, ingest-text, rough-notes) by reading their SKILL.md as the spec, so behaviour stays in sync with the wiki's conventions. Per-project config in .ronan-skills-llm-wiki.local.json maps the current project to one or more vaults. Use when the user says "update the wiki", "add this to the wiki", "capture our findings", or wants to ingest research from outside the wiki repo.
Interview-mode (Matt Pocock's grill-me pattern). PREFER over normal back-and-forth BEFORE writing any code, PRD, or design. Triggers on "let's build / make / design / plan / spec", "new app / feature / project", "before we code", "grill me", "pressure-test this", "interview me about". Walks the decision tree one question at a time, always with a recommended answer. Skip for lookups, debugging, or active in-flight implementation work.
Document a resolved bug or incident as a structured post-mortem. Captures root cause, what was tried, what fixed it, and lessons learned — committed locally for future reference.
--- name: repo-mode description: Resolve, set, or check whether the current repo is in `personal` mode (PRDs and slices publish as GitHub issues) or `work` mode (everything stays local in gitignored .ralph/ files, nothing posted to the GH backlog). Auto-prompted on first use by /ro:write-a-prd, /ro:slice-into-issues, /ro:ralph, /ro:planner-worker, and /agentic-e2e-flow. Invoke directly to inspect or override the mode (e.g. `/ro:repo-mode work`, `/ro:repo-mode personal --global`, `/ro:repo-mode -
Generate a single-file HTML artefact from the current response (or a specific piece of content under discussion) instead of a long Markdown reply. Use whenever the user asks for a "human-readable version", "an artifact", "a shareable page", "an HTML version", "make it pretty", "save that as a page", or similar phrasing. Auto-detects an llm-wiki vault or any repo/folder and writes to `<root>/artifacts/html/<timestamp>-<slug>.html`. Editorial typography baseline with libraries layered in per the decision tree; opens in the user's default browser. Markdown stays the default chat surface; this skill is the explicit promote-to-artefact step.
Telegram bot setup, one-way send/notify, and two-way listener that pipes incoming messages to a Claude Code session. Subcommands - setup (walks BotFather and captures bot token + chat_id), send (one shot message), notify (end-of-run ping with the same firing rule as /ro:pushover), listen (long-poll loop that runs `claude -p` per incoming message in a configured working dir and replies with the output). Use when Ronan asks to "set up a telegram bot", "telegram me when done", "ping me on telegram", "start the telegram listener", "let me query claude from my phone", or any /ro:telegram subcommand. Reads TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID, TELEGRAM_LISTEN_CWD from ~/.claude/.env.
--- name: write-a-prd description: Generate a PRD through an interactive interview. Defers to /ro:repo-mode for output target — `personal` repos publish the PRD as a GitHub issue (Matt Pocock's 7-section template with ready-for-agent label, agent-native repo pattern); `work` repos write to gitignored `.ralph/<name>/prd.md` so nothing leaks to the work GH/Jira/ADO project. First-run prompt picks the mode and persists per-repo; suggested default comes from the gh remote owner. Falls back to local
Automated verification loop that ensures work is done — tests pass, UI works, screenshots match designs. Use when you want to verify stories, check everything works, close the loop, run acceptance checks, or match a UI to a reference design component-by-component.
--- name: matt-pocock-coding-workflow description: End-to-end Matt Pocock coding workflow as a single orchestrated skill. Chains grill-me, write-a-prd, slice-into-issues, ralph, and close-the-loop in order. Asks once at the start whether to run in-the-loop (human reviews per issue) or AFK (full night-shift Ralph). Use when starting a new feature, project, or substantial change and you want the disciplined grill, slice, loop, verify shape instead of jumping straight to code. Triggers on: "build t
--- name: night-shift-retro description: End-of-run retrospective for autonomous swarm runs (night-shift, ralph --afk, planner-worker --afk, agentic-e2e-flow). Writes a sibling markdown + JSON artefact under .nightshift/retros/, captures matrix-row failures and failure modes per slice, files SYSTEM gaps as issues against ronan-skills or factory, files PROJECT gaps as ready-for-human issues against the current repo, and pings Pushover/Telegram with the retro URL as a deep link. Defers to /ro:repo
--- name: day-shift description: Morning bridge skill that shapes the GitHub backlog between night-shift runs. Partitions open issues into buckets (prd:draft, ready-for-human, blocked-on-human, swarm, needs-triage), grills candidates one round at a time via AskUserQuestion (Pocock's grill-with-docs flow), promotes successfully grilled issues to the swarm gate label, and escalates non-converging issues to blocked-on-human with a structured comment naming the explicit human action needed. Defers t
--- name: slice-into-issues description: Take a PRD (parent GitHub issue OR local prd.json) and slice it into vertical-slice user-story issues that an agent can pull from a Kanban backlog. Defers to /ro:repo-mode for output target — `personal` repos publish each slice as a child GitHub issue referencing the parent via `## Parent\n\n#<N>` with ready-for-agent label; `work` repos write gitignored `.ralph/issues/*.md` so nothing leaks to the work GH/Jira/ADO project. First-run prompt picks the mode
Create git commits with emoji conventional commit format. Handles staging, message formatting, and timestamp rules. Use when committing changes.
Diagnose a runtime bug by sweeping the observability logs (Cloudflare Workers logs, Sentry, PostHog) using the shared trace_id, and if the logs don't capture what's needed, ADD structured logging at the failure point + in the request context, deploy (remote) or run locally, and have the user reproduce. Use whenever the user mentions logs, a bug, an issue, "why did X fail / not work", "check the logs", "it works on desktop but not mobile", a stack trace, an error code, or a flaky/intermittent failure. Auto-pick this before guessing at a fix.
Manage credentials INSIDE the active ~/.claude/.env file — read which token/account to use for a given app (Simplicity vs Dataforce vs Ronan-personal), add or update a secret WITHOUT it passing through the chat (an interactive Terminal window prompts for it), and track secrets that were exposed in a transcript so they get rotated. Sibling to /ro:context (which switches WHICH env file is active). Use when the user wants to add an API key/token/secret, asks "which credential do I use for X", needs the env organized/labelled, or a secret was pasted into the chat and should be rotated.
--- name: ralph description: Run an autonomous Ralph loop to implement tasks from a PRD in .ralph/ OR from GitHub issues labelled `ready-for-agent` (agent-native repo pattern). Each iteration picks the highest-priority unfinished story, implements it in a fresh isolated context, opens ONE PR per story (squash-merged with `Closes #N` for GH source), validates, and updates progress. Source defaults defer to /ro:repo-mode — `personal` repos read from GitHub issues; `work` repos read from local `.ra
--- name: setup-logging description: Set up (or audit) the observability stack in a TanStack Start + Cloudflare Workers app so it is "diagnosable by default" — structured logging (logtape) with a request context carrying trace_id + userId + tenant/orgId, a trace_id propagated FE→BE→logs→Sentry→PostHog, Cloudflare Workers observability enabled, and Sentry + PostHog wired. Two modes: `setup` (wire it into an app) and `audit` (check an existing app + report gaps). Use when scaffolding a new app, wh
--- name: planner-worker description: Multi-agent coding swarm. Planner / worker / merger over git worktrees on the Max plan. Reads a grilled PRD from `.ralph/<name>/prd.md` OR a pre-ranked queue from `/ro:night-shift`, dispatches parallel Claude Code Agent workers (one per vertical-slice issue in its own git worktree) with hybrid file-area conflict detection, and a merger Agent reviews + merges clean work back to the target branch. Defers to /ro:repo-mode for `--github` default — `personal` rep
--- name: clerk description: Wire Clerk into a TanStack Start app on Cloudflare Workers using the dedicated @clerk/tanstack-react-start package. Install, env config, clerkMiddleware in src/start.ts, ClerkProvider in __root.tsx, drop-in UI components (SignIn, SignUp, UserButton, OrganizationSwitcher), server-side auth() helper for createServerFn, useUser / useAuth hooks for client routes, Drizzle shadow user table, webhook signature verification, organisations + multi-tenancy, plus a role taxonom
Switch the active credential profile for ronan-skills. Three-tier resolver picks the right `~/.claude/.env.<context>` file based on `$RO_CONTEXT` env var, manual override, `.ro-context.local` / `.ro-context` files in the cwd or any ancestor, cwd-glob rules in `~/.claude/contexts.json`, or the default. Skills source via `$(ro context env)` to get a cwd-aware credential file. Use when the user wants to switch credentials between contexts (personal / work / per-client), set up a new context, or debug which context resolved.
--- name: gh-ship description: Ship a feature branch through GitHub — open PR, watch PR checks, confirm merge, then monitor main-branch CI and verify auto-deploy. Use when a feature is ready to go from branch to production via GitHub. Sibling to /ro:cf-ship (that one runs the local pre-flight; this one drives the GitHub side). category: development argument-hint: [--title "<title>"] [--base main] [--squash|--merge|--rebase] [--no-merge] allowed-tools: Bash(git *) Bash(gh *) Bash(curl *) Read ---
Deploy and manage apps on Fly.io via the flyctl CLI. Use when user wants to deploy, ship, launch, release, or manage a Fly.io app — including `fly deploy`, `fly status`, `fly logs`, `fly secrets`, `fly certs`, scaling, and setting up custom domains for Dockerised frontend/backend apps.
--- name: new-app description: Generic "start a new project" orchestrator. Walks the canonical [[stack-decision-map]] tree (audience → app shape → scale → reactivity → EU residency → owns-the-table → connectors → payments) using AskUserQuestion, lands on a leaf, dispatches to the framework-specific skill that builds it (`/ro:new-tanstack-app`, `/ro:new-astro-app`, `/ro:new-mcp-server`, ...). Use when the user wants to start, create, scaffold, bootstrap, or begin a new project but isn't sure whic
--- name: worktree description: Coordinate multiple agents on one repo via a worktree-lock pool, so two agents never clobber each other's working tree. Acquire the first free slot (main, then beta/gamma… worktrees, created on demand), work there on your own branch, release when you've pushed. Use before modifying any repo that might be in use by another agent (factory, dataforce, etc.), or whenever you're told a repo is being worked on. Backed by `ro worktree`. category: development argument-hin
Orchestrate scaffolding a new TanStack Start app on the canonical stack (TanStack Start + Drizzle + Neon Postgres + Cloudflare Workers + shadcn/ui). Dispatches to sub-skills for DB (Neon default; D1 via --db sqlite), auth (Clerk by default for small SaaS; WorkOS AuthKit as alt-at-scale for B2B 100K+ MAU; Better Auth as alt for owns-the-table / EU-mandate / custom-flows), observability (PostHog, Sentry, UptimeRobot), DNS, ship; plus optional agentic runtime (XState + Vercel AI SDK, LangGraph Phase-2 POA) and Knock notifications. Use when user wants to start, create, scaffold, bootstrap, or kick off a new TanStack Start project / small app / side project.
--- name: ship description: Ship a feature branch the local-CI-first way — run the full local gate, push, open a PR, squash-merge, then deploy, without waiting on GitHub Actions. Use when a branch is ready for main and you want it merged and deployed now. Reads CI policy from `ro ci` (default skips remote CI because GitHub Actions billing keeps hitting limits). Sibling to /ro:gh-ship (waits on GitHub checks) and /ro:cf-ship (the deploy half). Triggers on "ship it", "ship this", "merge and deploy
--- name: seo-launch-ready description: SEO groundwork for a freshly-shipped web app. Generates sitemap.xml, robots.txt, per-route canonical URLs, JSON-LD structured data, and a complete OG/Twitter meta set. Use right after `/ro:cf-ship` or `/ro:fly-deploy` as part of `/ro:app-polish` check #5. category: quality-review argument-hint: [--type <webapp|article|product|video>] [--domain <url>] [--sitemap-source <file>] allowed-tools: Bash(*) Read Write Edit Glob Grep content-pipeline: - pipeline:r
Test-driven development with red-green-refactor cycles and vertical slices. Use when implementing features test-first, doing TDD, or working through a story.
--- name: producthunt-scan description: Scan Product Hunt's daily / weekly / all-time rankings via the public Atom feed. Returns product names, taglines, URLs, upvotes (when exposed). No auth required. Use for "what launched today?" or niche topic filtering. category: research argument-hint: [topic] [--since today|week|month] [--limit N] [--category <slug>] allowed-tools: Bash(curl *) Bash(python3 *) Read content-pipeline: - pipeline:scan - platform:agnostic - role:scanner --- # Product H
--- name: generate-design-brief description: Derive a paste-ready Claude Design brief from an accepted spec. Reads the spec's outcomes, audiences, scope, and UI-surfacing user stories; pulls in any linked branding entity; asks the user for the gaps (vibe references, accent colour, anti-references, tone). Writes the brief into wiki/designs/<project>/brief-v<N>-YYYY-MM-DD.md so it lives as a sibling artefact to the spec and can be re-derived when the spec changes. Use after a spec is accepted and
--- name: migrate-to-astro description: Migrate an existing static-leaning web app (Vercel-hosted Astro, VPS-hosted Astro, Next.js marketing site, plain HTML site, etc.) to Astro 5 on Cloudflare Workers + Sentry EU + PostHog EU. Walks the cutover sequence in the order that actually works (not the order the docs suggest), with explicit checks for every one of the twelve gotchas captured in the LLM wiki research vault. Sister skill to /ro:migrate-to-tanstack — for sites that don't need a real serv
Search, price, register, and manage domains via the Porkbun API. Use when the user wants to find a cheap domain, check availability across TLDs, buy a domain, list their domains, update nameservers, or manage URL forwarding. Porkbun is the backend; cheap pricing, full API coverage, no IP whitelisting.
--- name: migrate-app description: Generic "migrate an existing project" dispatcher. Asks the source stack and the target shape via AskUserQuestion, then hands off to the framework-specific migration skill (`/ro:migrate-to-tanstack`, `/ro:migrate-to-astro`). Use when the user wants to migrate, port, move, or convert an existing web app but isn't sure which target stack fits. Sister to `/ro:new-app` — same dispatcher pattern, the migration leaves of `[[stack-decision-map]]`. Calls neither skill u
Wire Resend transactional email + audiences into a TanStack Start + Cloudflare Workers app. Install, env config, server SDK, send-email route with React Email components, audiences for waitlist (resend.contacts.create), webhook signature verification via resend.webhooks.verify, sending-domain DKIM/SPF setup, broadcast send. Phase 0 unblocker for marketing landing → email capture → confirmation pattern. Use when user wants to add Resend, wire email, transactional email, waitlist, audience, React Email, send email from a Worker, email confirmation, Resend webhook, broadcast, or unsubscribe handling.
Draft and queue social posts via the Typefully v2 API across X, LinkedIn, Threads, Bluesky, Mastodon, and any other connected account in a Typefully social set. Creates a draft you review in the Typefully app/web before it auto-posts, optionally schedules to a specific time, queues into the next free slot, returns a shareable preview link, or scopes to specific platforms via --targets. Supports single posts and threads. Reads TYPEFULLY_API_KEY and TYPEFULLY_SOCIAL_SET_ID from ~/.claude/.env. Use when user wants to schedule, queue, draft, or cross-post to any Typefully-connected platform.
--- name: migrate-to-tanstack description: Migrate an existing web app to the canonical TanStack Start + Drizzle + D1 + Cloudflare Workers stack. Use when user wants to migrate, port, move, rewrite, or convert an app to TanStack Start — from Next.js, Vite+Hono, Remix, Nuxt, Express, Fly.io, Vercel, or any other stack. category: project-setup argument-hint: [--strategy branch|parallel|fresh] [--keep-data] allowed-tools: Bash(pnpm *) Bash(pnpx *) Bash(wrangler *) Bash(git *) Bash(grep *) Bash(jq *
--- name: night-shift description: Autonomous overnight swarm against the current repo's GitHub backlog. Opens with a pre-flight summary (how many slices are ready to drain, how many drafts/parents need grilling/slicing, how many issues are blocked on a human and why) then asks "grill now or drain what's ready?" so the user always knows what AFK means for this run. Loops wave-after-wave with a 4-signal ranker (age + priority + size + unblocks-others), hybrid file-area conflict detection between
Ingest a YouTube URL or local video via steipete's `summarize` CLI — returns transcript (with timestamps), scene-detected slides (PNG + optional OCR), and an LLM narrative summary with section headings. Generic sibling to llm-wiki/ingest-youtube and llm-wiki/ingest-video (those persist to a vault; this one just produces artefacts and leaves placement to the caller).
--- name: confluence description: Create, update, read, and Smart-Link Confluence pages via the Atlassian Remote MCP server. Defaults to the dataforce space on the Simplicity Labs site. Use when user wants to draft a research doc, post meeting notes, or link a Confluence page to a Jira ticket. Pairs with /ro:jira and /ro:confluence-to-wiki. category: project-management argument-hint: [create "title" [--parent <page-id>] [--body-file <path>] | update <page-id> [--body-file <path>] | show <page-id
Extract cookies for a domain from the user's browser (Firefox, Brave, Chrome, Arc, Chromium, Edge). Reads ROBROWSER default from ~/.config/ro/defaults.env. Used by scraping skills that need an authenticated session. Supersedes firefox-cookies.
Manage Cloudflare DNS records via the API — add, update, or delete subdomains (A, AAAA, CNAME, TXT, MX). Use when user wants to add a subdomain, point a DNS record, create/update/delete DNS entries on Cloudflare, or set up a custom domain for a hosted app (Fly, Vercel, Render, etc.).
Break out of debugging loops by stepping back and researching. Use when stuck, going in circles, hitting the same error repeatedly, or after multiple failed fix attempts.
--- name: design-system-audit description: Scan a repo for violations of its DESIGN_SYSTEM.md — hand-rolled buttons, hex colours, radius that changes across states, scale-based active states, missing hover/focus/disabled treatment. Prints a prioritised punch list. Use before shipping a UI polish or when a design system was recently introduced and callers haven't migrated yet. category: frontend argument-hint: [--path=src/] [--fix-obvious] [--skip history] --- # Design System — Audit Finds the
Documentation standards for the LLM Wiki project. Reference skill loaded when creating or updating markdown docs. Ensures consistent structure, mermaid diagrams, and formatting.
Generate images from text prompts via Google Gemini (Nano Banana 2). Outputs PNG files. Use for thumbnails, slide imagery, infographic assets, social cards, or standalone image generation.
--- name: git-cleanup description: Prune local git branches that are already on main, detecting classic merges, squash-merges via merged PRs, and content-in-main via diff. Confirms with the user before deleting. Use when the user wants to clean up, prune, or delete merged branches, or asks which branches are safe to delete. category: development argument-hint: [--base main] [--dry-run] [--include-archive] [--yes] allowed-tools: Bash(git *) Bash(gh *) --- # Git Cleanup List every local branch,
Safety net that blocks destructive git commands and suggests safer alternatives. Background knowledge for configuring pre_tool_use hooks.
--- name: keyboard-shortcuts description: Wire a global keyboard shortcut handler with editable-element and modifier guards, plus a discoverable help dialog. Power-user signal that pays for itself in demos, screencasts, and portfolio respect. Use on any utility app with more than three primary actions. category: quality-review argument-hint: [--actions <file>] [--help-key ?] [--no-dialog] allowed-tools: Bash(*) Read Write Edit Glob Grep --- # Keyboard Shortcuts A small amount of keyboard wirin
--- name: neon description: Manage Neon serverless Postgres — create project, branches (incl. per-PR preview), wire Drizzle + Neon HTTP driver for Cloudflare Workers, set DATABASE_URL via wrangler secret. Use when user wants Postgres (not SQLite/D1) — needs pgvector / PostGIS / JSONB / preview DB branches / strict types, or when wiring Neon into a TanStack Start + CF Workers app. category: database argument-hint: [install | project <list|create> | branch <list|create|delete> | push-secret] [--pr
Generate sound effects from text prompts via ElevenLabs Sound Effects API. Outputs MP3 files. Use for video SFX, UI sounds, ambient backgrounds, transition effects.
--- name: skill-retro description: Retrospective on skills used in the current session — surfaces friction, proposes concrete edits to SKILL.md files, and commits improvements. Use when the user wants to evolve, improve, review, refine, or retro the skills they just ran. Also use proactively at the end of a multi-skill task. category: development argument-hint: [--skill <name>] [--apply] [--since <ref>] allowed-tools: Bash(git *) Bash(grep *) Bash(find *) Read Write Edit Glob Grep --- # Skill R
Scan X (Twitter) for posts from a user, search results, or single-tweet fetches. Uses FXTwitter (no auth) for single tweets. Returns findings without vault persistence. Sibling to llm-wiki/ingest-tweet.
Build a portable voice profile (markdown file) by running a 100-question taste interview across 7 categories. Output is consumable by any AI to reproduce the user's voice. Resumable across sessions. Based on Ruben Hassid's "I am just a text file" methodology (Jan 2026).
--- name: better-auth description: Wire Better Auth into a TanStack Start app as the optionality alt-path auth provider when you must own the user table, need EU data residency, or have fully custom auth flows. Default auth is /ro:clerk; alt-at-scale is /ro:workos. Use this skill when user explicitly wants Better Auth, owns-the-table semantics, EU-mandated user storage, or custom auth flows the vendored options cannot satisfy. category: auth argument-hint: [install | add-provider <github|google>
Bridge a Jira (DAFO) ticket to the agent-native GitHub repo flow. Two modes — --mirror creates a one-to-one GH issue in RonanCodes/dataforce with linkbacks both ways; --prd seeds /ro:write-a-prd from the ticket body and publishes the PRD as a GH parent issue. Use when a Taskforce-filed DAFO ticket needs to enter the Skip+Ronan implementation pipeline.
One-time Cloudflare API token setup so other skills (domain, cloudflare-dns, cf-ship) can create zones, edit DNS, manage Workers, and write redirect rules. Use when a Cloudflare skill fails with "Authentication error" or when onboarding a new machine. Walks the user through the account-owned token + user token model that Cloudflare requires.
Pull a Confluence page into an llm-wiki vault as a source-note via the wiki's /ingest convention. One-way (Confluence → wiki), defaults to llm-wiki-simplicity-taskforce-partnership. Use when partner-shared research in Confluence needs to live in the wiki for query, synthesis, or cross-vault linking. Pairs with /ro:confluence and /ingest.