← Back to blog
CASE STUDY · THE REPO IS THE COMPANY

7 Claude Skills Replaced Our Entire Marketing Team

No HubSpot. No Klaviyo. No Apollo. No Adobe. We have a folder called .claude/commands/ and seven markdown files. They do the work of a 5-person marketing team for $13/month.

$542 SaaS stack /mo (before)
$13 Repo approach /mo (after)
~2 hrs To build each skill

9 tabs. 9 bills. 9 data silos.

The marketing stack used to be: Apollo for outreach, Klaviyo for email, Adobe for graphics, Foreplay for ad spy, Surfer for SEO, Phantombuster for IG, Tweet Hunter for X, Smartlead for cold email, and Beacon for lead magnets. Nine tools that don't talk to each other. You pay Zapier and Segment $140/month just to make them pretend they do.

HubSpotCRM$50
KlaviyoEmail sequences$100
Adobe ExpressCarousels + graphics$10
MailchimpNewsletters$45
ZapierGlue between tools$50
MixpanelAnalytics$100
SegmentData sync$90
PandaDocProposals$25
CalendlyScheduling$12
Monthly total$542
The real cost isn't the subscription. It's that none of these tools share data. HubSpot can't see your ad performance. Klaviyo can't see your CRM scores. Apollo doesn't know who clicked which carousel. You're paying for nine tools that don't talk to each other, then paying again to make them pretend they do.

One folder. Seven commands.

Open .claude/commands/ in the SoloStack repo. There are seven files. Each one is a markdown skill that turns a slash command in Claude Code into a complete marketing workflow. They share a single Postgres database, a single brand package, and the same shared TypeScript helpers in departments/.

~/contentforce/.claude/commands
$ ls
linkedin.md   ad-spy.md     ig-scroll.md
x-scroll.md   outreach.md   ebook.md     aeo.md

$ cat linkedin.md | head -5
---
name: linkedin
description: LinkedIn outreach + DMs + comment harvesting
---

# 7 markdown files. The entire marketing team.

Each skill is roughly 200 lines of markdown plus a few hundred lines of shared TypeScript in departments/. They get smarter every time Anthropic ships a new Claude model — your stack upgrades on Anthropic's roadmap, not a SaaS roadmap.

What each command actually does

Real commands. Real file paths. Real cost reductions. Open the repo and grep for any of these — they exist.

SKILL 1 / 7
/linkedin
SAVES $99/mo

Scrape. Enrich. DM. Connect.

An in-house Voyager API client for LinkedIn. Scrapes profiles, harvests post commenters, sends connection requests, posts updates, replies to comments, and runs DMs — all from one prompt. Persistent daily rate tracking prevents bans, lockfile prevents parallel-tab 429s, and every action writes back to Postgres for full attribution.

Replaces: ApolloLemlistUnipile
.claude/commands/linkedin.md

200+ files of business logic in departments/sales/scripts/lib/linkedin.ts — exposed to Claude as one markdown command.

SKILL 2 / 7
/ad-spy
SAVES $99/mo

Every competitor ad. Every day.

Pulls every active ad from Meta Ad Library, Google Ad Transparency Center, and TikTok Creative Center for your competitor list. Scores by relevance, captures the creative, summarizes hooks/offers/audience targeting, and writes a daily intelligence report to your repo. No Foreplay subscription, no exports.

Replaces: ForeplayAdSpyMagic Brief
.claude/commands/ad-spy.md

Reads departments/ads/competitors.json, writes departments/ads/reports/ad-spy-{date}.md.

SKILL 3 / 7
/ig-scroll
SAVES $80/mo

45 minutes of doom scrolling → a 5-minute report.

Opens Instagram with a Playwright session, scrolls reels with human-like behavior (variable watch times, pauses), scores each one against your ICP, captures lead-magnet farming patterns, saves every ad, and trains the algorithm by liking + following 8+ creators per day. Within a week your feed is your competitive intel feed.

Replaces: PhantombusterBrandwatch
.claude/commands/ig-scroll.md

Output: departments/intelligence/instagram/digest-{date}.json + report-{date}.html.

SKILL 4 / 7
/x-scroll
SAVES $49/mo

Feed → action queue. Auto.

Same pattern as ig-scroll, applied to X/Twitter. Scrapes the feed, scores tweets against ICP, builds an action queue (likes, replies, bookmarks, follows), detects 'reply X to get Y' lead magnet patterns and farms them automatically. Bookmarks high-priority tweets for human review. No Tweet Hunter, no Typefully.

Replaces: Tweet HunterTypefully
.claude/commands/x-scroll.md

Daily digest with image vision analysis (Claude reads ad screenshots and meme posts).

SKILL 5 / 7
/outreach
SAVES $97/mo

100 personalized drafts. Your review.

Pulls leads from the CRM (filtered by ICP score), drafts personalized cold emails and LinkedIn DMs based on each lead's recent activity, and queues them in a review interface. You approve, edit, or reject. Approved messages send via Resend (email) or the in-house LinkedIn client (DMs). Every send logs to events for attribution.

Replaces: SmartleadInstantlyLavender
.claude/commands/outreach.md

Default flow: pull 100 leads → draft → queue → review → send → log.

SKILL 6 / 7
/ebook
SAVES $49/mo

Lead magnet. 5 minutes.

Describe a topic and audience. Claude generates the ebook outline, writes each chapter using your brand voice, lays out a branded PDF (using packages/brand for colors + fonts), creates a gated landing page in apps/landing, wires up a Netlify form for email capture, and adds the new lead to the nurture sequence. From idea to live download in one prompt.

Replaces: BeaconAIDesignrrAdobe Express
.claude/commands/ebook.md

Reuses packages/brand/css/ebook-print.css for print-ready PDFs.

