Opus finding
History trim to 26 entries described in prose but not codified — risk of unbounded growth
lowdata-lossmedium
- skills/contributor-spotlight/SKILL.md:217-219
- skills/contributor-spotlight/SKILL.md:30-31
The 26-cap is described as English instructions only. The JSON example in Step 10 just shows an append, no trim command. An implementer who follows the example literally will append indefinitely. More importantly, the example fields don't match the prose: prose in Config says `{fork, featured_at, role}` but Step 10's example writes `{fork, owner, featured_at, cohort, enabled_count, stars_at_feature, operator_authored_count, commits_30d}` — eight fields, not three, and `role` is not present at all. Step 3 reads `contributor-spotlight-history.json` for dedup but doesn't specify which field it joins on (`fork`), so the schema drift creates a real risk that an early implementation writes `role` while later code reads `cohort` (or vice versa) and silently breaks 4-week dedup.
Recommendation
Pick one schema. Show a `jq` command that both appends and trims (`jq '.history = (.history + [$new] | .[-26:])' ...`) and reference the same field names in Step 3's dedup logic.