Consolidate redundant scripts, skills, agents, and CLAUDE.md sections
kind: infra
Summary
Audit surfaced redundancies across Claude Code setup and project scripts. Consolidate in phases to reduce cognitive overhead without changing behavior.
Redundancies
Scripts
scripts/pod.py is a dispatcher, but standalone backends (sync_env.sh, sync_env_keys.sh, sync_pods.sh, sync_datasets.py, sync_models.py, pull_results.py, cleanup_pod.py) are also documented as direct entry points in CLAUDE.md.
Agents
.claude/agents/manager.md.deprecated — deadweight (superseded by research-pm.md).
Skills (user-level)
humanizer,avoid-ai-writing— duplicates ofai-critic-loop.code-refactoring— subsumed bycleanup+refactor+deep-clean.simplify,review— plugin-owned; out of scope.
CLAUDE.md
- Reproducibility Card table duplicated;
templates/experiment_report.mdalready has it. - Pod/sync commands documented in three sections.
- Pod name table also in
.claude/agents/manager.md.
Skills layering
issue, experiment-runner, auto-experiment-runner, experiment-proposer — boundaries undocumented.
Review agents
critic, reviewer, code-reviewer — not duplicates, but roles not obvious.
Rules
.claude/rules/external-repos.mdis reference, belongs indocs/..claude/rules/research-project-structure.mdduplicates agent-roles table.
Plan
- Phase 0: Delete
manager.md.deprecated, user skillshumanizer/avoid-ai-writing/code-refactoring; updatedeep-cleanreference. - Phase 1: Mark standalone sync scripts as
INTERNAL — backend for scripts/pod.py; route CLAUDE.md Pre-Launch Protocol throughpod.py. - Phase 2: CLAUDE.md dedup — replace inline Reproducibility Card with pointer; consolidate pod/sync docs; remove pod table from
manager.md. - Phase 3: Scope & boundaries banners on experiment skills; remove duplicated content from
issue. - Phase 4: Role banners on
critic.md/reviewer.md/code-reviewer.md. - Phase 5: Move
external-repos.mdtodocs/; strip agent-roles table fromresearch-project-structure.md.
Non-goals
- No behavioral changes.
- Not merging review agents.
- Not inlining sync scripts into
pod.py.
Test plan
-
python scripts/pod.py config --checkstill passes - No broken internal links after doc moves
-
grep -rfor each deleted name returns only history/transcripts
Timeline · 1 event
state_changed· user· proposed → archivedClosed on GH without ever running. Archiving on Sagan to match.
Closed on GH without ever running. Archiving on Sagan to match.
Comments · 0
No comments yet. (Auth + comment composer land in step 5.)