#!/usr/bin/env bash
# =====================================================================
#  Melinda Maria — Claude Code Skills Installer
#  Installs every marketplace + plugin used across the MM team, so your
#  Claude Code matches David's setup. Safe to re-run (idempotent).
#
#  HOW TO RUN (one line, paste into Terminal):
#    curl -fsSL https://onboarding.melindamaria.ai/team-setup/install-mm-claude-skills.sh | bash
#  ...or, if you downloaded the file:
#    bash install-mm-claude-skills.sh
# =====================================================================
set -uo pipefail

# --- pretty output ---
P='\033[38;5;97m'; PLUM='\033[38;5;60m'; PINK='\033[38;5;205m'; G='\033[38;5;35m'; R='\033[38;5;167m'; B='\033[1m'; X='\033[0m'
say(){ printf "${B}${P}%s${X}\n" "$1"; }
ok(){ printf "  ${G}OK${X}  %s\n" "$1"; }
warn(){ printf "  ${R}!!${X}  %s\n" "$1"; }

say "Melinda Maria — Claude Code Skills Installer"
echo  "This adds the team's plugin marketplaces and installs all 36 plugins."
echo  ""

# --- 0) Require the claude CLI ---
if ! command -v claude >/dev/null 2>&1; then
  warn "The 'claude' command was not found."
  echo  "  Install Claude Code first, then re-run this script:"
  echo  "    npm install -g @anthropic-ai/claude-code@latest"
  echo  "  (or: brew install claude-code)"
  exit 1
fi
ok "Found claude CLI: $(claude --version 2>/dev/null || echo 'version unknown')"
echo ""

# --- 1) Add marketplaces (owner/repo). Official marketplace is built in, skipped. ---
say "Step 1 of 2 — Adding plugin marketplaces"
MARKETPLACES=(
  "addyosmani/agent-skills"
  "vercel-labs/agent-browser"
  "sickn33/antigravity-awesome-skills"
  "zxkane/aws-skills"
  "JuliusBrussee/caveman"
  "wshobson/agents"
  "jarrodwatts/claude-hud"
  "cloudflare/skills"
  "conorbronsdon/avoid-ai-writing"
  "affaan-m/ecc"
  "esonhugh/marketplace"
  "Jeffallan/claude-skills"
  "pbakaus/impeccable"
  "coreyhaines31/marketingskills"
  "ykdojo/paper-search"
  "tuo-lei/vibe-replay"
  "vidanov/aws-architecture-diagram-skill"
)
for m in "${MARKETPLACES[@]}"; do
  if claude plugin marketplace add "$m" >/dev/null 2>&1; then ok "$m"
  else warn "$m  (already added or unreachable — continuing)"; fi
done
echo ""

# --- 2) Install plugins (plugin@marketplace) to user scope ---
say "Step 2 of 2 — Installing plugins"
PLUGINS=(
  "superpowers@claude-plugins-official"
  "frontend-design@claude-plugins-official"
  "skill-creator@claude-plugins-official"
  "code-simplifier@claude-plugins-official"
  "github@claude-plugins-official"
  "claude-md-management@claude-plugins-official"
  "security-guidance@claude-plugins-official"
  "supabase@claude-plugins-official"
  "slack@claude-plugins-official"
  "firecrawl@claude-plugins-official"
  "discord@claude-plugins-official"
  "asana@claude-plugins-official"
  "claude-code-setup@claude-plugins-official"
  "commit-commands@claude-plugins-official"
  "imessage@claude-plugins-official"
  "cloudflare@cloudflare"
  "aws-common@aws-skills"
  "aws-iac@aws-skills"
  "aws-cost-ops@aws-skills"
  "serverless-eda@aws-skills"
  "aws-agentic-ai@aws-skills"
  "fullstack-dev-skills@fullstack-dev-skills"
  "aws-architecture-diagram@vidanov-skills"
  "vibe-replay@vibe-replay"
  "paper-search@paper-search"
  "avoid-ai-writing@conorbronsdon-skills"
  "caveman@caveman"
  "agent-browser@agent-browser"
  "impeccable@impeccable"
  "ecc@ecc"
  "mattpocock-skills@Esonhugh-Marketplace"
  "claude-hud@claude-hud"
  "marketing-skills@marketingskills"
  "agent-skills@addy-agent-skills"
  "reverse-engineering@claude-code-workflows"
  "antigravity-bundle-aas-privacy-compliance-engineering@antigravity-awesome-skills"
)
fail=0
for p in "${PLUGINS[@]}"; do
  if claude plugin install "$p" --scope user >/dev/null 2>&1; then ok "$p"
  else warn "$p  (failed or already installed)"; fail=$((fail+1)); fi
done
echo ""
say "Done."
echo  "Installed/verified ${#PLUGINS[@]} plugins across ${#MARKETPLACES[@]}+1 marketplaces."
[ "$fail" -gt 0 ] && warn "$fail plugin(s) reported an issue — re-run this script, or install those from inside Claude Code with /plugin."
echo  "Open Claude Code and run  /reload-plugins  to activate everything."
