--- name: scrub-reflection-self-improvement description: Run the repository self-improvement scrub only from its scheduler or an explicit request for that scrub. schedule_cron: "0 10 2 * * *" schedule_tz: America/New_York --- # scrub-reflection-self-improvement Use this skill on scheduled scrub turns to identify and land high-leverage improvements in `marin-community/marin`. ## Focus - Look for improvements from recent issues, PR feedback, and recurring operational friction. - Prefer one concrete implementation per run when feasible. - If implementation is blocked, produce a concrete plan and capture follow-up work in GitHub. ## Candidate Signals - Repeated confusion in docs, recipes, or contributor workflows. - Recurring failures or avoidable manual steps in experiments, scripts, and infra operations. - Capability gaps that reduce the value of agent-assisted contributions. ## Triage Checklist Run a lightweight, repeatable scan before choosing work: 1. Review recent open issues and open PRs for repeated friction clusters. 2. Explicitly check for already-open scrub-generated issues/PRs touching the same area; prefer advancing or deferring to that existing artifact instead of creating a parallel one. 3. Review the latest commits on `main` for changes that imply follow-on docs/workflow updates. 4. Search `AGENTS.md`, `.agents/skills/`, and docs for stale workflow guidance related to those clusters. 5. De-duplicate against existing issues/PRs before creating new artifacts. When possible, prefer improvements that remove recurring operator time (for example, turning ad-hoc scrub judgment into explicit repeatable guidance). ## Decision Heuristics - Pick the highest-leverage change with the lowest coordination overhead. - Treat open scrub-generated issues/PRs as first-class prior art during triage; if one already covers the candidate improvement, avoid opening a second artifact unless the new scope is clearly distinct. - De-duplicate against existing issues/PRs before opening new work. - When an improvement changes recurring workflow guidance, codify it in durable repo instructions: `AGENTS.md` for cross-cutting agent behavior, or `.agents/skills/` for repeatable task workflows. - If no justified improvement exists now, choose a no-op outcome. - Prefer direct implementation over opening new issues when the change is fully in-repo and low-risk. ## Output - Keep rationale explicit: observed gap, change made (or plan), and expected impact. - Prefer durable artifacts over transient notes: land guidance updates in `AGENTS.md` and/or recipe docs when that is the primary improvement. - Treat local-only edits as incomplete work. If you modify files, publish the result (commit/push and open or update a PR per `.agents/skills/commit/SKILL.md`) before finishing this scrub run. - If publish is blocked (auth, permissions, CI infra, etc.), report the blocker and set a future `needs_followup_at` instead of ending the run. - If you choose no-op, include explicit inspected signals and why no justified improvement exists now. - End the run with exactly one footer line of valid one-line JSON: `HARNESS_SCRUB_LOOP {"needs_followup_at":null}`. Set `needs_followup_at` to null when the run is complete, or a future RFC 3339 timestamp when another follow-up turn is needed. For no-op outcomes, include at minimum: - which issue/PR/commit windows were inspected, - why each candidate was not suitable for this run, - and why deferring to the next scheduled run is preferable to opening a low-signal artifact now.