From maintenance
Run the mikersays-plugins headless installer on this machine and verify the result
How this skill is triggered — by the user, by Claude, or both
Slash command
/maintenance:install-marketplaceThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Run the canonical `INSTALL.md` flow via `codex exec` to do a fresh install, validate installer changes, or recover a broken setup. The installer writes only to `~/.codex` and `~/.agents`.
Run the canonical INSTALL.md flow via codex exec to do a fresh install, validate installer changes, or recover a broken setup. The installer writes only to ~/.codex and ~/.agents.
command -v codex || echo "MISSING"
command -v git || echo "MISSING"
If either is missing, stop and tell the user to install it. The rest of the flow needs both.
Pipe INSTALL.md directly into codex exec. The --add-dir flags scope write access to the two install directories so no broader sandbox escalation is required.
curl -sL https://raw.githubusercontent.com/mikersays/mikersays-plugins/master/INSTALL.md \
| codex exec --full-auto --add-dir ~/.codex --add-dir ~/.agents --skip-git-repo-check -
Show the full output — the user wants to see what the installer did.
Run each check and report pass/fail individually. Partial failure is informative; a single combined check would hide which step broke. The skill list is derived at run time from the cloned repo, so it stays correct as plugins are added or removed.
ls ~/.codex/plugins/mikersays/mikersays-plugins/.agents/plugins/marketplace.json
python3 -c "
import json
data = json.load(open('$HOME/.agents/plugins/marketplace.json'))
entries = data if isinstance(data, list) else [data]
found = any(e.get('name') == 'mikersays-marketplace' for e in entries)
print('FOUND' if found else 'MISSING')
"
grep -c 'mikersays-marketplace' ~/.codex/config.toml && echo "config entries present"
# Discover expected skills from the freshly cloned repo, then check each symlink.
REPO=~/.codex/plugins/mikersays/mikersays-plugins
expected=$(find "$REPO/plugins" -mindepth 3 -maxdepth 3 -type d -path '*/skills/*' -exec basename {} \; | sort)
missing=0
for skill in $expected; do
if [ -L "$HOME/.agents/skills/$skill" ] || [ -e "$HOME/.agents/skills/$skill" ]; then
echo "✓ $skill"
else
echo "✗ $skill MISSING"
missing=$((missing + 1))
fi
done
[ "$missing" -eq 0 ] && echo "All skill symlinks present" || echo "$missing skill symlink(s) missing"
git -C ~/.codex/plugins/mikersays/mikersays-plugins log --oneline -1
Summarize what was newly installed, what was skipped (already present), any failures with the exact error, and the installed commit hash.
~/.codex and ~/.agents.npx claudepluginhub mikersays/mikersays-plugins --plugin maintenanceCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.