Full Cal.com Commander setup wizard - Cal.com API, Telegram bot, Supabase DB, GCP project, launchd services. Discovers 1Password items, configures mise environment, installs launchd plists. TRIGGERS - calcom setup, calendar bot setup, cal.com install, booking bot configure.
From calcom-commandernpx claudepluginhub terrylica/cc-skills --plugin calcom-commanderThis skill is limited to using the following tools:
references/evolution-log.mdGuides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Optimizes cloud costs on AWS, Azure, GCP via rightsizing, tagging strategies, reserved instances, spot usage, and spending analysis. Use for expense reduction and governance.
Complete setup wizard for Cal.com CLI access, Telegram bot, Supabase database, and launchd services.
Self-Evolving Skill: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues.
# Check required tools
command -v op && echo "OK 1Password CLI" || echo "MISSING: brew install 1password-cli"
command -v mise && echo "OK mise" || echo "MISSING: curl https://mise.run | sh"
command -v bun && echo "OK bun" || echo "MISSING: curl -fsSL https://bun.sh/install | bash"
command -v gcloud && echo "OK gcloud" || echo "OPTIONAL: brew install google-cloud-sdk"
command -v supabase && echo "OK supabase" || echo "OPTIONAL: brew install supabase/tap/supabase"
echo "CALCOM_OP_UUID: ${CALCOM_OP_UUID:-NOT_SET}"
If already set, use AskUserQuestion to ask if user wants to reconfigure.
op item list --vault "Claude Automation" --format json | jq -r '.[] | select(.title | test("calcom|cal.com|calendar"; "i")) | "\(.id)\t\(.title)"'
Use AskUserQuestion with discovered items or guide new API key creation.
# Add to .mise.local.toml in project directory
cat >> .mise.local.toml << 'EOF'
[env]
CALCOM_OP_UUID = "<selected-uuid>"
EOF
cd "$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli" && bun install && bun run build
"$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli/calcom" event-types list
echo "TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN:+SET}"
echo "TELEGRAM_CHAT_ID: ${TELEGRAM_CHAT_ID:-NOT_SET}"
If NOT_SET, guide user through BotFather setup:
/newbot and follow promptshttps://api.telegram.org/bot<TOKEN>/getUpdates# Append bot config
cat >> .mise.local.toml << 'EOF'
TELEGRAM_BOT_TOKEN = "<bot-token>"
TELEGRAM_CHAT_ID = "<chat-id>"
EOF
echo "CALCOM_GCP_PROJECT: ${CALCOM_GCP_PROJECT:-NOT_SET}"
echo "CALCOM_GCP_ACCOUNT: ${CALCOM_GCP_ACCOUNT:-NOT_SET}"
echo "SUPABASE_PROJECT_REF: ${SUPABASE_PROJECT_REF:-NOT_SET}"
If NOT_SET, guide user through:
gcloud projects create <project-id>.mise.local.toml# Generate 3 secrets
NEXTAUTH_SECRET=$(openssl rand -base64 32)
ENCRYPTION_KEY=$(openssl rand -hex 32)
CRON_API_KEY=$(openssl rand -hex 32)
echo "NEXTAUTH_SECRET: $NEXTAUTH_SECRET"
echo "CALENDSO_ENCRYPTION_KEY: $ENCRYPTION_KEY"
echo "CRON_API_KEY: $CRON_API_KEY"
Store in 1Password Claude Automation vault.
mkdir -p ~/own/amonic/bin ~/own/amonic/logs
# Bot launcher
cat > ~/own/amonic/bin/calcom-commander-bot << 'SCRIPT'
#!/bin/bash
set -euo pipefail
eval "$("$HOME/.local/bin/mise" activate bash)"
cd "$HOME/own/amonic"
exec bun run "$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/bot.ts"
SCRIPT
chmod +x ~/own/amonic/bin/calcom-commander-bot
# Sync launcher
cat > ~/own/amonic/bin/calcom-commander-sync << 'SCRIPT'
#!/bin/bash
set -euo pipefail
eval "$("$HOME/.local/bin/mise" activate bash)"
cd "$HOME/own/amonic"
exec bun run "$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/sync.ts"
SCRIPT
chmod +x ~/own/amonic/bin/calcom-commander-sync
Use AskUserQuestion to confirm before installing launchd services.
# Copy plist templates to LaunchAgents
# launchctl load ~/Library/LaunchAgents/com.terryli.calcom-commander-bot.plist
# launchctl load ~/Library/LaunchAgents/com.terryli.calcom-commander-sync.plist
# Run health check
echo "=== Cal.com CLI ==="
"$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli/calcom" event-types list 2>&1 | head -5
echo ""
echo "=== Bot Process ==="
pgrep -fl calcom-commander || echo "Not running"
echo ""
echo "=== launchd ==="
launchctl list | grep calcom-commander || echo "Not registered"
echo ""
echo "=== Supabase ==="
DATABASE_URL=$(op read "$SUPABASE_DB_URL_REF" 2>/dev/null) && psql "$DATABASE_URL" -c "SELECT 1" 2>&1 | head -3 || echo "DB not configured"
echo $CALCOM_OP_UUID shows a UUIDecho $TELEGRAM_BOT_TOKEN is setDirect user to: calcom-api-setup.md
After this skill completes, reflect before closing the task:
Do NOT defer. The next invocation inherits whatever you leave behind.