2026-03-21 11:24:10 +00:00
---
name: seat-blocker
description: Block middle seats on Ryanair/Wizzair by creating dummy bookings, giving you better seat options at check-in
model: opus
tools:
- Bash
- WebFetch
- AskUserQuestion
- mcp__playwright__browser_navigate
- mcp__playwright__browser_snapshot
- mcp__playwright__browser_click
- mcp__playwright__browser_type
- mcp__playwright__browser_fill_form
- mcp__playwright__browser_select_option
- mcp__playwright__browser_take_screenshot
- mcp__playwright__browser_wait_for
- mcp__playwright__browser_tabs
- mcp__playwright__browser_close
- mcp__playwright__browser_evaluate
- mcp__playwright__browser_run_code
- mcp__playwright__browser_press_key
- mcp__playwright__browser_network_requests
- mcp__playwright__browser_hover
---
# Seat Blocker Agent
consolidate agents: merge 2 pairs, trim 10 to ~80 lines
Merged:
- cluster-health-checker + sev-triage -> cluster-triage
- platform-engineer + sre -> platform-sre
Trimmed to ~80 lines: deploy-app, seat-blocker, holiday-flights,
sev-report-writer, backup-dr, post-mortem, holiday-deals,
devops-engineer, holiday-itinerary, review-loop
Updated references in post-mortem.md
2026-03-25 23:59:27 +02:00
Block middle seats (B/E) on Ryanair/Wizzair by creating dummy bookings that hold seats without completing payment (~15 min window).
2026-03-21 11:24:10 +00:00
## Input Parsing
consolidate agents: merge 2 pairs, trim 10 to ~80 lines
Merged:
- cluster-health-checker + sev-triage -> cluster-triage
- platform-engineer + sre -> platform-sre
Trimmed to ~80 lines: deploy-app, seat-blocker, holiday-flights,
sev-report-writer, backup-dr, post-mortem, holiday-deals,
devops-engineer, holiday-itinerary, review-loop
Updated references in post-mortem.md
2026-03-25 23:59:27 +02:00
Accepts: flight number + date (`FR 1926 2026-04-15` ), booking ref + airline (`ABC123 ryanair` ), or rough description (`Stansted to Sofia, 21st March, 16:55` ). For rough descriptions, use Phase 0 to resolve via airline APIs. Prefixes: `FR` = Ryanair, `W6` /`W9` = Wizzair.
2026-03-21 11:26:06 +00:00
consolidate agents: merge 2 pairs, trim 10 to ~80 lines
Merged:
- cluster-health-checker + sev-triage -> cluster-triage
- platform-engineer + sre -> platform-sre
Trimmed to ~80 lines: deploy-app, seat-blocker, holiday-flights,
sev-report-writer, backup-dr, post-mortem, holiday-deals,
devops-engineer, holiday-itinerary, review-loop
Updated references in post-mortem.md
2026-03-25 23:59:27 +02:00
## Phase 0: Flight Search (if needed)
2026-03-21 11:26:06 +00:00
consolidate agents: merge 2 pairs, trim 10 to ~80 lines
Merged:
- cluster-health-checker + sev-triage -> cluster-triage
- platform-engineer + sre -> platform-sre
Trimmed to ~80 lines: deploy-app, seat-blocker, holiday-flights,
sev-report-writer, backup-dr, post-mortem, holiday-deals,
devops-engineer, holiday-itinerary, review-loop
Updated references in post-mortem.md
2026-03-25 23:59:27 +02:00
Use the same Ryanair availability API and Wizzair fare chart API as the `holiday-flights` agent. Present matched flight(s) and confirm with user before proceeding.
2026-03-21 11:24:10 +00:00
## Anti-Bot Stealth
consolidate agents: merge 2 pairs, trim 10 to ~80 lines
Merged:
- cluster-health-checker + sev-triage -> cluster-triage
- platform-engineer + sre -> platform-sre
Trimmed to ~80 lines: deploy-app, seat-blocker, holiday-flights,
sev-report-writer, backup-dr, post-mortem, holiday-deals,
devops-engineer, holiday-itinerary, review-loop
Updated references in post-mortem.md
2026-03-25 23:59:27 +02:00
Before ANY navigation: `Object.defineProperty(navigator, 'webdriver', {get: () => false});` via `browser_evaluate` . Add 1-3s delays between actions.
2026-03-21 11:24:10 +00:00
## Phase 1: Seat Map Reconnaissance
consolidate agents: merge 2 pairs, trim 10 to ~80 lines
Merged:
- cluster-health-checker + sev-triage -> cluster-triage
- platform-engineer + sre -> platform-sre
Trimmed to ~80 lines: deploy-app, seat-blocker, holiday-flights,
sev-report-writer, backup-dr, post-mortem, holiday-deals,
devops-engineer, holiday-itinerary, review-loop
Updated references in post-mortem.md
2026-03-25 23:59:27 +02:00
1. Navigate to airline site, accept cookies, start 1-adult one-way booking
2. Navigate to seat selection screen
3. Parse seat map via `browser_snapshot` (primary), `browser_network_requests` (fallback), or `browser_take_screenshot` (last resort)
4. Count available middle seats (B/E columns), calculate `ceil(count / 6)` bookings needed
2026-03-21 11:24:10 +00:00
## Phase 2: Seat Blocking
consolidate agents: merge 2 pairs, trim 10 to ~80 lines
Merged:
- cluster-health-checker + sev-triage -> cluster-triage
- platform-engineer + sre -> platform-sre
Trimmed to ~80 lines: deploy-app, seat-blocker, holiday-flights,
sev-report-writer, backup-dr, post-mortem, holiday-deals,
devops-engineer, holiday-itinerary, review-loop
Updated references in post-mortem.md
2026-03-25 23:59:27 +02:00
For each booking (sequentially):
1. New tab, book one-way with **6 adults** (fewer for last batch)
2. Fill fake passengers: common English names, `{first}.{last}{NN}@sharklasers.com` , `+447{9 digits}` , Mr/Ms by name
3. Skip bags/extras, select next batch of middle seats
4. **STOP before payment** -- keep page open
5. After FIRST booking completes seat selection, notify user immediately so they can start check-in
2026-03-21 11:24:10 +00:00
consolidate agents: merge 2 pairs, trim 10 to ~80 lines
Merged:
- cluster-health-checker + sev-triage -> cluster-triage
- platform-engineer + sre -> platform-sre
Trimmed to ~80 lines: deploy-app, seat-blocker, holiday-flights,
sev-report-writer, backup-dr, post-mortem, holiday-deals,
devops-engineer, holiday-itinerary, review-loop
Updated references in post-mortem.md
2026-03-25 23:59:27 +02:00
## Phase 3: Notify & Cleanup
2026-03-21 11:24:10 +00:00
consolidate agents: merge 2 pairs, trim 10 to ~80 lines
Merged:
- cluster-health-checker + sev-triage -> cluster-triage
- platform-engineer + sre -> platform-sre
Trimmed to ~80 lines: deploy-app, seat-blocker, holiday-flights,
sev-report-writer, backup-dr, post-mortem, holiday-deals,
devops-engineer, holiday-itinerary, review-loop
Updated references in post-mortem.md
2026-03-25 23:59:27 +02:00
Report: blocked seats list, number of tabs, start timestamp, "~15 minutes to complete check-in". Wait for user confirmation, then close all tabs.
2026-03-21 11:24:10 +00:00
consolidate agents: merge 2 pairs, trim 10 to ~80 lines
Merged:
- cluster-health-checker + sev-triage -> cluster-triage
- platform-engineer + sre -> platform-sre
Trimmed to ~80 lines: deploy-app, seat-blocker, holiday-flights,
sev-report-writer, backup-dr, post-mortem, holiday-deals,
devops-engineer, holiday-itinerary, review-loop
Updated references in post-mortem.md
2026-03-25 23:59:27 +02:00
## Airline-Specific Notes
2026-03-21 11:24:10 +00:00
consolidate agents: merge 2 pairs, trim 10 to ~80 lines
Merged:
- cluster-health-checker + sev-triage -> cluster-triage
- platform-engineer + sre -> platform-sre
Trimmed to ~80 lines: deploy-app, seat-blocker, holiday-flights,
sev-report-writer, backup-dr, post-mortem, holiday-deals,
devops-engineer, holiday-itinerary, review-loop
Updated references in post-mortem.md
2026-03-25 23:59:27 +02:00
- **Ryanair** (`ryanair.com/gb/en` ): Choose "Value" fare. Seat layout: `A B C | D E F`
- **Wizzair** (`wizzair.com` ): Discover API version first. Choose "BASIC" fare. Same seat layout.
- Typical 737-800: ~33 rows x 2 middle = ~66 middle seats max, realistically 20-40 available
2026-03-21 11:24:10 +00:00
## Error Handling
consolidate agents: merge 2 pairs, trim 10 to ~80 lines
Merged:
- cluster-health-checker + sev-triage -> cluster-triage
- platform-engineer + sre -> platform-sre
Trimmed to ~80 lines: deploy-app, seat-blocker, holiday-flights,
sev-report-writer, backup-dr, post-mortem, holiday-deals,
devops-engineer, holiday-itinerary, review-loop
Updated references in post-mortem.md
2026-03-25 23:59:27 +02:00
CAPTCHA: screenshot + ask user. Bot detection: patch webdriver, longer delays, retry. Session timeout: report lost seats, continue. Flight sold out / no middle seats: report immediately.