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
- 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
- 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/QUALITY.md2 KB
- agents/articles/ROLE.md3 KB
- agents/articles/SITE_PUBLISH.md3 KB
- agents/explainers/QUEUE.example.md1 KB
- agents/explainers/ROLE.md3 KB
- README.md1 KB
- schedule.example.json3 KB
# Article quality checklist
Every article on every platform. Do not publish until every box is ticked. Paste the ticked list into NOTES.md with the publish entry.
## 1. Top of the article
- [ ] Title: one real number + the result the reader cares about. No diary headlines.
- [ ] "Short answer:" right under the title: 2 to 3 sentences, plain English, the main number and the one lesson.
- [ ] Cover image with the headline inside the central band (X crops headers to about 5:2).
## 2. Structure and reading
- [ ] A subhead every 250 to 400 words. Subheads say the point ("The profile is the leak"), not a label ("Analysis").
- [ ] Paragraphs of 1 to 3 sentences. No wall of text on a phone screen.
- [ ] One key number per section, bolded, with its date and source.
- [ ] A "Key numbers" table near the top (What | Number | Source).
- [ ] Clear ending: what happens next + one open question readers can answer in the comments.
- [ ] Readability pass: read it aloud, cut filler ("basically", "in order to"), explain every jargon term in plain words the first time it appears. No em dashes.
## 3. Visuals: 4 to 8 per article
- [ ] At least one real screenshot of the thing being discussed.
- [ ] At least one chart built from the article's data. The caption states the source and the time window.
- [ ] At least one GIF where something moves, under about 4 MB.
- [ ] Alt text on every image that describes the content and the number, not "image".
- [ ] No text smaller than about 18px at 1200px width.
## 4. Truth and privacy
- [ ] Screenshots are real and unedited except crop and blur. Never retouch a number. If a number changed since the text was written, the caption says both.
- [ ] Never show private people's messages, emails or personal info. Blur non-public handles and avatars.
- [ ] Charts never use a dual axis that makes small numbers look big. Use percent growth when comparing series of very different size.
- [ ] Every number links to its primary source. Opinions are labeled as opinion.
## 5. Platform notes (verify and date each one yourself)
| Platform | Animated GIF | Canonical |
|---|---|---|
| dev.to | animates inline | canonical_url in front matter |
| Medium | animates | import from the site URL sets it |
| Substack | animates (some email clients show frame 1) | none; first line links the site copy |
| X Articles | supported in the body | none |
| LinkedIn articles | test it; may show static | none |
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.