booking-config
Cal.com event types, schedules, and availability configuration. TRIGGERS - event type, booking page, schedule, availability, create calendar, configure calcom, booking link.
Best use case
booking-config is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Cal.com event types, schedules, and availability configuration. TRIGGERS - event type, booking page, schedule, availability, create calendar, configure calcom, booking link.
Teams using booking-config should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/booking-config/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How booking-config Compares
| Feature / Agent | booking-config | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Cal.com event types, schedules, and availability configuration. TRIGGERS - event type, booking page, schedule, availability, create calendar, configure calcom, booking link.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Booking Configuration
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.
## Mandatory Preflight
### Step 1: Check CLI Binary
```bash
ls -la "$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli/calcom" 2>/dev/null || echo "BINARY_NOT_FOUND"
```
### Step 2: Verify Environment
```bash
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.
### Step 3: Test API Access
```bash
CALCOM_CLI="$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli/calcom"
$CALCOM_CLI event-types list 2>&1 | head -3
```
## Event Type Management
### Create Event Type
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
}]
})
```
```bash
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 Event Type
```bash
# 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
```
## Schedule Management
### List Schedules
```bash
$CALCOM_CLI schedules list
```
### Create Schedule
```bash
# 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 Availability
```bash
# Check available slots for a specific date range
$CALCOM_CLI availability check \
--event-type-id <id> \
--start "2026-02-15" \
--end "2026-02-20"
```
## Common Booking Page Patterns
### Candidate Screening Interview
```bash
$CALCOM_CLI event-types create \
--title "VA Screening Interview" \
--slug "va-screening" \
--length 30 \
--description "BruntWork virtual assistant candidate screening" \
--requires-confirmation true
```
### Open Office Hours
```bash
$CALCOM_CLI event-types create \
--title "Office Hours" \
--slug "office-hours" \
--length 15 \
--description "Drop-in office hours for team questions"
```
## Webhook Management
Manage Cal.com webhooks for real-time Pushover notifications via the webhook relay.
### List Webhooks
```bash
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
```
### Register Webhook
```bash
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}"
```
### Delete Webhook
```bash
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.
## Post-Change Checklist
- [ ] YAML frontmatter valid (no colons in description)
- [ ] Trigger keywords current
- [ ] Path patterns use $HOME not hardcoded paths
## Post-Execution Reflection
After this skill completes, reflect before closing the task:
0. **Locate yourself.** — Find this SKILL.md's canonical path before editing.
1. **What failed?** — Fix the instruction that caused it.
2. **What worked better than expected?** — Promote to recommended practice.
3. **What drifted?** — Fix any script, reference, or dependency that no longer matches reality.
4. **Log it.** — Evolution-log entry with trigger, fix, and evidence.
Do NOT defer. The next invocation inherits whatever you leave behind.Related Skills
configure-macro-keyboard
Configure a cheap 3-key USB-C/Bluetooth macro pad on macOS end-to-end with Karabiner-Elements. TRIGGERS - macro pad setup, remap macro keyboard, 3-key macropad, cheap HID pad, Jieli macro pad, Free3-P, Karabiner rule for macro keyboard, USB + Bluetooth remap, Stream Deck alternative, AliExpress macro pad, remap external keyboard device-only, fix BTT cannot emit Fn, Typeless push-to-talk via macro pad.
mise-configuration
Configure environment variables and project settings using mise [env] as the single source of truth. Use whenever the user needs to set up mise.toml, centralize environment variables, configure Python venvs through mise, use mise templates, or structure hub-spoke and monorepo mise configurations with subfolder overrides. Do NOT use for mise task orchestration (use mise-tasks instead) or for runtime version management unrelated to environment configuration.
clickhouse-pydantic-config
Generate DBeaver config from Pydantic ClickHouse models. TRIGGERS - DBeaver config, ClickHouse connection, database client config.
booking-notify
Dual-channel booking notifications via Telegram + Pushover. Scheduled sync, webhook relay, emergency alerts with custom sounds. TRIGGERS - booking sync, booking digest, booking notifications, upcoming bookings, calendar sync, booking reminder, pushover, webhook, dune alert.
voice-quality-audition
Audition Kokoro TTS voices to compare quality and grade. TRIGGERS - audition voices, kokoro voices, voice comparison, tts voice, voice quality, compare voices.
settings-and-tuning
Configure TTS voices, speed, timeouts, queue depth, and bot settings. TRIGGERS - configure tts, change voice, tts speed, queue depth, tts timeout, bot config, tune settings, adjust parameters.
full-stack-bootstrap
One-time bootstrap for Kokoro TTS engine, Telegram bot, and BotFather setup. TRIGGERS - setup tts, install kokoro, botfather, bootstrap tts-tg-sync, configure telegram bot, full stack setup.
diagnostic-issue-resolver
Diagnose and resolve TTS and Telegram bot issues. TRIGGERS - tts not working, bot not responding, kokoro error, audio not playing, lock stuck, telegram bot troubleshoot, diagnose issue.
component-version-upgrade
Upgrade Kokoro model, bot dependencies, or TTS components. TRIGGERS - upgrade kokoro, update model, upgrade bot, update dependencies, version bump, component update.
clean-component-removal
Remove TTS and Telegram sync components cleanly. TRIGGERS - uninstall tts, remove telegram bot, uninstall kokoro, clean tts, teardown, component removal.
send-message
Use when user wants to send a text message on Telegram as their personal account via MTProto, text someone, or message a contact by username, phone, or chat ID.
send-media
Use when user wants to send or upload a file, photo, video, voice note, or document on Telegram via their personal account.