Claude-skill-registry cinema-booking

Browse movies and book tickets at Classic Cinemas Elsternwick. Use when Nathan asks what's showing, wants movie details, or wants to book tickets.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/cinema-booking" ~/.claude/skills/majiayu000-claude-skill-registry-cinema-booking && rm -rf "$T"
manifest: skills/data/cinema-booking/SKILL.md
source content

Cinema Booking

Browse movies and book tickets at Classic Cinemas Elsternwick with live pricing and email delivery.

Cinema: Classic Cinemas Elsternwick (Melbourne, Australia) Website: https://www.classiccinemas.com.au


Output Format

Use

--format markdown
for all CLI commands to get pre-formatted output ready for display. This reduces token usage by eliminating the need to parse JSON and format it manually.

bun run src/cli.ts movies --format markdown

JSON output (default) is still available for machine parsing if needed.


Variables Used

This skill uses these CLI commands. See variables.md for field mappings.

CommandVariablesWhen Loaded
movies
{MOVIE_TITLE}
,
{RATING}
,
{SESSION_TIMES}
,
{SESSION_ID}
,
{MOVIE_SLUG}
Browsing
movie
{DESCRIPTION}
,
{TRAILER_URL}
,
{DURATION}
,
{CAST}
,
{DIRECTOR}
Movie details
pricing
{TICKET_TYPES}
,
{TICKET_PRICE}
,
{BOOKING_FEE}
Booking
session
{SCREEN_NUMBER}
,
{SESSION_DATETIME}
Booking
seats
{SEAT_ROWS}
,
{AVAILABLE_SEATS}
,
{TOTAL_SEATS}
Booking
send
{MOVIE_TITLE}
,
{SEATS}
,
{TOTAL_AMOUNT}
,
{SEND_SUCCESS}
Confirmation

Workflow

BROWSE → DETAILS (optional) → SELECT TIME → PRICING → TICKETS → SEATS → SEND

When to Use

Browsing triggers:

  • "What movies are on?"
  • "What's showing at the cinema?"
  • "Tell me more about [movie]"

Booking triggers:

  • "Book tickets for [movie]"
  • "I want to see [movie] at [time]"
  • "Get me seats for the 7pm session"

Browsing Flow

See browsing.md for detailed steps.

Quick reference:

  1. List movies:
    bun run src/cli.ts movies --format markdown
  2. Movie details (if asked):
    bun run src/cli.ts movie --movie-url "{MOVIE_SLUG}" --format markdown
  3. Output is ready to display directly (no formatting needed)

Booking Flow

See booking.md for detailed steps.

Quick reference:

  1. Confirm selection: "[Movie] at [Time] - let me get pricing..."
  2. Get pricing:
    bun run src/cli.ts pricing --session-id "{SESSION_ID}" --format markdown
  3. Ask ticket quantities: Use AskUserQuestion with available ticket types
  4. Show seat map:
    bun run src/cli.ts seats --session-id "{SESSION_ID}" --format markdown
  5. Send ticket:
    bun run src/cli.ts send --session-id "{SESSION_ID}" --seats "{SEATS}" --tickets "{TICKET_STRING}" --format markdown

State to Track

Throughout the conversation, accumulate:

StepCollect
Movies listed
{MOVIE_TITLE}
,
{MOVIE_SLUG}
,
{SESSION_ID}
per movie
Time selectedSelected
{SESSION_ID}
,
{MOVIE_TITLE}
Pricing fetched
{TICKET_TYPES}
,
{BOOKING_FEE}
Tickets selectedType + quantity pairs, calculated total
Seats selected
{SEATS}
string

References

FileContent
variables.mdCLI JSON → template variable mappings
browsing.mdMovie listing workflow
booking.mdTicket booking workflow
output-templates.mdDisplay formats
cli-commands.mdFull command reference