diff --git a/.claude/skills/daily-pipeline/SKILL.md b/.claude/skills/daily-pipeline/SKILL.md index 357462a..b302325 100644 --- a/.claude/skills/daily-pipeline/SKILL.md +++ b/.claude/skills/daily-pipeline/SKILL.md @@ -61,11 +61,12 @@ Make an explicit pick decision **every run** — the pick is a daily editorial c - "Strongest" = best hero visual + broadest audience appeal; when torn, the one whose virtue is most immediately legible from the tile. - New reviews usually win (freshness matters on a daily site), but a weak new review must not displace a strong current hero. - If the current hero has held for several days, lean toward rotating to another strong review even when nothing graduated — the homepage shouldn't look frozen. -- Keeping the current pick is a valid outcome, but it's a decision: say why in the digest. +- Keeping the current pick is a valid outcome, but it's a decision like any other. +- **Every pick decision gets a log entry — holds included.** Append `## YYYY-MM-DD — pick of the day: ` (or `— pick of the day: held `) to `daily-finds.log.md` with the reasoning: what it beat and why, or why the incumbent kept the slot. The digest line alone is not a record — the digest is ephemeral; the log is the audit trail. Write `src/data/pick.json` → `{"hero": ""}`. -**Commit** (only when the pick changed): `site: pick of the day — `. +**Commit** (every run): `site: pick of the day — ` when the pick changed (include the log entry); when held, commit the log entry alone as `content: pick held — `. ### 6. Verify + push diff --git a/TEAM.md b/TEAM.md index f86f8f2..4a7c4f5 100644 --- a/TEAM.md +++ b/TEAM.md @@ -19,7 +19,7 @@ Each role's prompt is its skill file — the canonical, version-controlled text. | **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 2–4 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. | +| **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; every decision (holds included) gets a reasoned `daily-finds.log.md` entry and commit, not just a digest line. | | **Conductor** | 0, 6–7 | `.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)