update-project-skills

Updates installed skills via skills.sh and syncs Toycrane companion agents for Claude Code and Codex.

Updated Sep 17, 2026
One-click install
npx skills add https://github.com/hkw2028/toy-project --skill update-project-skills-hkw2028
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: update-project-skills
Source: https://github.com/hkw2028/toy-project/tree/main/.agents/skills/update-project-skills
Command: npx skills add https://github.com/hkw2028/toy-project --skill update-project-skills-hkw2028

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

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.

Frequently Asked Questions about update-project-skills

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I update all installed skills in a project to their latest versions?

Run the skills.sh CLI through the project's package manager runner (bunx, pnpm dlx, or npx) to reinstall each skill recorded in skills-lock.json from its original source. The Skill refreshes every locked skill in place, including third-party ones, without touching project-local skills.

How do I sync custom agents between Claude Code and Codex?

Run the sync_companion_agents.py script, which reads companion-agents/manifest.json from each Toycrane-managed skill and writes native definitions to .claude/agents as Markdown and .codex/agents as TOML. Ownership is recorded in .agents/toycrane-agents-lock.json so later refreshes and retirements are authorized.

Why does npx fail with EBADDEVENGINES when running the skills CLI?

npm aborts npx with EBADDEVENGINES when package.json pins another package manager through devEngines. Use the runner matching the pinned manager instead, such as bunx for bun or pnpm dlx for pnpm, so the CLI starts normally.

What happens when a skill update collides with a project-local agent file?

The synchronizer stops and reports the colliding name and path instead of overwriting it. It only proceeds after explicit user approval via the --adopt flag for that specific name, and never infers approval from identical file contents.

Does the update remove third-party skills that disappeared upstream?

No. Third-party skills are only refreshed in place; a skill deleted upstream is reported for the user to decide on. Only Toycrane-managed skills that are no longer published are retired automatically, with an unscoped removal across the whole project.