Agent builds / AI agents

Agent build · v1

Site-first article and explainer agents

What it does: Two Claude Code agents that publish to your own site first: one writes a data-backed article per run, the other turns articles and projects into pages that each answer one searched question.

Model
Claude Opus (Claude Code background agents)
Runs in
Claude Code scheduled tasks + background agents
Cost per run
not measured
License
MIT
Used by
0
Files
7 (18 KB)
curl -L https://tensorust.com/builds/site-first-article-agents/download -o site-first-article-agents.zip

Receipts

Receipt
#674
This Week in Rust issue that featured the article agent's crates.io data piece
Source
https://this-week-in-rust.org/blog/2026/10/21/this-week-in-rust-674/
Measured
Oct 21, 2026
Check
Number found on the source page by our checker
Stamp
ZUIl8enHLWxfHuELNhLDQ85Hzc-h63Xs
Receipt
80%
share of 90 days of downloads on 69 Rust crates that arrived within a day of a new version, from the agent's own crates.io API pull
Source
https://tensorust.com/articles/crates-io-download-count/
Measured
Oct 17, 2026
Check
Number found on the source page by our checker
Stamp
W3nPiJOC2p9HAOdZLXUR8pjXD0CPjnXv

Files

agents/articles/ROLE.mdraw
# FLAGSHIP ARTICLE (one run, then exit)

Job: publish one article on the site that carries data nobody else has, then send the strongest ones to other platforms. Site first: the site copy is canonical and every other copy points at it.

## Cadence (checked in posts.json before writing)
- Up to 10 site articles a day, at least 80 minutes apart. Skip if either limit is hit.
- Only 2 to 3 a day go to socials. A piece goes social only if fewer than 3 went out today, the last was 4+ hours ago, and it is one of the day's strongest.
- One great article beats two good ones. If the best topic is not strong, publish nothing.

## Topic selection (half the job, spend real time on it)
1. Shortlist at least 8 candidates from what is moving right now: the scout feed, Hacker News front page, the big subreddits in your lane, Techmeme, and what the largest creators in your lane posted in the last 12 hours.
2. Score each 1 to 10 on: size of the live conversation, how strongly people disagree about it, whether WE have a unique receipt (our own measured number, experiment or project data), and headline punch.
3. Write the shortlist and scores into TOPIC_LOG.md, so the numbers agent can learn which scores predicted views. Pick the top one.

## The piece
- Run a fresh experiment or pull a fresh dataset for this article. A write-up with no new data is a skip. Cheap counts: public API pulls, browser benchmarks, log analysis, git history stats, small timed runs.
- Publish the aggregated data next to the article as data.csv or data.json (no personal data) and link it as "Download the data".
- Open with a 2 to 3 sentence "Short answer:" paragraph, then a "Key numbers" table near the top with the date checked.
- Title of 70 characters or fewer: the reader's outcome or the verdict, plus a real number.
- 4 to 8 visuals: a shareable chart as the hero, real screenshots, at least one GIF where something moves. Alt text and a caption on every image.
- Link the primary source for every number and claim. Credit people by name. A Sources list at the bottom.
- At least 3 internal links to related articles, free tools or topic hubs.
- End with one call to action that fits the topic, with UTM tags (?utm_source=<channel>&utm_campaign=<slug>).
- Pass QUALITY.md before publishing.
- Seed 2 to 3 explainer topics from the piece into agents/explainers/QUEUE.md.

## Publish order
1. Site, per SITE_PUBLISH.md (take the site build lock, build, deploy, ping IndexNow, verify 200 + listed in the index and sitemap).
2. dev.to with canonical_url set to the site copy.
3. Social copies (only if the cadence rule above allows): native long-form posts, never a bare link post. Full-body gate: the posted copy has 90%+ of the source text and every subhead and image. Verify the live URLs.
4. Distribution: submit Rust pieces to This Week in Rust (one link per issue, follow their format) and other newsletters that take submissions; log each.

## Log
posts.json (site-article, devto-article, and one entry per social copy), TOPIC_LOG.md, NOTES.md with TRIED / RESULT / LESSON. Finish with the shortlist and scores, the title, every live URL, and word count.

## Floor
No fabricated quotes, numbers, screenshots or sources. Opinions are welcome when they read as opinion. Stop on any 429. Never sign out, switch accounts or close tabs you did not open; never type passwords or hunt for credentials.

README

Two scheduled Claude Code agents that grow a site with search traffic in mind. The flagship article agent writes one article per run that carries data nobody else has, publishes it on your site as the canonical copy, and only sends the strongest 2 or 3 a day to dev.to, X and LinkedIn. The explainers agent publishes 2 or 3 short pages per run, each answering one question people type into a search box, built from the articles and projects you already have.

Why site first: on tensorust.com one data article (a fresh crates.io API pull) brought 259 of 677 weekly visitors and landed in This Week in Rust, while opinion pieces brought almost nothing. Search became the second biggest referrer. So the article agent must run a fresh experiment or pull a fresh dataset every time, and publish the data next to the article.

Layout:

schedule.example.json: both jobs, with the exact prompts. The main session runs a cheap precheck first (counts today's entries in posts.json, checks the gap since the last one) and only spawns an agent when there is room.
agents/articles/ROLE.md: topic selection (shortlist 8, score each, log the scores), the bar for the piece, the publish order.
agents/articles/QUALITY.md: the checklist every article passes before it publishes.
agents/articles/SITE_PUBLISH.md: build lock, catalog entry, build, deploy, verify, IndexNow, canonical URLs on copies, Search Console.
agents/explainers/ROLE.md and QUEUE.example.md: the page formats (explainer and guide), cadence caps, and the topic queue.

How to run it:

1. Set up the shared files from the outreach team build (posts.json, VOICE.md, a NOTES.md per role, a locks/ folder).
2. Replace the build and deploy commands in SITE_PUBLISH.md with your own. The original is a Python static build deployed with the Vercel CLI.
3. Create the two jobs in Claude Code from schedule.example.json.

What to change: your topics, your offers, your site commands, and the caps. Keep the caps on explainers: search engines demote sites that mass-produce thin pages, so the role refuses to pad a count. Keep the full-body gate on social copies (the posted copy must contain 90% or more of the source text and every image), because editors on some platforms silently drop sections.

The dev.to step needs an API key. The agents read it from a local file and never print it; on a 401 they stop and report.

0 comments

Log in to comment