Troubleshooting

Symptom-led recovery for common issues.

Quick Reference

Symptom Likely Cause Command Expected Result
Skill installed but not visibleCLI session loaded before skill roots existedRestart Claude Code or start fresh Codex sessionSkill appears in /skills or $skills
Skill was visible, now gonePack removed or refresh cleared itscripts/pack.sh statusShows current installs; reinstall if missing
jq required for write operationsjq not installedbrew install jq (macOS) or apt install jqPack commands succeed
Skills out of date after git pullCanonical skills moved ahead of installed copiesscripts/pack.sh doctor then scripts/pack.sh refreshDoctor reports ok for all skills
Unknown pack or skill errorTypo or pack not availablescripts/pack.sh listSee available packs; retry with correct name
Lock timeout errorAnother pack command is runningWait for the other command, or check if the listed PID is still aliveLock released; retry
Broken skill referencesA skill references another that was moved or deleted./scripts/skill-deps.sh --brokenLists broken refs; fix or remove
Missing version metadataSkill lacks required version field./scripts/skill-versions.sh --missingLists skills needing version bump
Pinned skill archive missingArchived version was deletedbash scripts/skill-archive-audit.sh --strictLists integrity issues; restore archive or unpin
Base skills staleBase install older than reponpx skillpacks doctor then npx skillpacks refreshRe-copies managed base skills

Detailed Recovery Procedures

Skills Not Visible After Install

Pack installation creates file-system skill roots but does not hot-reload the active CLI session.

  1. Run scripts/pack.sh status to confirm the pack is installed.
  2. Claude Code:
  1. Codex: start a fresh Codex CLI session.

Skill-Install Drift

When canonical skill sources in this repo are updated (e.g. after git pull), installed copies in consumer projects may become stale.

  1. Run scripts/pack.sh doctor to see drift status for each installed skill.
  2. Statuses:
  1. Run scripts/pack.sh refresh to re-copy all installs from canonical sources.
  2. Restart your CLI session after refresh.

jq Errors

jq is required for source-checkout scripts/pack.sh write operations (install, remove, refresh, set-mode, set-update-mode). Node-owned npx skillpacks project-config commands do not require jq, except install-deck still uses shell materialization.

If jq produces empty output or parse errors, check that .agents/project.json is valid JSON:

jq . .agents/project.json

Lock Contention

Pack commands use .agents/.pack.lock to prevent concurrent writes. If a previous command crashed without releasing the lock:

  1. Check if the recorded PID is still running (the error message includes owner metadata).
  2. If the process is gone, the next pack command will auto-clean the stale lock.
  3. If auto-cleaning fails, manually remove .agents/.pack.lock and retry.

Base Skill Drift

Base skills (installed project-local via npx skillpacks init) can also drift after the repo is updated.

  1. Run npx skillpacks doctor to check project-local base drift.
  2. Run npx skillpacks refresh to re-copy managed base skills.
  3. Restart your CLI session.

Windows/WSL Issues

This tool requires a bash environment. On Windows, use WSL2 with a Linux-side clone.

Validation Commands

Run these to check repo health:

./scripts/skill-deps.sh --broken           # broken skill cross-references
./scripts/skill-pack-routing-audit.sh      # routing contract consistency
./scripts/skill-versions.sh --missing      # skills missing version metadata
bash scripts/skill-archive-audit.sh --strict  # archive integrity
pnpm --dir tests test                      # unit and integration tests