#!/usr/bin/env bash
#
# Canon kit: Marketing / Landing Site
# Installs this kit's skills into ./.claude/skills/ of the current project.
#
# Usage: run from your project root:
#   bash install.sh
#
# Re-running updates everything in place (each skill folder is replaced).
# Generated by Canon (marketing-site) — https://jamesmadson.github.io/canon

set -uo pipefail

DEST="$(pwd)/.claude/skills"
TMP="$(mktemp -d)"
FAILURES=0
trap 'rm -rf "$TMP"' EXIT

clone() { # clone <org/repo> once, shallow; prints dir on stdout, logs on stderr
  local repo="$1" dir="$TMP/${1//\//__}"
  if [ ! -d "$dir" ]; then
    echo "→ cloning $repo" >&2
    git clone -q --depth 1 "https://github.com/$repo" "$dir" >&2
  fi
  echo "$dir"
}

install_skill() { # install_skill <org/repo> <path-in-repo|.> [dest-name]
  local repo="$1" path="$2" name="${3:-$(basename "$2")}"
  local src; src="$(clone "$repo")"
  if [ "$path" != "." ]; then src="$src/$path"; fi
  if [ ! -d "$src" ]; then
    echo "  !! $repo/$path not found — skipped" >&2
    FAILURES=$((FAILURES + 1))
    return 0
  fi
  rm -rf "$DEST/$name"
  cp -R "$src" "$DEST/$name"
  rm -rf "$DEST/$name/.git"
  echo "  ✓ $name  (from $repo)"
}

mkdir -p "$DEST"
echo "Installing the Marketing / Landing Site kit into $DEST"
echo ""

install_skill anthropics/skills skills/brand-guidelines
install_skill anthropics/skills skills/frontend-design
install_skill jakubkrehel/make-interfaces-feel-better skills/make-interfaces-feel-better
install_skill kylezantos/design-motion-principles skills/design-motion-principles
install_skill MengTo/Skills agent-skills/web-design/scroll-scrubbed-visual-sequence
install_skill MengTo/Skills agent-skills/web-design/falling-leaves
install_skill MengTo/Skills agent-skills/web-design/threejs-landscape
install_skill jakubkrehel/skills skills/better-writing
install_skill jakubkrehel/skills skills/better-accessibility

echo ""
echo "Done. $(ls -1 "$DEST" | wc -l | tr -d ' ') skill folders now in .claude/skills/"
if [ "$FAILURES" -gt 0 ]; then
  echo "WARNING: $FAILURES skill(s) failed to install — see !! lines above." >&2
fi
echo ""
echo "Next: start a Claude Code session in this project — skills auto-load"
echo "from .claude/skills/ and trigger on matching work."
exit "$FAILURES"
