Some checks failed
🧪 Test / 🧪 Lock + lint (push) Has been cancelled
- add ponytail skill set to skills-lock.json (14 locked skills total) - add first-party medusa skill under skills/, layered on install - make test now runs ruff, shellcheck, and markdownlint-cli2 - CI installs the lint tools before make test in both workflows - MIT license, funding buttons, thanks and donation sections in README - .markdownlint-cli2.jsonc config; ignore lint caches in .gitignore
48 lines
1.3 KiB
Bash
48 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
# Render the skills from skills-lock.json and copy them into TARGET.
|
|
# TARGET defaults to $HOME (global install); pass a project root to
|
|
# equip that project. Skills land in <TARGET>/.agents/skills and are
|
|
# mirrored to <TARGET>/.claude/skills.
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
|
REPO_ROOT="$(cd -- "${SCRIPT_DIR}/.." && pwd)"
|
|
TARGET="${TARGET:-${HOME}}"
|
|
|
|
log() { printf '%s\n' "$*"; }
|
|
warn() { printf '%s\n' "$*" >&2; }
|
|
|
|
if ! command -v npx &>/dev/null; then
|
|
warn "skills: npx not found — install Node.js first: https://nodejs.org"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -d "${TARGET}" ]]; then
|
|
warn "skills: TARGET does not exist: ${TARGET}"
|
|
exit 2
|
|
fi
|
|
|
|
cd "${REPO_ROOT}"
|
|
log "skills: restoring from skills-lock.json..."
|
|
npx --yes skills experimental_install
|
|
|
|
src="${REPO_ROOT}/.agents/skills"
|
|
if [[ ! -d "${src}" ]]; then
|
|
warn "skills: ${src} not found after install."
|
|
exit 1
|
|
fi
|
|
|
|
if [[ -d "${REPO_ROOT}/skills" ]]; then
|
|
log "skills: adding first-party skills from skills/..."
|
|
cp -a "${REPO_ROOT}/skills/." "${src}/"
|
|
fi
|
|
|
|
for dst in "${TARGET}/.agents/skills" "${TARGET}/.claude/skills"; do
|
|
log "skills: copying -> ${dst}"
|
|
rm -rf "${dst}"
|
|
mkdir -p "${dst}"
|
|
cp -a "${src}/." "${dst}/"
|
|
done
|
|
|
|
log "skills: done. Restart your agent to load the skills."
|