AUTOMATA.SALE Systems that bring in orders

From viral shorts to production: four agent skills that actually ship

Евгений Урядов

This is an adapted English version. Original (Russian): automata.sale/blog/ai-automation/viralnye-skill-paki-v-rabochie-instrumenty-manual/

From viral shorts to production: four agent skills that actually ship

The feed has been loud lately: “Claude runs your YouTube channel”, “an AI agent finds clients for you”, “Claude killed the day traders”. Under each video there is a funnel: comment a word, get a free course. I took three of those videos apart on consecutive days and found the same thing every time: the creator is retelling someone else’s free GitHub repository and adding nothing.

So instead of retelling, I did what I do for clients: took the source and put it into my own production. Below is the manual for four skills that now run in my pipeline. The commands are real and the numbers come from this week’s runs.

Sources, with respect to both authors for the engineering culture and the honest disclaimers: youtube-agent-skill and instagram-agent-skill by Jakeschincariol, and Harvey by ethanplusai, all MIT.

The map

SkillJobCore
hook-formulasthe first line of anything47 hook formulas plus a scorer
viral-radar”what is working in my niche”ranking by each channel’s own median
lead-pipelineniche to leads to a draft emailOSM discovery, CMS fingerprint, human gates
script-doctortext and script qualityanti-slop for RU and EN, plus beat timing

All four live in a skills folder and run from any agent session. A skill is just a Markdown instruction plus dependency-free Python.

1. hook-formulas: 47 ways to open

A hook is the first fifteen seconds, or the first line of a post. It has three jobs: confirm the click the title promised, raise a question the reader cannot close, and prove the payoff exists. A hook that only does the third is a summary, and it leaks viewers.

Five rules sit on top of every formula:

  1. Confirm the title in the first sentence.
  2. One idea. Two promises keep neither.
  3. Specific beats big: “400 to 200,000 in seven months” beats “massive growth”.
  4. If you promised an artifact, show it inside twenty seconds.
  5. Never open with who you are.

The bank is two files: 21 formulas from the YouTube pack, and 26 from the Instagram pack with 19 unique ones such as Cold Open Demo, The Flop Record, The Objection, Cost Confession and Mid-Sentence Start.

The scorer weights the weakest property at 40 percent, because averages hide the exact place a hook leaks. A real run:

SPECIFICITY   84
ADDRESS       26   <- say 'you' in the first six words
STAKES        62
CURIOSITY     41
BREVITY      100
VERDICT       48  WEAK

A hook with a strong number still scored WEAK because it never addressed the viewer. The author is honest about the limits: the scorer kills obviously weak hooks (AUC 0.83) but does not pick winners (0.56, close to a coin flip). Its job is to save you a wasted take.

2. viral-radar: ideas are not view counts

Raw views rank channel size, not ideas. 400,000 views on a channel with a 2 million median is a normal Tuesday; 400,000 on a channel with a 30,000 median is the thing worth studying. So every video is scored as a multiple of its own channel’s median, and a channel needs at least four videos for the median to mean anything.

yt-dlp --flat-playlist -J "https://www.youtube.com/@channel/videos" > ch1.json
python3 viral-radar/swipe.py collected.json --min 2.0

A test run on eight videos across two channels separated signal immediately:

5.88x   50,000 vs 8,500 median   "97% of developers quit a blog before post 30"
3.90x  410,000 vs 105,000 median "Why your first 30 seconds lose viewers"

Read it in three steps: the top five with their multiples and the hook formula each used, the ONE structural thing they share, and the line that matters: what you can ship this week in your own voice. The formula is a judgement about the words on screen, not proof of why the video worked. Copy-paste is off the table; adaptation with credit is the rule.

3. lead-pipeline: niche to leads, and nothing without a yes

This is the adaptation of Harvey to my stack. The original design is kept: stages talk to the database, not to each other. Each stage asks “who have I not looked at, or not looked at recently” (sites are re-read after 90 days, which is how you notice a client changed their platform or fired their agency), and any run survives a restart.

python3 discover.py "Saratov" --cat furniture --limit 15   # OpenStreetMap, free
python3 profile.py --limit 11                              # CMS fingerprint
python3 enrich.py --limit 4                                # decision makers, email, MX

This week’s run: furniture stores in Saratov, 11 companies with websites from one OSM query. The profiler sorted them by engine: two Bitrix online stores, WordPress, Nuxt, plus federal chains that were unreachable behind anti-bot protection and were never our leads anyway.

The CMS fingerprint is the core: we do not just know who they are, we know what their site is built on, and the offer follows:

