skills/sweep-stale-seeds/SKILL.md
--- 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 Se
npx skillsauth add lyndonkl/claude skills/sweep-stale-seedsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Related skills: Called by Librarian agent's pipeline step 2. Output consumed by the writer and by curator on its monthly-ish cycle.
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
A seed is stale if ALL of:
status: seed (not yet promoted to draft)created is > 30 days before todayrelated_seeds includes this seed's id (orphan test)manual_edits: false (writer-edited seeds are never in the sweep)| 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) |
ops/librarian/YYYY-MM-DD-stale-sweep.md:
---
agent: librarian
date: YYYY-MM-DD
total_seeds: N
stale_seeds: M
recommendations:
promote: X
kill: Y
keep: 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.
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.
status. The status field is owned by the writer / downstream agents.manual_edits: true in the kill list regardless of density.related_seeds is never stale by this skill's criteria, even if old and low-density.kill for a seed with density >= 7; that would contradict the promote recommendation.testing
--- name: advisory-edit description: A strict advisory-only editing discipline for a writer who dictates ("speaks out") essays and wants help WITHOUT having their voice changed. The editor directs structure, flags grammar, and suggests strategic language — but never modifies the writer's text unless the writer explicitly says "apply" / "make that change" / "rewrite this." Produces a line-referenced, suggestion-only critique where every item is marked the writer's call. Four passes: structural, l
testing
Provides the house style for analyst-grade strategist writing — third-person register with sparing first-person, no em dashes, no "not X, not Y, not Z" negation cascades, numbered footnote citations rather than inline source parentheticals, specific opinion-signaling phrases, and topic-forward paragraph structure modeled on voice patterns observed in Damodaran's Musings on Markets and Thompson's Stratechery. Use when consolidating working notes into a finished long-form strategist or analyst report that must read as written by a senior human analyst rather than an AI assistant.
testing
Renders a markdown report to a PDF using pandoc with xelatex (11pt serif body, 1-inch margins, numbered footnotes, formal heading hierarchy). Requires a one-time install of pandoc and a LaTeX engine on the user's machine — basictex on macOS or texlive-xetex on Linux. Does not attempt automatic install. Fails loudly with the exact install commands if pandoc or xelatex is missing on the user's PATH. Use when producing a finished strategist or analyst report PDF from a polished markdown source.
testing
Produces step-by-step computational walkthroughs of vector and matrix operations as a sequence of numbered "frames", showing the explicit state at each step. The text-equivalent of a 3Blue1Brown animation — each frame shows what changed and why, so the learner can re-trace the operation by hand. Use when the learner needs to *see* a computation unfold (eigenvalue computation, attention with 3 tokens, gradient descent step, SVD on a 2×2, layer norm on a 3-vector, softmax of a small input), when an explanation has been given but the learner needs to ground it in a worked example, or when introducing an operation that's intimidating in symbol form but trivial in pencil-and-paper form.