#!/usr/bin/env bash set -euo pipefail if [[ -z "${AGENT_WORKSPACE:-}" ]]; then echo "Error: script must be executed by pcexec" exit 1 fi SKILL_LIST="${AGENT_WORKSPACE}/.skill-list" TARGET_DIR="${AGENT_WORKSPACE}/skills" CLAW_DIR="$(cd "$(dirname "$0")" && pwd)" MANDATORY_FILE="${CLAW_DIR}/.mandatory" mkdir -p "$TARGET_DIR" # First: install mandatory skills from .mandatory (one per line) if [[ -f "$MANDATORY_FILE" ]]; then while IFS= read -r skill_name || [[ -n "$skill_name" ]]; do [[ -z "$skill_name" || "$skill_name" == \#* ]] && continue skill_dir="${CLAW_DIR}/${skill_name}" if [[ -d "$skill_dir" ]]; then echo "Installing (mandatory): $skill_name" cp -r "$skill_dir" "${TARGET_DIR}/" else echo "Skipping (not found): $skill_name" fi done < "$MANDATORY_FILE" fi # Then: install skills from .skill-list if [[ -f "$SKILL_LIST" ]]; then while IFS= read -r skill_name || [[ -n "$skill_name" ]]; do [[ -z "$skill_name" || "$skill_name" == \#* ]] && continue skill_dir="${CLAW_DIR}/${skill_name}" if [[ -d "$skill_dir" ]]; then echo "Installing: $skill_name" cp -r "$skill_dir" "${TARGET_DIR}/" else echo "Skipping (not found): $skill_name" fi done < "$SKILL_LIST" else echo "Error: .skill-list not found at $SKILL_LIST" exit 1 fi echo "Done."