SignalOffer
Bitrix or Asprosite to CRM synchronisation, speed, SEO
Tilda or uKit plus a storemigration off the builder
WooCommercemigration to a full commerce stack
Site down or no HTTPSemergency check: “your site fails on half the devices”

Enrichment ranks contacts honestly: listed (an email on the site) beats pattern (info@ with a live MX record, still risky) beats guess; no MX means the address does not exist. If the site links a Telegram account, that is the first channel, because for my market Telegram is warmer than cold email.

The gates are the whole difference from the “full automation” in the videos. Nothing is sent automatically. Drafts wait for a human yes. First touches are capped at 20 a day from a separate warmed inbox, never the main domain. Opt-out is honoured instantly and forever. Asked “are you an AI”, the agent answers truthfully. LinkedIn automation and autodialers stay off, because bans are real.

This is Harvey’s pattern borrowed on purpose: two human yeses plus one pass from the risk rules before anything irreversible. Any agent that touches production or money should carry it.

4. script-doctor: anti-slop and timing

This is the part that separates us from the accounts we criticised. Two tools.

detect.py scores five properties: sentence-length variation (humans break rhythm, models do not), specificity (numbers, names, currency), slop density against a lexicon, the machine fingerprint (invisible characters, typographic tells), and voice. A typical AI-written post scored 11 out of 100, flagged, with nine stock phrases and zero concrete facts. A real case study scored 55: zero slop, five concrete markers.

The lexicon is ours and editable: 116 words and 73 phrases with replacements, plus 19 structural tells such as “it is not just X, it is Y” and the rule-of-three rhythm. Replacements are deliberately blunt; the final pass is human.

beats.py turns a script into timecodes at about 165 words per minute and flags the four things that kill short video: a hook longer than three seconds, a beat longer than four seconds without a change on screen, three lines in a row with nothing checkable, and an ending that does not echo the opening. On a twenty-second script it caught a 5.8-second hook and three over-long beats before anything was recorded.

The two routes

Post, idea to publication: five hooks by five formulas, score them, write the script, time it with beats, clean it with detect and humanize, publish, then re-read the site in 90 days.

Niche to leads: read what works with the radar, pick the hook, discover, profile, enrich, choose the offer from the CMS fingerprint, write the draft into the outbox, and send by hand after a yes.

Gotchas already buried in the code

  • OpenStreetMap’s Overpass takes form-encoded bodies only, and the public servers flake with 502: back off 4, 8, 16 seconds across mirrors.
  • Tarpit servers accept the connection and never answer; naive HTTP timeouts hang, so fetches run in a thread with a hard join and redirects disabled.
  • The slop scorer is calibrated on English: for other languages treat the number as a hint and trust the lexicon and fingerprint hits.
  • The hook scorer filters losers; it does not choose winners. Your voice and your case do.
  • In Russian, the em dash is normal punctuation and does not count as a machine tell, so the check is language-aware.

Why publish this

The barrier was never secrecy, it was discipline. The same code sits in public repositories while funnels sell retellings of it for a comment. The difference between a retelling and a production line is the gates, the lexicon, and the willingness to run your own drafts through the detector every morning.

If you want this pipeline tuned to your niche, get in touch.


📞 +7 (906) 311-77-69 · ✉ hello@automata.sale · 💬 Telegram: @automatasale · 🌐 automata.sale

ИП Урядов Евгений Евгеньевич · ИНН 645112058391 · ОГРНИП 312645301900058 Working across Russia, Belarus and Kazakhstan

Frequently asked questions

What are agent skills?

A skill is a folder with a SKILL.md instruction file plus optional scripts that an AI agent loads as a working mode. Anthropic popularised the format for Claude Code, but it is just Markdown and Python, so the same skills run in any agent stack. The viral packs (youtube-agent-skill, day-trader-skill, instagram-agent-skill) are free and MIT licensed on GitHub.

How much does this setup cost?

Nothing on top of what you already have. Lead discovery uses OpenStreetMap and plain HTTP requests to public sites, niche research reads public pages, and the text checks are local scripts with no network and no dependencies. The only paid option, search-rank data through DataForSEO, is turned on by an explicit decision.

Does anything get sent automatically?

No, and that is the design. The lead pipeline writes drafts to an outbox and waits for a human go-ahead. Posts and emails leave only on an explicit decision. First-touch email is capped at 20 a day from a warmed-up separate inbox, never from the main domain.

Is this copied content?

The code is open source under MIT with attribution. The content is not: the radar finds what works, but the rule is adaptation with your own cases and a credit to the source, never copy-paste. Checking your own draft for slop before publishing is exactly what the script-doctor skill is for.