Files
unique/TEAM.md
T
rzen f587bab71a pipeline: TEAM.md — document the editorial team, its prompts, and house rules
Roster mapping each role (researcher, curator, reviewer, copy editor,
picker, conductor) to its pipeline stage and canonical prompt file,
the shared house rules, the day-in-the-life commit flow, and the
copy editor's subagent brief verbatim — the one prompt not stored as
a skill; daily-pipeline stage 4 now references it as canonical.

Claude-Session: https://claude.ai/code/session_01WZaczDJjL3xZ3u5spsN5AL
2026-07-14 20:11:04 -04:00

5.7 KiB
Raw Blame History

The unique.rzen.dev editorial team

The site is produced by a virtual editorial team — a set of roles, each implemented as a stage of the daily pipeline with its own prompt. There is no standing multi-agent org: roles run as stages (some as subagents) inside one unattended daily session, conducted by /daily-pipeline.

Operating model

  • Publish, then veto. The team never pauses for confirmation. It applies the house rules, publishes, logs every judgment call to daily-finds.log.md, and reports a digest; the user reviews after the fact and vetoes by revert.
  • Scheduled. A lab CI job (claude-unique-daily, laptop runner) launches the session in this checkout each day; a downstream job deploys main after a successful run.
  • One commit per stage, so any stage is individually revertable. content: for capture, site: for everything user-visible.
  • User-only duties: vetting candidate-sources.md nominees into sources.json, and scheduling.

Roster

Each role's prompt is its skill file — the canonical, version-controlled text. Don't duplicate prompt content here; edit the skill.

Role Stage Prompt lives at Notes
Researcher / author 1 — capture .claude/skills/daily-finds/SKILL.md Sweeps sources.json, writes find files + hero images, ranks the shortlist (≤12), nominates new sources. Fans out to scanner/writer subagents on large sweeps; shortlist ranking stays in the main session.
Curator 2 — bundle .claude/skills/build-bundle/SKILL.md, .claude/skills/cluster-bundles/SKILL.md Themes finds into bundles (the pool's discovery vehicle). Enforces the hero floor; holds themes that can't meet it. cluster-bundles is the batch variant when the backlog passes ~25.
Reviewer 3 — reviews .claude/skills/build-review/SKILL.md Graduates 24 shortlist finds to full reviews. Fact-check against the product's own site is mandatory unattended — it substitutes for the human eye.
Copy editor 4 — copy edit Brief below (referenced from daily-pipeline stage 4); mandate: EDITORIAL.md A fresh-eyes sonnet subagent that did not write the day's copy. Prose only; diff reviewed by the conductor before commit.
Editor-in-chief (picker) 5 — pick of the day .claude/skills/daily-pipeline/SKILL.md §5 Explicit pick decision every run — front page must be uncontroversial; keeping the current pick is a decision that gets a stated reason.
Conductor 0, 67 .claude/skills/daily-pipeline/SKILL.md Preflight, verify (npm run build gate), push, digest. Owns all judgment calls and the digest the user actually reads.

House rules (bind every role)

  1. EDITORIAL.md — the voice charter: concise, to the point, inspiring delight through specificity; word budgets per copy type (finds 4090 words; reviews 250450, ceiling 600, ~800 only for story-led subjects; bundle blurb one sentence). Budgets are ceilings, not targets.
  2. No tobacco or alcohol content — categorical, at every stage: never captured, never bundled, never graduated. Legacy alcohol finds (MayJuly 2026) stay published but are ineligible for anything new.
  3. Hero floor — a bundle ships with ≥2 hero-bearing items (aim ~4; more for 78-item grids). Under-floor themes are held and logged, except the weekly catch, which widens instead of holding.
  4. Front-page safety — the pick of the day is never anything that could read as endorsing harm (weapons, danger, disturbing media), regardless of its quality as a review.
  5. Repo conventions — see CLAUDE.md ("Conventions that bite"): topics vocabulary, source name matching, Amazon link canonical form, slug uniqueness.

The copy editor's brief

The one prompt not stored as a skill. The conductor spawns the stage-4 subagent (model: sonnet) with this brief, substituting the day's file list:

You are the copy editor for unique.rzen.dev. Read EDITORIAL.md first — it is your entire mandate: concise, to the point, inspiring delight through specificity, within the word budgets it sets.

Edit the prose of these files, all written earlier today: <list of find/bundle/review files created or modified this run>.

Rules:

  • Prose only. Never change facts, names, prices, links, or claims, and never add a claim the author didn't make. In frontmatter, only the wording of subtitle, description, and blurb may change.
  • Enforce the word budgets as hard lines. When a piece is over budget, cut the weakest material — don't compress every sentence into mush.
  • When in doubt between two cuts, keep the one that delights.
  • Leave files that are already clean untouched.

Return a list of files you changed with a one-line note on what you did to each, and name any file you left alone.

The conductor reviews the resulting diff before committing (site: copy edit — <N> pieces tightened), reverting any edit that changed meaning.

A day in the life

0  Preflight        git status, read log tail, skip capture if already run today
1  Capture          content: YYYY-MM-DD capture run — N finds across M productive sources
2  Bundle           site: bundle — <title>            (or weekly catch / cluster run / held)
3  Reviews          site: review — <Name> (graduates from find)   × 24
4  Copy edit        site: copy edit — N pieces tightened          (skipped if clean)
5  Pick of the day  site: pick of the day — <Name>                (only when changed)
6  Verify + push    npm run build must pass; push; CI deploys
7  Digest           the one artifact the user reads — includes an Attention line

Degrade gracefully: a stage that fails or yields nothing is noted in the digest and the chain continues — only a red build blocks the push.