The tools, workflows, and patterns used on every client engagement. Daily-driver toolset. Scheduled workflows in production. Custom Claude Code skills installed across machines. MCP servers wired into my editor. Dev process applied on every build. Borrow freely.
Tools used on every client engagement. Each one has earned its place across multiple production deployments. The "not using" section at the bottom is the architectural argument for what gets left out.
Code-first automation. Every workflow below lives in a git repo and runs on Vercel cron plus serverless functions. Versioned. Debuggable in production logs. Owned by whoever's repo it lives in.
Claude reads my Plausible analytics, GitHub commits, Whop new-member events, and Beehiiv subscriber delta from the past 24 hours. Outputs a 5-line summary into a Slack DM. Cron + Anthropic API + Resend.
Scrapes competitor sites for new content via Firecrawl. Summarizes diffs vs yesterday. Surfaces anything that crosses a relevance threshold. Stored in Vercel KV so I can read back across days.
Pulls the week's shipped commits across my repos. My notable Obsidian notes (tagged #newsletter). Saved highlights. Drafts the Beehiiv issue in Markdown. I edit, then publish. Claude doesn't ship copy on its own.
Webhook fires when a contact form submits. Claude enriches name + company via web search. Classifies fit against my ICP. Scores urgency from the message text. Drops the row into Supabase and pings Slack with a recommended action.
Stripe payment triggers a sequence. Signed-contract PDF generation. Notion workspace clone with kickoff template. Scheduling-link email. Day-1 onboarding Loom delivery. One state machine in Vercel.
Long-running Claude Code session. Watches a queue of issues in a private repo. Picks one off at a time. Drafts a PR. Runs tests. Asks for review only when blocked. Pattern: claude code --headless wrapped in a process supervisor.
Custom skills live at ~/.claude/skills/. Each one is a markdown spec + optional helper scripts that Claude invokes when I type /<name>. The first three are mine. The rest came from EliaAlberti's stack. Source: github.com/pravinemani5545/personalClaudeSkills.
~/.claude/compress/ with a date stamp. Paired with /resume to pick up later without spinning up full context./compress output. Hands Claude the resume + the user's stated next step. No re-explaining 30 messages of background.MCP (Model Context Protocol) lets Claude talk directly to apps. Below is what runs in my Claude Code config. Half are official Anthropic servers. The rest are community or self-hosted. The Obsidian one is patched locally, upstream's been abandoned.
Up-to-date library docs without web search. Most-used by far; every framework question goes through it first.
Read repos, search code, list/comment PRs, file issues. Replaces 80% of the gh CLI for me.
Read/write notes in my vault. Patched locally (PR #44 applied); upstream abandoned.
Query + write to my Supabase projects. Saves the round-trip through their dashboard for ad-hoc tasks.
Drive a browser from Claude. Visual diff checks, scroll-state debugging, scraping with real DOM.
Create pages, search workspaces, comment on docs. Used heavily during client onboarding sequences.
Search threads, draft replies, manage labels. Mostly for triaging incoming during heads-down sessions.
List/create/update events. Lets Claude propose meeting times around my actual availability.
Read docs from Drive into context, create new docs, share. Less use than the others but indispensable when needed.
Read design files into Claude for layout reference. Useful when porting a Figma spec to code.
Asset generation for newsletter headers + social posts. The result is rarely shipped as-is, but it's a fast first draft.
Less about prompts. More about workflow. The patterns below are the actual moves I make day-to-day. None of them require buying anything.
For anything touching 3+ files or with unclear scope, I open Plan Mode before touching code. Claude proposes the approach. I push back. We converge. Exit plan mode and ship. Cuts ~70% of "build the wrong thing" rework.
When I need to explore 5+ files or check 3+ different code paths, I spawn Explore sub-agents in parallel. Main context stays clean. Sub-agents return distilled findings. Faster. Cheaper.
Tabbed Claude Code sessions, one per project. Switch context without losing thread. Combined with /compress + /resume, I pick up a week-old task in 60 seconds.
Claude Code --headless runs in CI or on a server. No terminal needed. I use it for nightly repo grooming (dependency PRs, lint fixes, doc updates). Data pipeline rebuilds. The long-running issue-triage agent above.
Pre-commit hooks call Claude to review the diff before commit. Pre-push hooks gate against direct pushes to main. Stop-hook on long-running sessions to summarize state. All in ~/.claude/settings.json.
Every project has a CLAUDE.md. Conventions. Known bugs. Gotchas. Claude reads it on session start. /preserve keeps it fresh. Cuts context-rebuild time to near-zero across sessions.