SKILL 7 / 7
/aeo
SAVES $69/mo

Get cited in AI Overviews.

Scans Google AI Overviews and Perplexity for 40+ priority keywords, finds where competitors are cited and you're not, scrapes the cited pages to identify the answer pattern (comparison tables, FAQ schema, methodology sections), updates your pages to match, deploys, and re-scans in 2 weeks to verify lift. The whole loop in one command.

Replaces: SurferSEOProfound
.claude/commands/aeo.md

Citation monitor at departments/marketing/aeo/citation-monitor.mjs uses Playwright.

Three things SaaS can’t do

It’s not just cheaper. The skill model has structural advantages no point-and-click tool can replicate.

01

Skills compose.

One prompt can chain /ad-spy/ebook/outreach. With nine SaaS tools you click through nine UIs. With seven skills you write one sentence and walk away.

02

One database, one record.

Every skill reads and writes the same Postgres CRM. /ad-spy tags which competitors target your ICP. /outreach uses scores written by /linkedin. No exports, no Zapier, no “data sync” tax.

03

Models keep getting better.

Every Claude release upgrades all seven skills overnight. SaaS tools improve on a vendor’s roadmap. Your skills improve on Anthropic’s — which moves faster.

$542/mo → $13/mo

Every SaaS killed, what replaced it, and what you actually pay now.

Function SaaS Killed Was Skill Now
OutreachApollo + Lemlist$99/mo/linkedin + /outreach$0
Ad spyForeplay + AdSpy$99/mo/ad-spy$0
IG intelPhantombuster + Brandwatch$80/mo/ig-scroll$0
X intelTweet Hunter + Typefully$49/mo/x-scroll$0
Lead magnetsBeaconAI + Designrr$49/mo/ebook$0
SEO / AEOSurferSEO + Profound$69/mo/aeo$0
CRM + glueHubSpot + Zapier + Segment$190/moOne Postgres + repo$3
Email deliveryKlaviyo + Mailchimp$145/moResend + skill templates$10
Monthly total$542/mo~$13/mo
$529 saved/month = $6,350 saved/year

Open the repo. Here’s what you’ll see.

~/contentforce
contentforce/
├── .claude/commands/           # the 7 skills
│   ├── linkedin.md
│   ├── ad-spy.md
│   ├── ig-scroll.md
│   ├── x-scroll.md
│   ├── outreach.md
│   ├── ebook.md
│   └── aeo.md
├── departments/              # skill implementations
│   ├── sales/scripts/lib/linkedin.ts  # Voyager API client
│   ├── ads/                           # competitor configs
│   ├── intelligence/                  # IG + X scrapers
│   └── marketing/aeo/                 # citation monitor
├── packages/
│   ├── brand/                         # shared design system
│   └── db/                            # one Postgres schema
└── CLAUDE.md                  # the CEO prompt

Comment SKILLS on the LinkedIn post and we’ll DM you the open-source repo.

Common questions

Real. Open .claude/commands/ in the SoloStack repo and you'll find seven markdown files: linkedin.md, ad-spy.md, ig-scroll.md, x-scroll.md, outreach.md, ebook.md, and aeo.md. Each one is the entry point Claude Code uses when you type the slash command. The actual implementation lives in departments/{name}/scripts/ as TypeScript helpers — but the skill file is what makes it accessible from any prompt.
Two reasons. First, LLMs are dramatically better at reading and writing code than navigating dashboards — there's more training data and tighter feedback loops. Second, skills compose. With a UI you click through five tools sequentially. With skills you can chain them in one prompt: 'Run /ad-spy, find the top 3 hooks, generate an /ebook on each, then queue /outreach to leads who interacted with similar ads.' That's a 30-minute session that'd take a week of dashboard-hopping.
Because the only paid services are commodity infrastructure: Neon Postgres for the CRM (~$3), Resend for transactional email (~$10), Netlify for hosting (free tier). Everything else — outreach, scoring, ads intelligence, content generation, pSEO pages — runs as Claude Code skills against your own database. Claude Code itself is $200/month, but that's your development tool, not a per-seat business cost.
Skills are markdown + your own TypeScript, so you fix them like any other code. The /linkedin skill has persistent daily rate tracking (~/.claude-browser/linkedin-daily-rates.json), a lockfile to prevent parallel runs, and tab reuse to avoid 429s. When LinkedIn changes an endpoint, you find it via the network tab, update one function in linkedin.ts, and you're done — no waiting for a vendor to ship a patch.
They can call any external API, but the magic is when they share one Postgres database. Every skill writes to the same contacts and events tables. /ad-spy logs which competitors are running ads. /outreach reads ICP scores written by /linkedin. /aeo reads conversion data to prioritize keywords. There's no integration tax because there's no integration — it's all the same database.
Each of the seven took 2-4 hours of Claude Code work. The pattern is: write a CLAUDE.md describing what you want, let Claude scaffold the TypeScript helpers, iterate on the markdown skill file until it produces good output, then ship. Skills get cheaper to build over time — once /linkedin existed, building /ig-scroll and /x-scroll was mostly copy-paste-rename.
No. The whole point is vibe coding — describe what you want in plain English and Claude writes the implementation. The skills folder, the CLAUDE.md files, and the existing patterns give Claude all the context it needs. You're the product manager and editor. Claude is the team.
Comment 'SKILLS' on the LinkedIn post and we'll DM you the repo, or grab it directly from github.com/michael-shaimerden/contentforce. It includes all seven skills, the CRM schema, the brand package, the carousel studio, and every CLAUDE.md.

The repo IS the company

Get the SoloStack monorepo template — departments, shared CRM, AI agents, and every skill including the seven above.

Get SoloStack →