DEV Community

Newan Vinthusa
Newan Vinthusa

Posted on

I built a Claude Code skill that finds customers, not competitors, on Reddit & LinkedIn

`I do consulting. Like most people who sell a service, I know I should be active on Reddit and LinkedIn โ€” finding people with the problem I solve and being genuinely helpful. I never do it consistently, because the manual loop is miserable: search, scroll, judge relevance, figure out what to even say, repeat.

So I tried to automate the boring parts with a Claude Code skill. And the first version taught me something that reframed the whole thing.

The bug that wasn't a bug

My first runs surfaced ~10 posts that all matched my topic โ€” and were almost entirely other consultants posting sales content. Competitors. Not a single actual buyer.

It took me a minute to see why, and it's obvious in hindsight: keyword search returns whatever is published about a topic, and what's published is supply-side. Search "leadership consulting" and you get people selling leadership consulting. The people who actually need it never type that phrase โ€” they type the pain:

  • โŒ supply: "5 ways emotional intelligence transforms teams ๐Ÿงต โ€” DM me to work together"
  • โœ… demand: "my team keeps having the same conflict and I don't know how to get through to them"

Completely different words. So the fix wasn't better ranking โ€” it was searching the pain your buyer voices, not the category you sell.

What I ended up with: delta-engage

delta-engage is an open-source Claude Code skill. Twice a week it:

  1. Searches Reddit + LinkedIn for the pain language of your ICP (not your service category)
  2. Classifies every post โ€” buyer / peer_competitor / kol / noise โ€” so a competitor's sales post never shows up as a lead
  3. Routes peers to a separate "partnerships" list instead of dropping them (they're worth a relationship, not a pitch)
  4. Drafts a ready-to-edit comment for each, in your voice
  5. Hands you a digest you can action in ~15 minutes

The one rule it never breaks: you write the final comment and post it manually from your own account. It prepares; you act.

What a run looks like

`plaintext
๐ŸŽฏ Engagement digest โ€” Thu 18 Jun 2026 ยท 2 to engage ยท 1 partnership

ENGAGE (your ICP)

  1. [REDDIT] r/ExperiencedDevs ยท fit 9/10 ยท buyer ยท 4h ago Our oncall is burning people out โ€” how do you actually fix alert fatigue? https://www.reddit.com/r/ExperiencedDevs/comments/1abc234/oncall_burnout/ โ†‘142 ยท 38 comments Why it cleared the bar: Squarely your ICP, voicing the exact pain you solve. Angle (question-led): Get them to the one noisy alert source before any tooling.

Comment (edit before posting):

The fix that worked for us wasn't a new tool โ€” it was deleting the ~40% of
alerts that never led to action, then routing the rest by severity. What's
your noisiest alert source right now, and does anyone own tuning it?
โš ๏ธ Safety: r/ExperiencedDevs โ€” no tools/links; keep it experience-led, personalize before posting.

๐Ÿค PEERS & PARTNERSHIPS (relationship plays โ€” engage, don't pitch)

  1. [LINKEDIN] @devtools-dan (Acme Observability) ยท fit 4/10 ยท peer ยท 1d ago "Why we rebuilt our alerting from scratch โ€” lessons for SRE teams." Comment: Genuinely good breakdown โ€” the severity-routing part matches what we see. Would love to compare notes sometime. `

A few design decisions worth stealing

Logistics in scripts, judgment in prompts. The deterministic, fragile stuff โ€” scraping, dedup, the ranking math, recurrence tallying โ€” lives in Python that runs without loading into the model's context. The judgment โ€” refining the ICP, classifying intent, drafting the comment โ€” is left to Claude. Keeping those separate made the whole thing both cheaper and more reliable.

Cookieless by rule. LinkedIn discovery uses only logged-out/public actors โ€” it never touches your session, so there's zero account-ban risk. The adapter literally refuses any input carrying a session cookie. (You engage manually anyway, so the skill never needs your login.)

Reddit-safe drafting. Reddit's spam filters punish link-dropping, copy-paste comments, and โ€” increasingly โ€” AI-sounding text. So the skill bakes in the current anti-shadowban practices (the 9:1 rule, per-subreddit norms, new-account ramps) and treats "personalize the draft before posting" as a safety requirement, not just etiquette.

BYOK. It runs on your own Apify token. No shared keys, no lock-in, no licensing chokepoint โ€” a lesson the whole "Proxycurl shut down and stranded everyone" saga taught the space.

Install

One paste into Claude Code โ€” it clones the skill and runs setup:

bash
git clone --depth 1 https://github.com/newan2001/delta-engage.git ~/.claude/skills/delta-engage && cd ~/.claude/skills/delta-engage && ./setup

Then run /delta-engage. The first run reads your site/docs to draft your ICP (you confirm it), does a live digest so you see it work, and offers to set a Mon/Thu routine that delivers to Slack, Notion, or just in-app.

What it's not (the honest part)

  • The scheduled routine fires while Claude Code is open (it catches up on next launch) โ€” it's not a 24/7 cloud server.
  • Reddit carries far stronger buyer signal than LinkedIn, which skews toward broadcasting/selling. LinkedIn is better for KOL proximity and partnerships than for raw demand.
  • The intent-classification and comment quality are instruction-driven โ€” they're as good as the model following the guidance, and they reward a sharply-defined ICP.

Try it / tear it apart

It's MIT-licensed and on GitHub: github.com/newan2001/delta-engage

If you try it, I'd genuinely love feedback โ€” especially on the intent classification, since that's where the "customers not competitors" magic either works or doesn't. Issues and PRs welcome.`

Top comments (0)