John Kueh's Claude Code skills. Install the whole collection in one command, or add any single skill on its own.
The full collection of John Kueh's Claude Code skills in one install, organized by department prefix: dev-* (engineering & ship), marketing-* (SEO/growth research + monitoring), comms-* (Slack, WhatsApp, Notion), media-* (image, video, icons), brand-* (copy + design), data-* (digest), system-* (macOS hygiene), and johns-* (founder voice). Prefer a single skill? Each is also installable on its own — see the per-skill plugins in this marketplace.
House copy style guide adapted from Mailchimp. Use whenever writing or reviewing copy for app surfaces (UI strings, buttons, errors, empty states, onboarding, push notifications) and for websites, marketing pages, App Store descriptions, release notes, and emails. Covers voice, tone, grammar, microcopy, accessibility, and inclusive-language rules. Triggers on "house style", "copy style", "write copy", "rewrite this", "review this string", "button text", "error message", "empty state", "onboarding copy", "UI copy", "microcopy", "push notification", "release notes", "App Store copy", "email subject", "style guide", or by name — "mailchimp", "mailchimp copy", "mailchimp style", "copy style guide", "brand-copy", "mailchimp-copy-style".
The "boring marketer" conversion-copy framework — proven fundamentals for landing pages, sales pages, hero sections, and persuasive marketing copy that sounds like a person and converts. The product-voice sibling of brand-copy (in-app house style). Use when writing or reviewing a landing or sales page, headline, opening line, feature description, or testimonial, or when asked to "use boring marketer copy tips", "boring marketer", "make this convert", "write the landing copy", "write the headline", "fix this marketing copy". Triggers on "use boring marketer copy tips", "boring marketer", "landing page copy", "sales page", "hero copy", "headline formula", "so what chain", "make this convert", "write a testimonial", "pain quantification".
House UI/UX design playbook distilled from Kole Jain's design tutorials. Use whenever designing or reviewing an app/website interface — dashboards, mobile screens, landing pages, settings, modals, empty states, charts, micro-interactions, or pricing pages. Covers typography, color, spacing, dark mode, components, motion, mobile patterns, dashboard structure, presentation, and the "vibe-coded" smell test. Triggers on "design this screen", "review this UI", "make this look professional", "fix this dashboard", "improve this layout", "color palette", "dark mode", "spacing", "rounded corners", "font size", "Figma", "mobile screen", "bottom sheet", "empty state", "micro-interaction", "looks AI-generated", "make this less generic", "vibe coded", or by name — "kole", "kole design", "kole design tips", "design tips", "brand-design", "kole-design-tips".
Read the full content of a Notion page from a URL or page ID. Returns title, metadata, and the page body as markdown. Use when the user pastes a Notion link or asks to read, summarize, or extract content from a Notion page. Triggers on notion.so URLs, "read this notion page", "fetch from notion", "what's in this notion doc".
Search Slack messages and fetch threads. Use when the user asks to find Slack conversations, look up a colleague, list channels, or pull a specific thread by URL. Personal-token-based (xoxp-...). Triggers on "search Slack", "find that Slack thread", "what did X say in Slack", "Slack DM history", "pull this Slack URL", "who in [channel]", "Slack message about", "look up [name] on Slack", or any Slack permalink (slack.com/archives/...).
Read and send WhatsApp messages from the command line via wacli (steipete/wacli, whatsmeow-based). Use when the user asks to search WhatsApp messages, send a WhatsApp message, list chats/groups/contacts, look up a thread, or download WhatsApp media. Triggers on 'WhatsApp', 'wacli', 'send a wa message', 'find that WhatsApp thread', 'WA chats', 'who said X on WhatsApp'.
Per-project daily digest of new signups, top user activities, API/LLM costs, and recently-changed initiative docs — pulled from bq-analytics where available, plus git activity and the latest x-monitor run. Use when the user wants a "morning digest" across their projects, says "give me yesterday's roundup", or asks for a recurring summary across your projects. Designed to be invoked daily via `/loop`.
Build Expo IPAs/APKs locally (zero EAS build credits) and deliver them to a phone via Vercel Blob + a per-project drafty "builds" canvas with an Install button — works from anywhere, Mac asleep. The skill owns publish-build.sh (Blob upload + OTA manifest + canvas update); each project owns its own `eas build --local` invocation via package.json `:local` scripts whose wrapper also records the dev-client fingerprint for the dev-up skill's expo-qa gate. Triggers on "publish the build", "send build to phone", "deliver expo build", "install page", "builds canvas", "expo install URL", "publish IPA", "ad-hoc install", "local eas build".
John's master development workflow — the reasoning layer that takes a request from "go work on X" to landed-and-verified. Use when John says "go work on <project>", names a project plus a task, "fix this bug", "implement this feature", or fires a ship go-word ("ship it", "do it", "let's go") about a code-change plan. It routes (resolving the project name to its repo), classifies the work as bug/feature/other, drives the right path, decides when confident enough to PR and when to merge, and picks web-vs-OTA-vs-native-rebuild on landing. It REASONS; it never spells mechanical steps — those are deterministic verbs in the per-repo `.workflow.json` contract, called via the `dev-flow` runner (doctor/prep/gate/smoke/gc/pr) and `dev-up`/`dev-down`. Defers to dev-ship for the standing ship authorization itself, and to drafty-proof-canvas for visual proof. Do NOT duplicate those skills.
Build complete, functional React, vanilla JS, or Expo apps with InstantDB as the realtime backend. Use when the user has explicitly chosen InstantDB, asks for a quick realtime/collaborative prototype, or wants a local-first multiplayer app. Triggers on "instantdb", "instant database", "instant.db", "realtime collab app", "multiplayer prototype", "local-first app", "build app with instant", or when the user pastes an InstantDB app ID / schema and asks for an app around it.
A standing ship authorization. Use when you say "ship it", "ship this", "execute and ship", or "ship it to main" about work planned or discussed in the current session — that is the full no-reconfirmation authorization. ALSO use on a generic go-word ("execute it", "do it", "do it now", "let's go", "go ahead", "run it") about a code-change plan discussed in session whose natural endpoint is shipping — but then follow the Triggers section: confirm scope before merging. It means — execute the agreed plan in a worktree, test and validate everything locally, and if confident there is no regression risk, open a PR and merge it (the merge is the deploy trigger). NOT for go-words about non-shipping work (sending messages, running scripts, drafting), and NOT for product release flows that have their own process and authorization (app-store submissions, OTA releases, package/CLI/plugin version bumps — each a separate authorization).
One-verb local dev-server + worktree QA lifecycle for any checkout (web or Expo), backed by a Cloudflare-Tunnel ngrok replacement that multiplexes many dev servers (via portless) through one wildcard subdomain. Includes `dev-up`/`dev-down`/`dev-status` (env seeding, install, portless naming, public URL), `setup.sh` (one-time machine onboarding), `add-project.sh` (per-project tunnel wiring), `metro-takeover.sh` for switching Expo Metro between git worktrees, `expo-qa.sh` (fingerprint gate that detects when a worktree needs its own dev build or the installed dev client is stale, plus `eas update --branch wt/<branch>` publish for parallel branch QA on any dev client), `worktrees-gc.sh` for pruning landed agent worktrees in any repo, and `doctor.sh` for health-checking the tunnel/portless chain. Formerly named cloudflare-tunnel-portless. Triggers on "dev-up", "spin up the dev server", "start the dev server", "test before shipping", "public URL for this worktree", "set up cloudflare tunnel", "onboard new mac to tunnel", "add project to tunnel", "ngrok replacement", "public URL for localhost", "portless", "cloudflared", "metro-takeover", "switch metro to worktree", "expo-qa", "fingerprint gate", "is the dev client valid for this branch", "publish this branch as an EAS update", "QA this worktree on my phone", "worktrees-gc", "clean up worktrees", "prune old worktrees", "tunnel doctor", or "debug caddy/portless/cloudflared".
Query Vercel runtime and build logs to debug production issues. PREFER THE CLI over the MCP for log search — the MCP runtime-logs tool truncates message bodies. Use when debugging a production error, investigating a 500 / 4xx, looking at deployment build output, or any 'what happened on Vercel' question. Triggers on 'vercel logs', 'production error', 'vercel debug', 'deployment logs', 'build logs', 'what's failing in prod', 'check vercel'.
Track AI chatbot citations (ChatGPT, Perplexity, Google AI Overview, Claude) for any project. Use when the user wants to monitor brand/domain mentions in AI search, track which queries cite their site, set up AEO/GEO monitoring, or measure visibility in chatbot responses. Triggers on "track AI citations", "monitor ChatGPT mentions", "AEO monitoring", "GEO tracking", "AI search visibility", "are we cited in ChatGPT", "what do chatbots say about us", "track mentions in Perplexity", or any project-level question about appearing in AI answers.
Report which AI bots (GPTBot, ClaudeBot, Claude-User, PerplexityBot, Bytespider, CCBot, GoogleOther, and more) are crawling your Vercel-hosted sites, and which paths they hit. Reads Vercel request logs (with user agents) and prints a per-site bot -> hits -> top paths table. Triggers on "which AI bots crawl", "ai crawler report", "is GPTBot hitting", "is ClaudeBot crawling", "AI bot traffic", "who's crawling the site", or "crawler report for [site]".
DataForSEO keyword research for SEO and content planning. Get search volume, search intent, keyword difficulty, CPC, and keyword suggestions. Use for keyword research, content planning, and SEO strategy. Supports --dry-run to preview costs before executing. Triggers on "keyword research", "search volume", "keyword difficulty", "CPC for", "keyword ideas for", "keyword suggestions", "long-tail keywords", "what do people search for", "search intent for", or "SEO opportunity for [topic]".
Pull structured data from Reddit (posts, threads, comments, and question clusters) through a headless browser that bypasses Reddit's JS bot-challenge, and optionally LLM-classify the mined snippets into pain / demand / question gaps with Gemini (when a GEMINI_API_KEY is set; falls back to the in-tool heuristic otherwise). Use when Reddit's public .json API is 403-blocked from a server/cloud IP, or when mining a subreddit for content gaps, questions, pain points, product ideas, or post data. Triggers on "mine reddit", "reddit-miner", "scrape subreddit", "reddit questions", "reddit pain points", "reddit product ideas", "classify reddit", "reddit 403", "reddit blocked", "pull reddit posts/comments".
DataForSEO SERP analysis for geo-targeted search result analysis. See who ranks for keywords in specific locations (Australia, US, UK, etc.), identify content gaps, analyze SERP features (featured snippets, PAA), and find competitor domains. Supports --dry-run to preview costs. Triggers on "who ranks for", "SERP analysis", "search results for", "Google results for [keyword]", "competitors for [keyword]", "featured snippet", "people also ask", "ranking domains", "top 10 for", or "SERP features".
Monitor X (Twitter) profiles for new posts and emit daily digest summaries. Use when the user wants to subscribe to an X handle (e.g. https://x.com/bcherny), poll for new posts, run a recurring digest via /loop, query past posts from the local archive, or set up the skill on a new machine. Triggers on "monitor X handle", "watch this twitter user", "x-monitor", "subscribe to twitter", "daily digest of @user", "what did @user say about X", "set up x-monitor", "configure x-monitor", "install x-monitor on this Mac", or "share x-monitor across my machines".
Transcribe YouTube videos. Tries auto/manual captions first via yt-dlp; if they're missing or empty, downloads audio and transcribes with Gemini 2.5 Flash. Use when processing YouTube URLs for content, fact-checking, or research. Triggers on YouTube URLs, "get transcript", "fetch captions", "youtube transcript", or "transcribe this video".
Find the right icon across many icon libraries (Lucide, Phosphor, Tabler, Heroicons, HugeIcons — 14k+ icons, more coming) using natural language, and get a paste-ready, per-package React import + JSX back. Scopes to the icon sets a project actually installed (no hallucinated names), with an instant local fuzzy pass and a Gemini Flash semantic pass for concept/synonym queries ("vegetarian", "delete a recipe"). Always appends icon-selection heuristics (NN/g, WCAG). Optional PNG contact-sheet preview. Triggers on "find an icon for", "which icon", "icon for X", "search icons", "what icon should I use".
Generate images, illustrations, logos, infographics, photoreal shots, UI mockups, and ads with OpenAI's GPT Image 2. Translates the user's loose request into a cookbook-aligned prompt, supports reference images / moodboards for style transfer, and logs token usage + actual $ cost per call. Triggers on "make me a logo", "generate an image of…", "create an illustration", "design a poster", "gpt-image-gen", "gpt image", "image generation", "moodboard", "style transfer from this image", or any visual asset request.
Generate cinematic videos with Google's Veo 3.1 (Gemini API) — text→video and image→video, pairing with the media-image-gen still as the first frame. Quotes the exact $ cost before every call (flat per-second), supports true-loop (first=last frame) and web-ready MP4/WebM/poster output, and bakes in the play-once hero pattern and RAI-wording guidance. Triggers on "generate a video", "veo", "animate this image", "image to video", "cinematic hero video", "make a background video", "loop this image", "video from a still", or any motion/clip request.
Scan and clean up disk space on macOS. Use when the user asks about disk space, storage, freeing up space, cleaning their Mac, or mentions their disk is full. Triggers on requests like "check disk space", "free up space", "what's using my disk", "clean up my Mac", "disk is full", or "storage hogs".
Monitor and clean up system resources on macOS. Use when the user wants to check CPU/memory usage, find resource hogs, kill orphaned processes, or free up system resources. Triggers on requests like "what's using CPU", "memory hogs", "clean up processes", "kill Chrome", "system slow", or "activity monitor".
Wendy — a personal execution coach built on James Lim's coaching corpus (Strategist vs Performer, first-tentacle, Type 1/2 information and the ping, fear's 5 blindspots, the racehorse environment switch, rehab-dosed exposure, fake progress, runway/planes, high vs low-grade focus). Four modes. (1) ON-DEMAND — invoke whenever the user says they're stuck, blocked, overthinking, spiralling, procrastinating, can't ship, can't start, avoiding something, "talk me through this", "coach me", "why am I not doing X", "I keep putting off Y", or asks whether they should keep planning/researching. (2) BACKGROUND — invoke silently whenever helping the user plan work, break down a task, write a roadmap or TODO list, or when they propose more research/courses/refactors before shipping: bias plans toward action, catch fake progress, right-size next steps. (3) DAILY-PLAN CONSULT — invoke when writing, updating, or reviewing the user's daily action list, todo queue, or "today" plan: shape items as safe first-tentacles, block fake-progress items. (4) PROJECT-PUSHING — invoke whenever the user floats a new project/feature idea, estimates revenue, asks "should I build X", or prioritizes across projects: apply the finish-before-start rule and realistic revenue targets over unicorn projections. Also triggers on "wendy", "ask wendy", "what would wendy say", "coach", "first tentacle", "am I fake-progressing", "strategist mode".