"When brakes must work flawlessly, so must our repos."
Activate when:
/repo-maintainer or /maintain
Systematically checks 7 critical areas:
# Find test artifacts
*.test.js leftovers
*.spec.ts.snap orphans
.DS_Store files
tmp/, temp/, cache/ directories
coverage/ not in .gitignore
dist/, build/ committed by accident
node_modules/ somehow in git
Detection Strategy:
git status for untracked patterns# Check package health
npm outdated
npm audit
npx depcheck (find unused deps)
Check for pinned versions (inquirer@8.2.5 pattern)
Verify Dependabot config
Red Flags:
# Workflow consistency check
Node versions across all workflows
Test matrices (should match across ci.yml, release.yml)
Action versions (@v6 vs @v5)
Failed/skipped workflow runs
Secrets/tokens properly configured
Common Fixes:
# Context alignment check
README.md ↔ CLAUDE.md ↔ project.faf
CHANGELOG up to date with git tags
package.json version matches latest tag
Examples in README still work
Links not broken (404 checks)
FAF-Specific:
# .gitignore audit
Untracked files that should be ignored
*.config.mjs
*.faf test artifacts
.env.local, .env.development
Large files in git history (use git-filter-repo)
Binary files that don't belong
Pattern Recognition:
# Add to .gitignore based on artifacts found
*.config.mjs
*.faf.backup
.faf-dna.tmp
test-*.faf
# Quick health indicators
Dead code (unused exports via ts-prune or depcheck)
TODO/FIXME comments (track count, prioritize)
Commented code blocks (remove or document)
Console.log statements in production code
Hardcoded secrets/tokens
For FAF projects specifically:
# Check FAF alignment
.faf score accuracy (run faf score)
Bi-sync alignment — CLAUDE.md ↔ .faf (run `faf sync`; mtime auto-direction)
MCP server compliance (if applicable)
WJTTC test coverage (for faf-cli, MCP servers)
For MCP servers:
# MCP-specific checks
package.json has "mcp" field
Server implements required tools
Tests cover all tool endpoints
README has MCP installation instructions
Registry listing accurate (npm + MCP registry)
After audit, generate prioritized task list:
# 🏎️ REPO HEALTH REPORT: faf-cli
**Overall Score:** 85% ◇ Bronze
**Status:** Production-ready with minor cleanup needed
---
## 🚨 CRITICAL (Fix Now)
### 1. Security: `open@10` breaking CI/CD
- **Impact:** Release pipeline failing
- **Fix:** Pin to `open@8.4.2` ✅ FIXED
- **Effort:** 5 minutes
- **Auto-fix:** Available
---
## ⚠️ MEDIUM (This Week)
### 3. .gitignore Gaps
- **Issue:** `*.config.mjs`, `*.faf` test files not ignored
- **Fix:** Add patterns to .gitignore
- **Effort:** 1 minute
- **Auto-fix:** Available
```gitignore
*.config.mjs
test-*.faf
depcheck found unused packagesQuick wins: .gitignore + CHANGELOG entry + README links + safe npm update.
This week: triage TODOs, remove unused deps, bump patch.
Monthly: full dependency audit, large-file scan, perf baseline.
I can automatically fix:
Run auto-fix? (yes/no)
---
### 🤖 **Phase 3: Auto-Fix (Optional)**
For safe, non-breaking fixes:
```bash
# 1. Update .gitignore
cat >> .gitignore <<EOF
# Auto-added by repo-maintainer
*.config.mjs
*.faf.backup
.faf-dna.tmp
test-*.faf
EOF
# 2. Generate CHANGELOG entry from git log
git log v4.3.3..v4.4.0 --pretty=format:"- %s (%h)" >> CHANGELOG.draft.md
# 3. Safe dependency updates (non-breaking)
npm update --save
# 4. Create cleanup branch
git checkout -b repo-maintenance/$(date +%Y-%m-%d)
git add .gitignore CHANGELOG.md package.json package-lock.json
git commit -m "chore: repo maintenance - cleanup artifacts and update deps
- Add missing .gitignore patterns
- Update CHANGELOG with v4.4.0
- Safe dependency updates (patch/minor only)
Generated by /repo-maintainer skill"
# Quick health check
pwd
git status
git log --oneline -5
ls -la | head -20
Run checks in order of priority:
Create structured report with:
Ask user:
Never make changes without explicit approval.
# 1. MCP-specific structure
package.json has "mcp" field
Server exports via index.ts
Tools properly registered
# 2. Registry compliance
Registry listing accurate (npm + MCP registry)
README has MCP install instructions
Works with Claude Desktop config
# 3. Tool coverage
Each tool has tests
Each tool has description
Error handling implemented
# 4. Version alignment
package.json version
git tag version
MCP registry version
npm published version
CRITICAL: Use Official FAF Tiers for All Scoring
| Score | Tier | Symbol | Status |
|---|---|---|---|
| 100% | Trophy | ✪ | Perfect — Gold Code |
| 99% | Gold | ★ | Exceptional |
| 95% | Silver | ◆ | Top tier |
| 85% | Bronze | ◇ | Production ready |
| 70% | Green | ● | Solid foundation |
| 55% | Yellow | ● | Needs improvement |
| 1% | Red | ○ | Major work needed |
| 0% | White | ♡ | Empty |
The score is deterministic — same input → same score, every time. FAF doesn't lie.
Note: 🍊 Big Orange is an HONOR, not a score or a badge. It recognizes sustained excellence across multiple criteria; it is never calculated from a single score.
Apply These Tiers to:
Examples:
95% Security → ◆ Silver
88% Overall → ◇ Bronze
78% Dependencies → ● Green
70% Git Hygiene → ● Green
40% CI/CD → ○ Red
100% Tests → ✪ Trophy
/wjttc-builder · /wjttc-tester - generate + run championship-grade tests before a release/faf-expert - master the .faf format + score the repo's AI-readinessUser: /repo-maintainer
Claude: 🏎️ Starting championship repo maintenance audit...
[Runs git status]
[Checks workflows]
[Scans for artifacts]
[Runs npm outdated]
[Checks .gitignore]
📊 AUDIT COMPLETE
Overall Health: 85% ◇ Bronze
Critical Issues: 2
Medium Issues: 3
Low Priority: 5
Top Issues:
1. 🚨 open@10 breaking CI/CD (auto-fixable)
2. 🚨 Node 16 in workflows (EOL)
3. ⚠️ .gitignore missing *.config.mjs
4. ⚠️ 15 outdated dependencies
5. ⚠️ CHANGELOG missing v4.4.0
I can auto-fix items 1, 2, 3, and draft 5.
Would you like me to proceed? (yes/no)
User: yes
Claude: ✅ Fixing...
[Pins open@8.4.2]
[Updates workflows to Node 20]
[Adds .gitignore patterns]
[Drafts CHANGELOG entry]
✅ Auto-fixes complete!
Remaining manual items:
- Review 15 dependency updates
- 3 TODO comments need review
Create cleanup branch? (yes/no)
"Pit crews service the car between every race. Your repos deserve the same attention."
Repo Maintainer - Championship Repository Hygiene "When brakes must work flawlessly, so must our repos."