#!/usr/bin/env bash
# session-handoff — install for Claude Code.
#   User-level (default):  curl -fsSL https://ookay.dev/skills/session-handoff/install.sh | bash
#   Project-level:         curl -fsSL https://ookay.dev/skills/session-handoff/install.sh | bash -s -- --project
set -euo pipefail

BASE="https://ookay.dev/skills/session-handoff"

case "${1:-}" in
  --project) DEST="$(pwd)/.claude/skills/session-handoff" ;;
  "")        DEST="${HOME}/.claude/skills/session-handoff" ;;
  *)         echo "unknown option: $1 (expected --project)" >&2; exit 2 ;;
esac

command -v curl >/dev/null 2>&1 || { echo "curl is required" >&2; exit 1; }

if [ -e "$DEST" ]; then
  echo "==> $DEST already exists; overwriting the three skill files."
fi

mkdir -p "$DEST/assets" "$DEST/scripts"

fetch() {
  curl -fsSL "$BASE/$1" -o "$DEST/$2" \
    || { echo "failed to download $1" >&2; exit 1; }
}

fetch SKILL.md            SKILL.md
fetch handoff-template.md assets/handoff-template.md
fetch collect-context.sh  scripts/collect-context.sh
chmod +x "$DEST/scripts/collect-context.sh"

echo "==> session-handoff installed to $DEST"
echo "    Restart Claude Code, then say: \"write a handoff\""
