Skill v1.0.1
currentAutomated scan100/100+1 new
version: "1.0.1" name: sweep-stale-seeds description: Identifies substacker seeds older than 30 days with status=seed and no incoming related_seeds links, flags them for writer review, and recommends keep / promote-to-draft / kill based on density score. Does NOT auto-execute any action. Emits a review list to ops/librarian/YYYY-MM-DD-stale-sweep.md. Run at session start after ingest, once per day max. Trigger keywords — stale, sweep, review, old seeds, cleanup, gardener, corpus hygiene.
Sweep Stale Seeds
Table of Contents
Related skills: Called by Librarian agent's pipeline step 2. Output consumed by the writer and by curator on its monthly-ish cycle.
Workflow
Sweep the corpus for stale seeds:- [ ] Step 1: If ops/librarian/{today}-stale-sweep.md exists, skip (daily idempotency)- [ ] Step 2: Glob corpus/seeds/*.md- [ ] Step 3: For each seed, parse frontmatter- [ ] Step 4: Apply stale criteria: status=seed AND created < today-30d AND no related_seeds referencing this seed- [ ] Step 5: For each stale seed, compute recommendation- [ ] Step 6: Write the review list to ops/librarian/{today}-stale-sweep.md
Step 4: Stale criteria
A seed is stale if ALL of:
status: seed(not yet promoted to draft)createdis > 30 days before today- No other seed's
related_seedsincludes this seed's id (orphan test) manual_edits: false(writer-edited seeds are never in the sweep)
Recommendation rules
| If... | Recommend | |
|---|---|---|
density >= 7 | promote-to-draft (high-quality material sitting stale is the real loss) | |
density <= 3 | kill (low-density AND stale = not going to improve) | |
| else | keep (mid-density — more time to mature) |
Output format
ops/librarian/YYYY-MM-DD-stale-sweep.md:
---agent: librariandate: YYYY-MM-DDtotal_seeds: Nstale_seeds: Mrecommendations:promote: Xkill: Ykeep: Z---# Stale Seed Sweep — YYYY-MM-DD## Promote to draft (X)- `{seed-id}` | density={N} | created={date} | topics={comma-list}- Rationale: high density, sitting stale. Consider promoting.## Kill (Y)- `{seed-id}` | density={N} | created={date} | topics={comma-list}- Rationale: low density, stale, orphan. Safe to move to corpus/dead/.## Keep (Z)- `{seed-id}` | density={N} | created={date} | topics={comma-list}- Rationale: mid-density, give it more time.
Worked example
Corpus today (2026-04-23) has 47 seeds. Globbing + filtering finds 6 stale:
## Promote to draft (1)- 2026-02-18-residuals-as-a-reset-button | density=8 | created=2026-02-18 | topics=resnet, training- Rationale: high density, sitting stale for 2 months. Consider promoting.## Kill (2)- 2026-01-04-maybe-writing-about-tokenizers | density=2 | created=2026-01-04 | topics=tokenizer- Rationale: low density, stale, orphan. Safe to move to corpus/dead/.- 2025-12-21-quick-thought-on-sparse-moe | density=3 | created=2025-12-21 | topics=moe- Rationale: low density, stale, orphan. Safe to kill.## Keep (3)- 2026-02-28-rope-intuition | density=5 | created=2026-02-28 | topics=attention-mechanism, rope- 2026-03-05-grokking | density=5 | created=2026-03-05 | topics=emergence, training- 2026-03-15-temperature-vs-top-p | density=6 | created=2026-03-15 | topics=sampling- Rationale: mid-density; not stale enough to act yet.
Guardrails
- Never delete. Only flag. The writer or Curator executes.
- Never change
status. The status field is owned by the writer / downstream agents. - Never include seeds with
manual_edits: truein the kill list regardless of density. - One-time per day: if today's sweep file exists, skip.
- A seed linked from another seed's
related_seedsis never stale by this skill's criteria, even if old and low-density. - Never recommend
killfor a seed withdensity >= 7; that would contradict the promote recommendation.
Quick reference
- Runs once per session (skip if today's file exists).
- Output: one markdown report. No file deletions.
- Criteria: status=seed + >30 days + orphan + manual_edits=false.