From calcom-commander
Cal.com event types, schedules, and availability configuration. TRIGGERS - event type, booking page, schedule
How this skill is triggered — by the user, by Claude, or both
Slash command
/calcom-commander:booking-configThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Configure Cal.com event types, schedules, and availability windows via CLI.
Configure Cal.com event types, schedules, and availability windows via CLI.
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.
ls -la "$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli/calcom" 2>/dev/null || echo "BINARY_NOT_FOUND"
echo "CALCOM_OP_UUID: ${CALCOM_OP_UUID:-NOT_SET}"
echo "CALCOM_API_URL: ${CALCOM_API_URL:-NOT_SET}"
All must be SET. If any are NOT_SET, run the setup command first.
CALCOM_CLI="$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli/calcom"
$CALCOM_CLI event-types list 2>&1 | head -3
Use AskUserQuestion to collect required fields:
AskUserQuestion({
questions: [{
question: "What type of booking page do you want to create?",
header: "Event Type",
options: [
{ label: "30-min Meeting", description: "Standard 30-minute meeting slot" },
{ label: "60-min Interview", description: "Full hour interview session" },
{ label: "15-min Quick Call", description: "Brief check-in call" },
{ label: "Custom", description: "Specify custom duration and details" }
],
multiSelect: false
}]
})
CALCOM_CLI="$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli/calcom"
# Create event type with collected details
$CALCOM_CLI event-types create \
--title "30min Interview" \
--slug "interview-30" \
--length 30 \
--description "Screening interview for VA candidates"
# Update title
$CALCOM_CLI event-types update <id> --title "Updated Title"
# Update duration
$CALCOM_CLI event-types update <id> --length 45
# Disable event type
$CALCOM_CLI event-types update <id> --hidden true
$CALCOM_CLI schedules list
# Create a weekday schedule (9am-5pm)
$CALCOM_CLI schedules create \
--name "Business Hours" \
--timezone "America/New_York" \
--availability '[
{"days": [1,2,3,4,5], "startTime": "09:00", "endTime": "17:00"}
]'
# Check available slots for a specific date range
$CALCOM_CLI availability check \
--event-type-id <id> \
--start "2026-02-15" \
--end "2026-02-20"
$CALCOM_CLI event-types create \
--title "VA Screening Interview" \
--slug "va-screening" \
--length 30 \
--description "BruntWork virtual assistant candidate screening" \
--requires-confirmation true
$CALCOM_CLI event-types create \
--title "Office Hours" \
--slug "office-hours" \
--length 15 \
--description "Drop-in office hours for team questions"
Manage Cal.com webhooks for real-time Pushover notifications via the webhook relay.
CALCOM_API_KEY=$(op item get "$CALCOM_OP_UUID" --vault "Claude Automation" --fields password --reveal)
curl -s "https://api.cal.com/v1/webhooks?apiKey=$CALCOM_API_KEY" | python3 -m json.tool
curl -s -X POST "https://api.cal.com/v1/webhooks?apiKey=$CALCOM_API_KEY" \
-H "Content-Type: application/json" \
-d "{\"subscriberUrl\":\"$WEBHOOK_RELAY_URL\",\"eventTriggers\":[\"BOOKING_CREATED\",\"BOOKING_RESCHEDULED\",\"BOOKING_CANCELLED\"],\"active\":true}"
curl -s -X DELETE "https://api.cal.com/v1/webhooks/<webhook-id>?apiKey=$CALCOM_API_KEY"
Prerequisites: WEBHOOK_RELAY_URL must be set in .mise.local.toml. Deploy the relay first via the infra-deploy skill.
After this skill completes, reflect before closing the task:
Do NOT defer. The next invocation inherits whatever you leave behind.
npx claudepluginhub terrylica/cc-skills --plugin calcom-commanderGuides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Synthesizes the current conversation into a structured spec (PRD) and publishes it to the project issue tracker with a ready-for-agent label, without interviewing the user.