The tools, workflows, and patterns I bring to every client engagement: the daily toolset, the workflows running in production, the custom Claude Code skills I install across machines, the connectors wired into my editor, and the process behind every build. Borrow whatever's useful.
Tools I reach for on every engagement, each one run across production deployments. The "not using" section below covers what gets left out and why.
Every workflow below lives in a git repo and runs on Vercel scheduled jobs and serverless functions: versioned, debuggable in production logs, and owned by whoever holds the repo.
Claude reads my site analytics, GitHub commits, new Whop members, and newsletter signups from the past 24 hours, then writes a 5-line summary to a Slack DM.
Scrapes competitor sites for new content, compares against yesterday, and surfaces anything that matters. Results are stored so I can read back across days.
Pulls the week's commits across my repos, the notes I've tagged #newsletter, and saved highlights, then drafts the issue in Markdown. I edit and publish. Claude never ships copy on its own.
When a contact form submits, Claude looks up the name and company via web search, judges fit against the kind of client I take, and scores urgency from the message. It writes the row to Supabase and pings Slack with a recommended action.
A Stripe payment kicks off the sequence: signed-contract PDF, a Notion workspace cloned from the kickoff template, a scheduling-link email, and a day-1 onboarding Loom. One flow in Vercel.
I run claude code --headless against a queue of issues in a private repo for routine grooming: it picks one at a time, drafts a PR, runs the tests, and stops for review when blocked. I kick it off when the backlog warrants it, not as an always-on production agent.
Custom skills live at ~/.claude/skills/. Each is a markdown spec plus optional helper scripts that Claude runs when I type /<name>. These are mine, installable via curl. Source: github.com/pravinemani5545/skills-and-mcp.
MCP lets Claude talk directly to apps. Below is what runs in my Claude Code config: official servers, community ones, and my own Gmail server. I patch the Obsidian one locally, since upstream is abandoned.
Current library docs without web search. Most-used by far; every framework question goes through it first.
Read repos, search code, list and comment on PRs, file issues. Covers most of what I used the gh CLI for.
My own server. Multi-account Gmail: account-aware search, labels, archive, and filters across inboxes.
Read and write notes in my vault. Patched locally (PR #44); upstream abandoned.
Read and write to my Supabase projects without the dashboard round-trip.
Drive a browser from Claude: visual checks, scroll-state debugging, scraping a live page.
Inspect deployments, read build and runtime logs, check projects without leaving the editor.
Pull issues and stack traces into context, triage runtime errors, and trace them to a fix.
Query payments, customers, and subscriptions while wiring up checkout and billing.
Send and inspect transactional email, manage domains and templates from Claude.
Create pages, search workspaces, comment on docs. Used heavily during client onboarding.
Create and update tasks and projects in Things, so Claude can file follow-ups as I work.
Query campaigns and performance data for client ad accounts without the Ads UI.
Pull component source and registry items into a build when assembling a UI fast.
Less about prompts than about workflow. These are the moves I make day to day, and none of them cost anything.
For anything touching 3+ files or with unclear scope, I open Plan Mode first. Claude proposes the approach, I push back, and we converge before any code ships. It cuts most of the "built the wrong thing" rework.
When a task means exploring 5+ files or checking 3+ code paths, I run Explore sub-agents in parallel. The main context stays clean, and each one returns just its findings. Faster and cheaper than doing it inline.
Tabbed Claude Code sessions, one per project, so I can switch context without losing the thread. Combined with /compress and /resume, I pick a week-old task back up in about 60 seconds.
Claude Code --headless runs in CI or on a server with no terminal attached. I use it for nightly repo grooming (dependency PRs, lint fixes, doc updates), pipeline rebuilds, and the issue-triage agent above.
Pre-commit hooks call Claude to review the diff before a commit lands. Pre-push hooks gate against direct pushes to main. A stop-hook summarizes state at the end of a long session. All of it lives in ~/.claude/settings.json.
Every project has a CLAUDE.md covering conventions, known bugs, and gotchas. Claude reads it on session start, and /preserve keeps it current. Context-rebuild time across sessions drops to near zero.