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 are the client-relevant servers in my Claude Code config: official ones plus my own Gmail server. A handful of personal ones (notes, tasks, testing) are not listed.
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 to my Supabase projects without the dashboard round-trip.
Inspect deployments, read build and runtime logs, check projects without leaving the editor.
Query payments, customers, and subscriptions while wiring up checkout and billing.
Send and inspect transactional email, manage domains and templates from Claude.
Query campaigns and performance data for client ad accounts without the Ads UI.
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.