What problem does it solve? Keeping every skill installed in a project current is tedious and error-prone: versions drift, upstream skills get retired, new ones appear, and companion custom agents for Claude Code and Codex fall out of sync. This Skill automates the entire refresh and reconciliation workflow through the skills.sh CLI. ## Core Features & Use Cases - In-place skill updates: Refreshes every skill recorded in skills-lock.json from its original source using the project's own package manager runner (bunx, pnpm dlx, or npx), preserving the copy-based install layout across .agents/skills and .claude/skills. - Toycrane set reconciliation: Installs newly published skills that fit the project's stack (gating expo-group skills on expo/react-native dependencies), retires unpublished ones, and asks before adopting name collisions with project-local skills. - Companion agent synchronization: Runs a Python script that materializes companion agents declared by managed skills into .claude/agents and .codex/agents, records ownership in .agents/toycrane-agents-lock.json, and refuses to overwrite unowned files without explicit approval. - Use Case: A team maintaining a Next.js project runs the update monthly; the Skill upgrades all locked skills, installs a newly published Toycrane skill, removes a retired one, and verifies both agent copies match before committing the lock files together. ## Quick Start Ask the AI to update and sync all installed skills and companion agents in this project to their latest published versions.