Loading...
Loading...
Use when running an infra-only health audit across Pylot systems — LaunchAgent, cron, secrets, labels, branches, and issues.
npx skill4agent add fellowship-dev/dogfooded-skills maintenancenpx skills add fellowship-dev/dogfooded-skills/ops/maintenanceArchitecture/doc checks have moved to. This skill covers infrastructure only: processes, secrets, labels, branches, dependencies, system health, and memory hygiene./entropy-check
# Set GH_TOKEN at the start of every run
export GH_TOKEN=$(grep GH_TOKEN_FELLOWSHIP /home/ubuntu/projects/fellowship-dev/claude-buddy/.env | cut -d= -f2)wc -l /home/ubuntu/projects/fellowship-dev/claude-buddy/memory/MEMORY.md
ls ~/.claude/projects/-Users-maxfindel-Projects-claude-buddy/*.jsonl | wc -l/save-memorygrep -r "ghp_\|ghs_\|sk-\|xoxb-\|AAEi\|AAAA[a-zA-Z0-9]" \
/home/ubuntu/projects/fellowship-dev/claude-buddy/ \
--include="*.md" --include="*.sh" --include="*.py" --include="*.mjs" \
-l 2>/dev/null | grep -v ".git"PROJECTS.mdGH_TOKEN=$GH_TOKEN gh api repos/{org}/{repo}/contents/.github/dependabot.yml 2>&1GH_TOKEN=$GH_TOKEN gh api repos/{org}/{repo}/branches --paginate \
--jq '.[].name' 2>/dev/null
# Cross-reference against merged PRsls ~/Library/LaunchAgents/fry.*.plist | while read f; do
target=$(grep -o '/[^<]*' "$f" | grep -E '\.sh|\.py|\.mjs' | head -1)
[ -f "$target" ] || echo "MISSING: $f → $target"
done
launchctl list | grep fryls -t ~/.local/share/fry-bot/cron-logs/*.log | head -20 | xargs grep -l "FAILED\|ERROR\|timeout" 2>/dev/nullGH_TOKEN=$GH_TOKEN gh repo list {org} --json name,isArchived,pushedAt --limit 50brew outdated --quiet | wc -l
df -h / | tail -1STANDARD="ready-to-work in-progress needs-manual-review reviewed double-checked ready-to-merge groundwork dependencies bug enhancement documentation"
for repo in farmesa inbox-angel booster-pack mtg-lotr commander; do
existing=$(GH_TOKEN=$GH_TOKEN gh label list --repo fellowship-dev/$repo \
--json name --jq '.[].name' 2>/dev/null | tr '\n' ' ')
for label in $STANDARD; do
echo "$existing" | grep -q "$label" || echo "MISSING: fellowship-dev/$repo → $label"
done
donegh label createboosterfor dir in ~/Projects/fellowship-dev/*/; do
if git -C "$dir" remote | grep -q '^booster$' 2>/dev/null; then
repo=$(basename "$dir")
BEHIND=$(git -C "$dir" rev-list HEAD..booster/main --count 2>/dev/null || echo "?")
echo "fellowship-dev/$repo: $BEHIND commits behind booster-pack"
fi
donepull-booster-{repo-slug}maintenance{project-path}git pull booster main --no-edit && git pushGH_TOKEN=$GH_TOKEN gh issue list --repo fellowship-dev/claude-buddy --state open \
--json number,title,labels,createdAt# Fetch open + closed issue titles (closed catches older attempts at the same problem)
GH_TOKEN=$GH_TOKEN gh issue list --repo fellowship-dev/claude-buddy \
--state all --limit 200 --json number,title,state \
--jq '.[] | "\(.state) #\(.number): \(.title)"'GH_TOKEN=$GH_TOKEN gh issue create \
--repo fellowship-dev/claude-buddy \
--title "Maintenance: {finding}" \
--label "maintenance" \
--body "..."reports/maintenance/YYYY-MM-DD.md# Maintenance Report — YYYY-MM-DD
## Checks Run
- [x] Memory consolidation
- [x] Secrets scan
- [x] Dependabot coverage
- [x] Stale branches
- [x] LaunchAgent health
- [x] Cron log errors
- [x] PROJECTS.md accuracy
- [x] Spacestation system health
- [x] Label sync
- [x] Booster-pack sync
- [x] Open issues review
> Note: Architecture/doc drift checks have moved to /entropy-check (separate skill)
## Findings
### Issues Created
- issue [fellowship-dev/claude-buddy#N](url): {title}
### Clean
- {area}: nothing flagged
### Noted (no issue, low severity)
- {finding}
## Memory
- MEMORY.md: {N} lines
- JSONL sessions: {N} files🔧 Maintenance — YYYY-MM-DD
{N} issues created: [list with links]
{N} areas clean
Memory: {N}/200 lines
Full report: reports/maintenance/YYYY-MM-DD.md/entropy-check/entropy-check