返回 last30days-skill
compare.sh
根目录 / skills / last30days / scripts / compare.sh
1 #!/bin/bash
2 # A/B test runner: public release vs private beta
3 # Usage: bash skills/last30days/scripts/compare.sh "Kanye West"
4 #
5 # Runs /last30days (public release) and /last30days-beta (private beta)
6 # sequentially with a 30s gap, saves raw results with distinct suffixes,
7 # prints file paths for comparison.
8
9 set -e
10
11 if [ $# -eq 0 ]; then
12 echo "Usage: bash skills/last30days/scripts/compare.sh <topic>"
13 echo " Example: bash skills/last30days/scripts/compare.sh Kevin Rose"
14 exit 1
15 fi
16 TOPIC="$*"
17 SLUG=$(echo "$TOPIC" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | sed 's/--*/-/g' | sed 's/^-//' | sed 's/-$//')
18 LAST30DAYS_MEMORY_DIR="${LAST30DAYS_MEMORY_DIR:-$HOME/Documents/Last30Days}"
19 DIR="$LAST30DAYS_MEMORY_DIR"
20 DATE=$(date +%Y-%m-%d)
21
22 echo "=============================================="
23 echo " A/B Test: $TOPIC"
24 echo " Date: $DATE"
25 echo "=============================================="
26 echo ""
27
28 # Run 1: public release
29 echo "[1/2] Running /last30days (public release)..."
30 echo " This takes 2-4 minutes..."
31 claude -p "/last30days $TOPIC" > /dev/null 2>&1 || true
32 RELEASE_FILE="$DIR/${SLUG}-raw.md"
33 [ -f "$RELEASE_FILE" ] && echo " Done: $RELEASE_FILE" || echo " FAILED: no output file"
34 echo ""
35
36 echo " Waiting 30s for API rate limits..."
37 sleep 30
38
39 # Run 2: private beta
40 echo "[2/2] Running /last30days-beta (private beta)..."
41 echo " This takes 2-4 minutes..."
42 claude -p "/last30days-beta $TOPIC" > /dev/null 2>&1 || true
43 BETA_FILE="$DIR/${SLUG}-raw-beta.md"
44 [ -f "$BETA_FILE" ] && echo " Done: $BETA_FILE" || echo " FAILED: no output file"
45 echo ""
46
47 echo "=============================================="
48 echo " Both complete. Raw files:"
49 echo "=============================================="
50 echo ""
51 ls -la "$DIR/${SLUG}-raw"*.md 2>/dev/null || echo " (no files found - check if skills saved correctly)"
52 echo ""
53 echo "To compare, run in Claude Code:"
54 echo " Read and compare these raw research files, produce a detailed report:"
55 echo " $RELEASE_FILE"
56 echo " $BETA_FILE"
57 echo ""
58 echo "Beta output should start with a line like:"
59 echo " 🧪 last30days-beta · branch <name> · synced $DATE"
60 echo "If that line is missing, the beta badge regressed. See docs/plans/2026-04-17-005-*-plan.md."
61 echo ""
62
62 lines BASH