
Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.
View, create, and manage Google Calendar events for Dylan, Julia, or other accounts. Use when asked about schedule, appointments, meetings, calendar, what's coming up, free time, conflicts, or availability.
Search, browse, and purchase products on Amazon. Use when asked to buy something, find a product on Amazon, check prices, compare products, track orders, or manage the Amazon cart. Requires browser control and payment details from 1Password.
Access the 19 Crosstown Ave local network via the MacBook Pro. Use when needing to reach Crosstown LAN devices, run commands at Crosstown, scan the local network, interact with the AmpliFi router, Hue Bridge, Ring Doorbell, or any device on the 192.168.165.x subnet. Also use for presence detection at Crosstown.
Search for places, get directions, find nearby businesses, and look up place details using Google Places API. Use when asked about restaurants, stores, businesses, directions, travel time, or finding places.
Check Potato's Fi collar GPS location, battery, and connection status. Use when asked where Potato is, collar battery level, or whether Potato is at Crosstown or the Cabin.
Google Calendar: Create a new event.
Gmail: Show unread inbox summary (sender, subject, date).
Manage Confluence pages, spaces, and content via CLI. Creates, reads, updates, searches, and exports documentation. Use when working with Confluence wiki pages, searching documentation, managing page content, or exporting pages to markdown.
Merge a PR and update documentation in one workflow. Use when: (1) Ready to merge a PR and want to update roadmap/changelog, (2) Need to verify merge success before documenting, (3) Want atomic merge + doc commits. Handles gh pr merge, verification, kanban updates, and session notes in sequence.
Fix OpenClaw cron jobs delivering messages multiple times (2x or 3x) to the recipient. Use when: (1) recipient reports receiving the same cron job output multiple times, (2) cron job shows status "error" with "Message failed" but delivery shows "delivered", (3) agent prompt instructs the agent to send messages directly (via message tool, imsg, or similar) AND the job has a delivery config — causing both the agent AND the cron delivery system to send separately, (4) gateway logs show "Unknown channel: bluebubbles" or "Unknown channel: imessage" errors from agent tool calls during cron execution.
Check who is home at the cabin (Philly) or Crosstown (Boston). Use when the user asks "is anyone home", "who's home", "is Julia/Dylan home", "is anyone at the cabin", or presence detection. This skill is read-only — it reports occupancy status but does NOT trigger any actions.
Access Microsoft Teams meeting transcripts via CLI. Read transcripts from calendar events, extract speaker dialogue, summarize discussions. Use when reading meeting notes, reviewing what was said, extracting action items, or analyzing meeting participation.
Control Samsung The Frame TV. Use when asked about TV, television, art mode, Samsung Frame, turning on/off the TV, or changing TV input/volume/apps.
Fix React Router setSearchParams overwriting existing query parameters. Use when: (1) URL query params disappear after navigation, (2) deep links with ?card=X or similar params stop working after board/page switch, (3) setSearchParams({ key: value }) is erasing other params. Covers the functional update pattern to preserve existing params.
Control iRobot Roomba vacuums at the Cabin (Philly). Use when asked to vacuum, start/stop/dock the Roomba, clean the house, or anything about Floomba or Philly (the two Roombas).
Send file attachments (audio, images, documents) via BlueBubbles iMessage API. Use when: (1) Need to send an MP3, image, or file via iMessage through BlueBubbles, (2) "Chat does not exist!" error when sending attachments via curl -F (semicolons in chatGuid get mangled by curl multipart form parsing), (3) /api/v1/message/text endpoint ignores the attachment field in multipart mode, (4) Building TTS audio briefings or voice messages for iMessage delivery, (5) Need to know the correct BB API endpoint for attachments (/api/v1/message/attachment). Covers the correct endpoint, required fields, and the curl semicolon bug workaround.
Cielo Home / Mr Cool minisplit smart AC API details and CLI tool. Use when: (1) Controlling Mr Cool or Cielo Home minisplit AC units programmatically, (2) Building integrations with Cielo Home API (api.smartcielo.com), (3) Token expired and need to refresh credentials for cielo-cli, (4) Need to understand Cielo Home WebSocket command format for device control. Covers API endpoints, authentication flow, HAR-based token extraction, and the Chrome CORS header stripping workaround.
Fix "Too many subrequests" error in Cloudflare Workers. Use when: (1) Worker returns 500 with message "Too many subrequests", (2) Making multiple fetch calls in a loop (e.g., creating blobs for each file), (3) Processing batches of items that each require an API call. Covers the 50 subrequest limit and strategies to work around it.
Fix UTF-8 encoding corruption when Cloudflare Workers send content to GitHub API. Use when: (1) Non-ASCII characters like arrows (→), emojis, or accented letters become corrupted (e.g., → becomes â or â), (2) YAML parsing fails with "non-printable characters" error, (3) Content looks correct locally but corrupted after GitHub commit. Covers charset header and YAML string quoting.
Continuous learning system that monitors all user requests and interactions to identify learning opportunities. Active during: (1) Every user request and task, (2) All coding sessions and problem-solving activities, (3) When discovering solutions, patterns, or techniques, (4) During /retrospective sessions. Automatically evaluates whether current work contains valuable, reusable knowledge and creates new Claude Code skills when appropriate.
Detect and resolve TypeScript/JavaScript circular import dependencies. Use when: (1) "Cannot access 'X' before initialization" at runtime, (2) Import returns undefined unexpectedly, (3) "ReferenceError: Cannot access X before initialization", (4) Type errors that disappear when you change import order, (5) Jest/Vitest tests fail with undefined imports that work in browser.
Explore Oracle Cloud Infrastructure resources in Navigator. Lists HPC islands, regions, availability domains, compartments, shapes, and tenants. Use when investigating OCI infrastructure, finding HPC islands, checking regional capacity, or understanding OCI topology.
Debug "Connection to github.com closed by remote host" errors during git push. Use when: (1) Push fails with SSH connection closed error, (2) Pre-push hooks run slow API calls (Codex, OpenAI, external services), (3) Push works with --no-verify but fails normally. The SSH connection times out (~60s) while hooks run synchronously. Fix by removing redundant hooks (if CI covers it), making hooks async, or adding timeouts.
Fix Homebrew Python formula builds failing or taking 10+ minutes when dependencies have native C extensions (pillow, pyobjc, pyyaml, charset-normalizer). Use when: (1) `brew install` compiles cmake/pillow/pyobjc from source taking forever, (2) "Directory is not installable. Neither setup.py nor pyproject.toml found" error when using .whl resources, (3) `venv.pip_install` fails with platform-specific wheels (cp312-macosx), (4) `system pip install` fails silently during brew build due to network sandbox. Covers the split-resource pattern for Homebrew Python virtualenv formulas.
Handle gray-matter's automatic Date parsing in YAML frontmatter. Use when: (1) Zod validation fails with "expected string, received Date" on date fields, (2) Building content collection systems with markdown frontmatter, (3) Dates in frontmatter become Date objects instead of strings, (4) Migration/precompile scripts process YAML with date fields. Covers z.preprocess coercion and ensuring dates are written as strings.
Fix AppleScript hanging indefinitely when automating macOS apps (Messages, Mail, etc.) due to stale TCC (Transparency, Consent, and Control) Automation entries. Use when: (1) `osascript` hangs on `tell application "Messages"` operations like sending, counting chats, or accessing accounts, (2) Simple AppleScript like `tell app "Messages" to name` works but any operation touching accounts/chats/participants hangs forever, (3) AppleScript returns "AppleEvent timed out (-1712)" after ~2 minutes, (4) Automation that previously worked stops working after macOS update or system changes, (5) Rebooting doesn't fix the hang. The fix is `tccutil reset AppleEvents` followed by re-approving permission popups.
Grant Full Disk Access (FDA) to headless CLI binaries on macOS Tahoe (26.x) when they need to access TCC-protected paths like ~/Library/Messages/chat.db. Use when: (1) A Mach-O binary hangs or returns "authorization denied (code: 23)" accessing ~/Library/Messages, ~/Library/Mail, or similar TCC-protected directories, (2) `tccutil reset SystemPolicyAllFiles` was run and now nothing can access protected paths, (3) The System Settings FDA picker won't show a bare CLI binary after clicking "+", (4) A LaunchAgent-spawned process that previously had FDA stops working after a service restart or npm/brew upgrade, (5) `ls ~/Library/Messages/` returns "Interrupted system call" over SSH. Covers the .app wrapper trick to make bare binaries visible in the FDA picker.
Analyzes Salesforce opportunity pipeline for AEs and sales managers. Tracks deals by stage, identifies at-risk opportunities, finds stalled deals. Use when reviewing pipeline, preparing forecasts, finding deals needing attention, or analyzing win/loss.
Configure OpenAI Codex CLI (@openai/codex) for automated PR reviews in GitHub Actions. Use when: (1) Getting "401 Missing bearer or basic authentication" errors, (2) Error "the argument '--base <BRANCH>' cannot be used with '[PROMPT]'", (3) Error "--commit cannot be used with --base", (4) Codex review not authenticating despite OPENAI_API_KEY secret being set. Covers the required login step and correct argument combinations.
Correct usage patterns for OpenAI Codex CLI (@openai/codex). Use when: (1) Need to run Codex for plan/doc review (use exec not review), (2) Getting "config profile not found" errors from -p flag, (3) Want non-interactive Codex execution, (4) Need to understand the difference between codex review and codex exec commands, (5) Need structured JSON output from Codex, (6) Want web search in exec mode.
Fix OpenClaw browser service "Failed to start Chrome CDP on port 18800" error. Use when: (1) OpenClaw agent can't use browser tool, (2) gateway logs show "Failed to start Chrome CDP on port 18800 for profile openclaw", (3) browser crashes with Trace/BPT trap or SIGTRAP, (4) Chrome exits within 1-2 seconds of starting. Covers stale SingletonLock files, corrupted profiles with encrypted Keychain tokens, and orphaned Chrome processes.
Fix OpenClaw cron jobs running after being removed from jobs.json. Use when: (1) A cron job keeps executing even though it was deleted from jobs.json, (2) Duplicate deliveries (e.g., Julia gets morning briefing twice), (3) Old/legacy jobs firing alongside their replacements after a migration. Root cause is orphan run state files in ~/.openclaw/cron/runs/ that persist nextRunAtMs independently of the job definition.
Create and debug OpenClaw cron jobs by editing jobs.json directly. Use when: (1) gateway/cron subsystem fails with "TypeError: Cannot read properties of undefined (reading 'trim')" after adding jobs, (2) creating recurring cron schedule jobs (not one-shot "at" jobs), (3) openclaw cron CLI commands fail with missing env vars, (4) need to manually run/test a cron job. Covers the correct jobs.json schema, schedule field naming (expr NOT cron), env var requirements, and gateway restart.
Configure OpenClaw iMessage reactions/tapbacks. Use when: (1) want OpenClaw agent to react to iMessage messages with a tapback (love, like, laugh, etc.), (2) ackReaction config in openclaw.json doesn't produce iMessage tapbacks, (3) need to understand which reaction types iMessage supports. As of v2026.3.2, the agent can send native iMessage tapbacks via the `message` tool with `action: "react"`. The `ackReactionScope` config remains a no-op for iMessage (only wired for Slack/Discord/Telegram in the gateway).
Fix OpenClaw cron delivery failing with "gateway closed (1008): pairing required" after an OpenClaw npm upgrade. Use when: (1) cron jobs complete their work but "cron announce delivery failed" on the iMessage/delivery step, (2) gateway logs show "pairing required" or code 1008 on WebSocket connections from cron subagents, (3) security audit logs show "scope-upgrade requested" with reason=scope-upgrade, (4) pending.json has an unresolved repair request. Root cause: new OpenClaw versions may require additional device scopes (e.g., operator.write) not present in existing paired device configs.
Fix OpenClaw agent repeatedly claiming a Google account "isn't authenticated" or failing with auth errors even though GWS tokens are valid. Use when: (1) GWS CLI works manually (`gws gmail users messages list --account X`) but OpenClaw agent says auth is missing, (2) Agent uses wrong email format (e.g., missing dots in Gmail address), (3) Agent keeps repeating stale beliefs about auth status despite fixes. Covers identity mismatch across config files and stale session cache clearing.
Capture authentication tokens from reCAPTCHA-protected websites using pinchtab + Chrome DevTools Protocol (CDP). Use when: (1) need to automate token refresh for sites with reCAPTCHA login, (2) need to find Chrome's CDP port when pinchtab uses --remote-debugging-port=0, (3) lsof not working in LaunchAgent context on macOS, (4) need to click inside cross-origin iframes via CDP Input.dispatchMouseEvent, (5) Chrome cookies not persisting between pinchtab restarts, (6) Network.getResponseBody returns empty for fetch() API responses (use Fetch.enable + Fetch.getResponseBody instead), (7) need to capture tokens from login responses by monitoring CDP network traffic passively during browser form submission, (8) API response body structure nests tokens in unexpected locations (e.g., data.user.X not data.X).
Query Microsoft 365 distribution lists and group memberships via CLI. Lists groups, views members, and checks user memberships. Use when checking group membership, finding distribution list members, listing groups a user belongs to, or querying Azure AD groups.
Query NVIDIA employee directory via Helios LDAP API. Retrieves user profiles, org charts, manager chains, group memberships, and team structures. Use when looking up employees, finding reporting relationships, checking group membership, or analyzing org structure at NVIDIA.
Query GPU capacity across OCI, Azure, GCP, AWS, CoreWeave, and Forge via Navigator CLI. Lists reservations, clusters, GPU status, and availability by region. Use when checking GPU availability, viewing capacity reservations, monitoring cloud resources, or comparing capacity across providers.
Read secrets, credentials, and payment information from the OpenClaw 1Password vault. Use when asked about passwords, API keys, credit card details, SSH keys, or any stored credentials. Also use when making purchases that require card information.
<When to use this skill. Be specific about trigger words, device names, and what it controls. Include "NOT for X" disambiguation if needed.>
Triages and prioritizes Salesforce support cases. Queries by priority, status, product, finds related cases, tracks SLA. Use when reviewing case queues, escalating P1 issues, finding similar cases, or analyzing support patterns.
Control macOS system functions via AppleScript. Use when asked about system volume, notifications, app control, display brightness, or Do Not Disturb.
Control the August smart lock at Crosstown. Lock, unlock, check status (locked/unlocked, door open/closed, battery). Use when asked to lock or unlock the door, check if the door is locked, or check lock battery.
Control Bluetooth devices and audio routing on the Mac Mini. Use when asked about Bluetooth, connecting speakers, headphones, audio output, switching audio, or listing paired devices.
Run cabin routines like goodnight, away, and welcome home. Use when the user says goodnight, good night, bedtime, going to bed, leaving, heading out, we're home, or asks to run a routine.
Control Mr Cool / Cielo Home minisplit AC units. Use when asked about AC, air conditioning, minisplit, heating, cooling, room temperature, thermostat (for minisplits specifically), turning heat on/off, setting temperature on a minisplit, fan speed, or swing position.
Run Crosstown (Boston) routines like goodnight, away, and welcome home. Use when the user says goodnight, good night, bedtime, going to bed, leaving, heading out, we're home, or asks to run a routine AND they are at Crosstown (Boston).
Control Google Nest/Cast speakers. Use when asked about speakers, announcements, volume, playing music, or TTS.
Reorder groceries from Star Market by replaying the most recent order. Adds items to cart but does NOT checkout. Use when asked to reorder groceries, restock the kitchen, or place a Star Market order.
Locate Dylan, Julia, or both using Apple FindMy. Returns a screenshot of their map location. Use when asked "where is Dylan/Julia", "find Dylan/Julia", "locate someone", or anything about someone's physical location.
Search, upload, download, share, and manage Google Drive files and folders for Dylan, Julia, or other accounts. Use when asked about Drive files, documents, sharing, uploads, downloads, storage, or finding files.
Control Philips Hue smart lights. Use when asked about lights, lighting, brightness, room lighting, or turning lights on/off.
Read Mysa baseboard heater thermostat status at Crosstown. Use when asked about baseboard heaters, electric heat, Mysa thermostats, or room temperature at Crosstown (for baseboard heaters specifically).
Control the Litter-Robot 4 at Crosstown (West Roxbury). Use when asked about the litter box, cat litter, waste level, cleaning the litter box, cat weight, Sopaipilla, Burrito, or anything about the Litter-Robot. NOT for Petlibro feeder/fountain (use petlibro skill for those).
Search restaurants, check availability, and book reservations on OpenTable. Use when asked about OpenTable reservations, restaurant availability on OpenTable, booking a table via OpenTable, or searching for restaurants by cuisine/location.
macOS GUI automation via Peekaboo. Use when asked to interact with the Mac Mini desktop, click buttons, type text, take screenshots, control windows/apps, navigate menus, or perform any visual UI automation.
Control Petlibro smart pet devices (feeder and fountain) at Crosstown and Cabin. Use when asked about feeding the cats, cat food, pet feeder, water fountain, how much the cats drank, feeding schedule, or anything about the Petlibro devices. NOT for Litter Robot (different device).
Manage Apple Reminders — create, view, complete, edit, and delete reminders and lists. Use when asked to set a reminder, check what's due, mark tasks done, manage to-do lists, or anything involving Apple Reminders.
Run Apple Shortcuts for HomeKit scenes, automations, and system actions. Use when asked about home scenes, automations, fireplace, or triggering shortcuts.
Play music via Spotify and control Google Home speakers. Use when asked to play music, songs, artists, playlists, podcasts, or control speakers/volume/audio.
Summarize any URL, YouTube video, podcast, PDF, or file into concise text. Use when asked to read an article, summarize a link, get the gist of a video or podcast, extract content from a URL, or when you need to understand what a web page or document contains.
gws CLI: Shared patterns for authentication, global flags, and output formatting.
Find Gmail messages with attachments and save them to a Google Drive folder.
Fix Pinchtab/headless browser JavaScript .click() not triggering React event handlers. Use when: (1) pinchtab eval element.click() runs but React app doesn't respond, (2) clicking links/buttons on React SPAs via headless browser automation has no effect, (3) OpenTable or other React sites ignore programmatic clicks but work with real user clicks. Solution: use dispatchEvent with full MouseEvent sequence (mousedown/mouseup/click) with real coordinates from getBoundingClientRect().
Qualifies and prioritizes Salesforce leads for SDRs. Queries leads by status, checks for duplicates, identifies stale leads. Use when reviewing lead queues, triaging new leads, checking for duplicate accounts, or prioritizing outreach.
Configure OpenAI Codex CLI to use custom model providers like Groq, OpenRouter, or other OpenAI-compatible APIs. Use when: (1) Getting 401 errors when trying custom providers, (2) Codex profiles not loading correctly, (3) Need to route Codex to non-OpenAI endpoints, (4) wire_api errors or "responses" endpoint not found. Covers env_key auth, wire_api selection, and the -c flag workaround for profiles.
Search the web for current information, news, facts, and answers. Use when asked questions about current events, needing to look something up, finding websites, researching topics, or when you need up-to-date information beyond your training data.
Fix UTF-8 double-encoding corruption where special characters like arrows (→, ↔) become garbled sequences like "âÂÂ" or "â†Â". Use when: (1) Non-ASCII characters display as mojibake after migration/serialization, (2) Arrows, emojis, or accented characters become Ã-prefixed garbage, (3) Content looks correct in source but corrupted after processing through gray-matter, YAML, or text pipelines. Covers detection via hex inspection and fix via latin-1 decode chain.
Tracks Salesforce marketing campaign performance and attribution. Analyzes lead generation, conversion rates, ROI metrics. Use when reviewing campaign effectiveness, checking lead sources, preparing marketing reports, or analyzing GTC/webinar performance.
Create new OpenClaw skills, modify and improve existing skills, and measure skill performance with evals. Use when users want to create a skill from scratch, update 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 asked to "make a skill", "turn this into a skill", "improve this skill", or "test this skill".
Fix Samsung Frame TV showing a connection notification on the panel every time a samsungtvws WebSocket is opened, even with a saved token. Use when: (1) polling a Samsung Frame TV for status from a dashboard/cron and the panel briefly wakes or shows "[App] is connecting" each poll, (2) using samsungtvws / SamsungTVWS.open() against a Frame TV, (3) art-mode or app_list calls cause a visible popup. Solution: do REST-only polling (rest_device_info, rest_app_status) and reserve WebSocket calls for user-initiated commands.
Speak text aloud using ElevenLabs TTS voices. Use when asked to say something out loud, announce something, read text aloud, speak a message, or use text-to-speech. Like the macOS say command but with high-quality AI voices.
Check Ring doorbell status, battery, events, and wifi health. Use when asked about the doorbell, front door, who rang the bell, motion at the door, or Ring device status. NOT for locks or alarm (Ring Alarm not supported).
Search restaurants, check availability, and book reservations on Resy. Use when asked about restaurant reservations, dinner plans, booking a table, finding available restaurants, or sniping hard-to-get reservations.
Set up background reservation sniping for hard-to-book restaurants on OpenTable or Resy. Use when asked to monitor for cancellations, auto-book when a slot opens, snipe a reservation, or set up a recurring availability check for a specific restaurant.
Researches NVIDIA Inception program startups, VCs, and accelerators. Searches companies by industry, location, funding, finds investor connections, analyzes membership status. Use when exploring Inception portfolio, researching startups, finding VC relationships, or preparing for startup engagements.
Fetch upcoming events from Red Apple Farm and Brew Barn (near the cabin in Phillipston, MA), then sync them to the clawdbotbochman calendar. Use when asked about farm events, Brew Barn events, or cabin-area happenings.
Apply Gmail labels to matching messages and archive them to keep your inbox clean.
Query Google Calendar free/busy status for multiple users to find a meeting slot.
Enable a Gmail out-of-office auto-reply with a custom message and date range.
Create a Gmail filter to automatically label, star, or categorize incoming messages.
Query and explore Salesforce CRM data including accounts, leads, opportunities, contacts, cases, campaigns, and products. Use when users mention salesforce, CRM, accounts, leads, opportunities, pipeline, contacts, cases, support tickets, campaigns, or need to search/query customer data.
Fix Prisma "Too many connections" and connection pool exhaustion errors in serverless environments (Vercel, AWS Lambda, Netlify). Use when: (1) Error "P2024: Timed out fetching a new connection from the pool", (2) PostgreSQL "too many connections for role", (3) Database works locally but fails in production serverless, (4) Intermittent database timeouts under load.
Fix polling loops that repeat finalization actions instead of exiting after a trigger. Use when: (1) a return/completion signal is detected but the loop keeps running and re-triggering the same action, (2) "resilient" try/except blocks inside a polling loop cause the loop to continue after a finalization error, (3) repeated dock/stop/ cleanup commands are sent when only one was expected. The pattern: inner finalization steps are individually try/excepted for resilience, but an outer except catches unexpected errors and doesn't exit, causing the loop to re-detect the trigger.
Fix OpenClaw gateway crash-looping after npm upgrade overwrites LaunchAgent plist. Use when: (1) Gateway exits with code 1 after `npm install -g openclaw`, (2) gateway.err.log shows MissingEnvVarError for BLUEBUBBLES_PASSWORD or other secrets, (3) LaunchAgent plist ProgramArguments changed from wrapper script to direct node execution, (4) `openclaw install --service` ran as post-install hook and replaced the plist. Covers diagnosis, fix, and safeguard for future upgrades.
Fix OpenClaw SSRF guard blocking channel plugins (BlueBubbles, etc.) from reaching localhost or private/LAN IP servers. Use when: (1) gateway.err.log shows "blocked URL fetch (bluebubbles-api) reason=Blocked hostname or private/internal/special-use IP address", (2) `openclaw health` reports BlueBubbles as "failed (unknown)", (3) after upgrading OpenClaw to 2026.3.28+ or 2026.4.x. The SSRF guard doesn't distinguish between agent-initiated web_fetch and plugin internal HTTP calls.
Fix OpenClaw skills showing "needs setup" or "Missing requirements (bins)" even though the CLI wrapper exists in ~/.openclaw/bin/. Use when: (1) `openclaw skills list` shows skills as "needs setup" despite the binary being at ~/.openclaw/bin/<name>, (2) `openclaw skills check` lists custom skills under "Missing requirements", (3) the gateway runtime uses the skill fine but the CLI check fails. Root cause: the skill `requires.bins` check uses the system PATH (not the gateway's configured PATH), so binaries in ~/.openclaw/bin/ are invisible to it.
Debug getServerSideProps and getStaticProps errors in Next.js. Use when: (1) Page shows generic error but browser console is empty, (2) API routes return 500 with no details, (3) Server-side code fails silently, (4) Error only occurs on refresh not client navigation. Check terminal/server logs instead of browser for actual error messages.
Control Nest thermostats, check home climate status, view temperature history, check outdoor weather, and capture camera snapshots. Use when asked about home temperature, thermostat settings, heating, cooling, room climate, temperature history/trends, outdoor weather, or camera/what does the kitchen look like.
Manage Microsoft Outlook email via CLI. Search, read, open, triage, archive, flag, and organize inbox messages. Use when working with email, checking unread messages, searching mail, or organizing inbox.
Manage customers, initiatives, and capacity allocations in Navigator. Lists customers, service providers, initiatives, node allocations, contracts, and block deliverables. Use when checking who has capacity, viewing customer allocations, tracking initiatives, or managing supply contracts.
Manage Microsoft Outlook calendar via CLI. View schedule, create events, open events, respond to invites, update meetings. Use when working with calendar, scheduling meetings, checking availability, or managing events.
iRobot Roomba MQTT dock command is silently ignored during active cleaning (run phase). Use when: (1) dock commands return ok but robot keeps cleaning, (2) repeated dock calls have no effect, (3) dorita980 dock not working. Must send stop first, wait 2s, then dock.
Fix for Python requests returning 500 "Internal Server Error" when calling APIs protected by Imperva/Incapsula WAF, while the same request works with curl. Use when: (1) API call works with curl but fails with Python requests, (2) response headers contain "X-CDN: Imperva" or Incapsula cookies, (3) API returns 500 with no JSON body, just "Internal Server Error" plain text, (4) response contains Set-Cookie with visid_incap_ or nlbi_ prefixes. Solves bot detection issues with Imperva-protected APIs like Resy, and other services using Imperva/Incapsula CDN.
Read, search, send, and manage Gmail messages for Dylan, Julia, or other accounts. Use when asked about email, inbox, unread messages, sending emails, checking mail, or Julia's email.
Google Drive: Upload a file with automatic metadata.
Google Calendar: Show upcoming events across all calendars.
Fix broken redirects on GitHub Pages SPAs when renaming routes. Use when: (1) Old URLs return 404 instead of redirecting after a route rename/rebrand, (2) React Router <Navigate> redirects only work after clicking a link but not on direct URL access, (3) GitHub Pages serves raw 404 for old routes because no prerendered HTML exists. Covers prerendering redirect routes and handling trailing-slash variants.
Cancel in-progress GitHub Actions workflows when a PR is merged or closed. Use when: (1) Slow CI jobs (like Codex reviews) waste minutes after PR merges, (2) You have `cancel-in-progress: true` but workflows still run after merge, (3) You want to save CI minutes by stopping obsolete workflow runs. Covers the `closed` event type pattern with concurrency groups.
Explores Salesforce account data with 360-degree views including contacts, opportunities, and cases. Use when researching accounts, preparing for customer meetings, onboarding to a territory, or analyzing account health.
Control the EchoNest collaborative music queue and manage the EchoNest server. Use when asked about music, queue, now playing, adding songs, searching for music, skipping songs, deploying EchoNest, checking server health, or viewing logs.
Automated dog walk detection and Roomba control. Detects departures via Fi GPS collar, starts Roombas, and monitors return via Ring motion + WiFi + Fi GPS. Use when asked about dog walks, Roomba automation during walks, or walk tracking.
Fix duplicate state updates when using dnd-kit for drag-and-drop. Use when: (1) State changes fire multiple times during a single drag operation, (2) History/audit entries are duplicated for intermediate positions, (3) handleDragOver is updating state that should only change on drop. Covers the difference between onDragOver (continuous) and onDragEnd (final).
Debug unexplained analytics traffic from CI/CD pipelines hitting production. Use when: (1) Analytics show traffic to URLs that match test patterns like /this-page-does-not-exist, /test-route, or 404 test paths, (2) Traffic has near 1:1 session-to-user ratio suggesting automated hits, (3) Traffic correlates with deploy frequency, (4) HeadlessChrome or Playwright appears in user agents. Covers Playwright, Cypress, and other e2e test frameworks running against production URLs.
Fix Chrome --remote-debugging-port silently failing to open any port. Use when: (1) Chrome launches with --remote-debugging-port=9222 but curl to 127.0.0.1:9222 returns "exit code 7" (connection refused), (2) lsof shows no LISTEN on the debugging port despite Chrome having the flag in its process args, (3) Setting up chrome-devtools-mcp or any CDP-based tool with a real Chrome instance. The root cause is that Chrome requires --user-data-dir when --remote-debugging-port is used, and silently ignores the port flag without it (error only visible on stderr).
Fix 1Password CLI (op read) hanging indefinitely in macOS launchd/headless contexts, and fix incessant TCC "op would like to access data" popups on macOS Tahoe. Use when: (1) A LaunchAgent wrapper script calls `op read` and the service never starts, (2) `op read` works over SSH but hangs when run by launchd, (3) Setting OP_BIOMETRIC_UNLOCK_ENABLED=true or OP_SERVICE_ACCOUNT_TOKEN doesn't help under launchd, (4) Wrapper script appears to "exit silently" because op read blocks forever, (5) Repeated "op would like to access data from other apps" TCC popups on macOS Tahoe that don't persist after clicking Allow. Covers the cache-only pattern (recommended) and probe-timeout-cache pattern for reliable secret loading in headless services.
Gmail: Send an email.
Google Tasks: Manage task lists and tasks.
Infrastructure health monitoring and recovery for the Mac Mini. Use when asked about system health, disk usage, memory, DNS, service status, infrastructure diagnostics, or "is everything running okay". Also use proactively when troubleshooting service outages (BlueBubbles, gateway, cron failures).
Control the iRobot Roombas at Crosstown (Boston — 19 Crosstown Ave). Two robots available. Use when asked to vacuum, mop, start/stop/dock the Roomba at Crosstown, clean the house, or anything about the Roombas at Crosstown. NOT for Cabin Roombas (use roomba skill for Floomba/Philly).
Control Eight Sleep Pod(s). Defaults to Crosstown (West Roxbury); pass `--location cabin` once the Cabin Pod is online. Use when asked about bed temperature, sleep tracking, sleep score, Eight Sleep, Pod, bed cooling/heating, or anything about the smart bed. Supports both sides — Dylan (left) and Julia (right). NOT for room thermostat (use nest-thermostat for that).