The AI stack.
Tools. Workflows. MCPs. Process.

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.

01 · the kit

The daily-driver toolset.

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.

01 · DAILY DRIVERS
Claude Code
The development surface. Sub-agents, MCP, hooks, headless mode. Replaces what an IDE, a pair-programmer, and a research assistant used to do separately.
DAILY
Vercel
Hosting, serverless, cron, KV in one place. Every client deploy runs through Vercel Pro. Build logs document the production deployment.
DAILY
TypeScript
Default for anything past a single-file script. Strict mode on. Type-check must pass before any commit lands.
DAILY
Anthropic API
Claude 4.7 Opus for code and reasoning. Sonnet 4.6 for high-volume operations. Prompt caching wired on every stable system prompt.
DAILY
MCP
Model Context Protocol. The contract that lets an AI agent call internal APIs, databases, and services like a teammate would. Custom servers built per engagement when needed.
DAILY
Supabase
Postgres plus auth plus Row-Level Security in one platform. RLS replaces about 80% of the authorization code most apps write by hand, and gets it right more often.
DAILY
Stripe
Checkout, Customer Portal, webhooks. Idempotency-key handling on the webhook is required for correctness under retry conditions.
DAILY
Resend
Transactional email with a clean SDK and reliable DKIM. Default mail provider on every engagement: onboarding, lifecycle, internal alerts.
DAILY
02 · DELIBERATELY NOT USING
n8n / Make / Zapier
Visual workflow platforms. Not used as the primary execution layer on production builds. The equivalent workflows ship as Vercel cron jobs and serverless functions on the client's own infrastructure. Versioned in git. Reviewable in pull requests. Debuggable in production logs. Workflow logic on a third-party visual platform is a dependency the client cannot fully own. Every workflow previously migrated from these tools has fit inside 40 to 60 lines of TypeScript.
AVOIDED
02 · workflows

What I run on a schedule.

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.

01DAILY · 06:00 ET

Morning operations brief

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.

Vercel CronAnthropic APIPlausible APISlack Webhook
02DAILY · 09:00 ET

Competitor watch

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.

Vercel CronFirecrawlClaude 4.7Vercel KV
03WEEKLY · MON 08:00

Newsletter draft generator

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.

Vercel CronGitHub APIObsidian MCPBeehiiv API
04EVENT · LEAD CAPTURE

Lead enrichment + routing

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.

Vercel FunctionClaude 4.7SupabaseSlack
05EVENT · CLIENT ENGAGEMENT

Client onboarding sequence

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.

Vercel FunctionStripe WebhookNotion APIResend
06CONTINUOUS · HEADLESS

Claude Code headless agent

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.

Claude Code HeadlessGitHub APISub-agents
03 · claude code skills

Slash commands I install on every machine.

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.

/growth-sprint
MINE
30-day outbound + content sprint planner. Takes your goal (MRR, leads, list growth). Drafts a per-week schedule. Specific channel mix. Message cadence. Content blocks. Outputs calendar-ready markdown.
/design-system
MINE
Apply Terminal DS to any project. Guided interview (accent, vibe, theme, motion, exclusions). Then writes the tokens and per-page style integrations. The same skill produced this site.
/artifact
MINE
Convert any conversation into a saveable artifact. Strips back-and-forth. Structures the output. Asks where to save (Obsidian vault, GitHub gist, file in repo). Used for spec drafting and post-mortems.
/preserve
ELIAALBERTI
Update CLAUDE.md with current-session learnings. Catches phase changes. Decisions. New file structure. Blockers. Appends to the project's CLAUDE.md with size-policed sections. Auto-archives entries older than 7 days.
/compress
ELIAALBERTI
Summarize a long conversation into a resumable note. Output lands in ~/.claude/compress/ with a date stamp. Paired with /resume to pick up later without spinning up full context.
/resume
ELIAALBERTI
Load a compressed conversation back into context. Reads the latest /compress output. Hands Claude the resume + the user's stated next step. No re-explaining 30 messages of background.
04 · mcp servers

What's plugged into Claude.

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.

context7DOCS

Up-to-date library docs without web search. Most-used by far; every framework question goes through it first.

githubCORE

Read repos, search code, list/comment PRs, file issues. Replaces 80% of the gh CLI for me.

obsidianSELF-HOST

Read/write notes in my vault. Patched locally (PR #44 applied); upstream abandoned.

supabaseDATA

Query + write to my Supabase projects. Saves the round-trip through their dashboard for ad-hoc tasks.

playwrightTESTING

Drive a browser from Claude. Visual diff checks, scroll-state debugging, scraping with real DOM.

notionDOCS

Create pages, search workspaces, comment on docs. Used heavily during client onboarding sequences.

gmailCOMMS

Search threads, draft replies, manage labels. Mostly for triaging incoming during heads-down sessions.

google calendarSCHED

List/create/update events. Lets Claude propose meeting times around my actual availability.

google driveSTORE

Read docs from Drive into context, create new docs, share. Less use than the others but indispensable when needed.

figmaDESIGN

Read design files into Claude for layout reference. Useful when porting a Figma spec to code.

canvaDESIGN

Asset generation for newsletter headers + social posts. The result is rarely shipped as-is, but it's a fast first draft.

05 · dev process

How AI fits into the actual work.

Less about prompts. More about workflow. The patterns below are the actual moves I make day-to-day. None of them require buying anything.

01

Plan Mode first, code after.

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.

PLAN MODE
02

Sub-agents for parallel research.

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.

SUB-AGENTS
03

Multi-window orchestration.

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.

MULTI-WINDOW
04

Headless mode for autonomous tasks.

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.

HEADLESS
05

Hooks for guardrails.

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.

HOOKS
06

Memory + CLAUDE.md per project.

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.

MEMORY