Repo Revive
General↓ 0 installsUpdated 105d ago
Curatedaaronjmars
Pick the highest-★ dormant watched repo and make one targeted improvement to reactivate it — refresh stale model references, README, or metadata
SKILL.md preview
---
name: Repo Revive
description: Pick the highest-★ dormant watched repo and make one targeted improvement to reactivate it — refresh stale model references, README, or metadata
var: ""
schedule: "0 10 * * 6"
commits: true
permissions: [contents: write, pull-requests: write]
tags: [dev, growth]
---
> **${var}** — Specific repo (`owner/repo`) to target. If empty, auto-selects from watched repos by `stars × log10(days_dormant)`.
If `${var}` is set, skip selection and work on that repo directly.
Read `memory/MEMORY.md`, `memory/watched-repos.md`, and the last 7 days of `memory/logs/` before starting.
## Voice
If `soul/SOUL.md` and `soul/STYLE.md` are populated, read both and match the operator's voice exactly for the revival tweet draft (step 5). If they are empty templates or absent, write the tweet in a clear, direct, neutral tone — short, factual, no hashtags, no emojis, no corporate launch-language.
## Config
This skill reads two operator-controlled files:
- **`memory/watched-repos.md`** — the candidate repo pool. One `owner/repo` per line (markdown bullets like `- owner/repo` are fine; comment lines starting with `#` are ignored). If the file is missing or empty, log `REPO_REVIVE_NO_CONFIG` and exit cleanly (no notification — empty config is not an error).
- **`memory/topics/stale-models.md`** — list of AI model names the operator considers stale and the current model names they want to see referenced instead. Used only when scoring stale-model fixes. Example shape:
```markdown
# Stale Models
## Considered stale (flag if a watched repo's README/config still references these)
- gpt-3.5
- claude-2
- claude-instant
- gpt-4 (without version suffix)
- text-davinci
## Current models (suggest these as replacements)
- claude-sonnet-4-6
- claude-opus-4-7
- gpt-4o
- gemini-2.0
```
If the file is missing, skip the "stale model" fix category entirely (other fix categories still apply) and log `REPO_REVIVE_NO_MODEL_CONFIG: skipping model audit`.
## Steps
### 1. Select target repo
If `${var}` is set, use that repo. Otherwise:
- Parse `memory/watched-repos.md` into a list of `owner/repo` candidates
- For each candidate, fetch metadata via `gh api`:
```bash
gh api "repos/$REPO" --jq '{stars: .stargazers_count, pushed_at, archived, default_branch}'
```
- Filter to repos meeting ALL of these criteria:
- Stars ≥ 100
- Not archived
- `pushed_at` > 60 days ago (excluding pushes from this skill or other Aeon-bot accounts — check the most recent non-bot human commit via `gh api "repos/$REPO/commits?per_page=10"` and skip bot authors)
- Not already revived in the last 30 days (grep `memory/logs/` for `REPO_REVIVE_OK` lines mentioning this repo)
- Score each: `score = stars × log10(days_dormant + 1)`
- Pick the highest-scoring repo
- Log the selection: `Selected: owner/repo (score: X, Yd dormant, N★)`
If zero repos pass the filters: log `REPO_REVIVE_SKIP: no eligible repos` and exit (no notification).
### 2. Audit what's stale
Inspect the selected repo via `gh api`:
```bash
gh api "repos/$REPO/git/trees/HEAD?recursive=1" --jq '.tree[].path' \
| grep -E '\.(md|json|js|ts|py|toml|yaml|yml)$' | head -50
```
Look for these stale signals — check at most 3 files per category:
**A. Stale AI model references** (only if `memory/topics/stale-models.md` is populated):
- README, config, or source files referencing any model name listed under "Considered stale" in `stale-models.md`
- Missing models from the "Current models" list when the file demonstrably enumerates a supported-models list
**B. Missing README elements:**
- No demo GIF or screenshot
- No "Quick Start" or "Installation" section
- No badges (stars, npm version, license)
**C. Open community issues** (fetch up to 10):
```bash
gh api "repos/$REPO/issues?state=open&per_page=10" \
--jq '.[] | {number, title, comments, created_at, labels: [.labels[].name]}'
```
Look for issues that are simple to close with a README clarification or
…