返回 Skill 列表
extension
分类: AI Agent 能力无需 API Key

cinema-booking

浏览电影并预订Classic Cinemas Elsternwick的电影票。当Nathan询问正在上映什么电影、想要了解电影详情或希望预订电影票时使用。

person作者: jakexiaohubgithub

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.

| Command | Variables | When 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:

| Step | Collect | |------|---------| | Movies listed | {MOVIE_TITLE}, {MOVIE_SLUG}, {SESSION_ID} per movie | | Time selected | Selected {SESSION_ID}, {MOVIE_TITLE} | | Pricing fetched | {TICKET_TYPES}, {BOOKING_FEE} | | Tickets selected | Type + quantity pairs, calculated total | | Seats selected | {SEATS} string |


References

| File | Content | |------|---------| | variables.md | CLI JSON → template variable mappings | | browsing.md | Movie listing workflow | | booking.md | Ticket booking workflow | | output-templates.md | Display formats | | cli-commands.md | Full command reference |