batik-checkin
Skill0 starsChanged 10 months agoMITView on GitHub
Check in for Batik Air Malaysia flights using Playwright browser automation. Handles passport details, emergency contact, and downloads boarding pass.
In this repository2 other files it gives its agents.
The file
Show its rules and text
We split this skill into the rules it gives an agent
17 rules. About 0 are common, 15 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈15
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 20
Before starting, collect from the user:
- Distinctive: line 29
If $ARGUMENTS contains a booking reference, use it.
- Distinctive: line 35
Wait for page to load
- Distinctive: line 41
Wait for passenger list to appear (take snapshot)
- Distinctive: line 42
Ensure passenger checkbox is checked
- Distinctive: line 57
Search or scroll to select the correct country
- Distinctive: line 91
If "Choose Your Favorite Seat" dialog appears, click "Okay" or dismiss
- Distinctive: line 92
If prompted about continuing without seat, click "Okay" or "Continue"
- Distinctive: line 93
Look for "Skip Seat Selection" button and click it
- Distinctive: line 94
If confirmation dialog appears, click "Continue Check-in" or similar
- Distinctive: line 102
Wait for "Success Check-In" or success confirmation message
- Distinctive: line 105
Wait for boarding pass to load/generate
- Distinctive: line 107
If Download button is available, click it
- Distinctive: line 118
Booking not found: Ask user to verify reference number is correct
- Very specific: line 126
Always use browser_snapshot before interacting to see current page state
- Distinctive: line 127
Use element refs from snapshot (like "S1", "B2") for accurate targeting
- Very specific: line 130
Wait for page transitions with browser_wait_for if needed
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Batik Air Malaysia Web Check-in
Automate the check-in process for Batik Air Malaysia flights via BookCabin portal.
Prerequisites
- Playwright MCP server must be running
- Valid booking reference
- Passport details for the passenger
Required Information
Before starting, collect from the user:
- Booking Reference (e.g., OFDGEC)
- Passenger Full Name (as on passport)
- Passport Number
- Date of Birth (DD MMM YYYY format)
- Passport Expiry Date (DD MMM YYYY format)
- Nationality/Country of Issue
- Emergency Contact: Name, Phone (with country code), Relationship
If $ARGUMENTS contains a booking reference, use it. Otherwise, ask the user.
Check-in Workflow
Step 1: Navigate to Check-in Portal
- Navigate to
https://www.bookcabin.com/checkin - Wait for page to load
- Take a snapshot to see the page state
- Enter booking reference in the textbox (look for ref "S1" or similar input field)
- Click "Search" button
Step 2: Select Passenger
- Wait for passenger list to appear (take snapshot)
- Ensure passenger checkbox is checked
- Click "Check-in" button
Step 3: Travel Document (APIS Form)
Fill in passport details - take a snapshot first to see form state:
Date of Birth:
- Click on Date of birth field/button
- Date picker opens - navigate to correct year first (click year dropdown/header)
- Select correct year
- Select correct month
- Click the correct day
Nationality:
- Click Nationality dropdown/button
- Search or scroll to select the correct country
Passport Number:
- Enter passport number in the textbox
Country of Issue:
- Click Country of Issue dropdown/button
- Select the issuing country (usually same as Nationality)
Passport Expiry:
- Click Date of expiry field
- Navigate to correct year (click year header to get year selection)
- Select correct month
- Click the correct day
- Click "Continue to Emergency Contact" button
Step 4: Emergency Contact Form
- Take snapshot to see form
- Select Title (Mr/Mrs/Ms) from dropdown
- Enter First Name in textbox
- Enter Last Name in textbox
- Select Relationship from dropdown (Parent/Spouse/Sibling/Friend/Other)
- Select Nationality from dropdown
- For phone: click country code dropdown, select correct code (e.g., +60 Malaysia, +880 Bangladesh)
- Enter phone number (without country code) in phone textbox
- Click "Save" button
Step 5: Confirm Check-in
- Take snapshot - verify passenger is selected with checkbox
- Click "Check-in" button
Step 6: Seat Selection
Handle seat selection dialogs - take snapshots to see current state:
- If "Choose Your Favorite Seat" dialog appears, click "Okay" or dismiss
- If prompted about continuing without seat, click "Okay" or "Continue"
- Look for "Skip Seat Selection" button and click it
- If confirmation dialog appears, click "Continue Check-in" or similar
Step 7: Dangerous Goods Declaration
- Take snapshot to see the declaration page
- Find and check the confirmation checkbox (usually agreeing to dangerous goods policy)
- Click "I am accepting" or similar acceptance button
Step 8: Boarding Pass
- Wait for "Success Check-In" or success confirmation message
- Take snapshot to confirm success
- Click "View Boarding Pass" button
- Wait for boarding pass to load/generate
- Take a screenshot of the boarding pass for the user
- If Download button is available, click it
- Report to user:
- Flight number
- Date and time
- Departure/Arrival airports
- Seat assignment (if any)
- Boarding time
- Gate (if shown)
Error Handling
- Booking not found: Ask user to verify reference number is correct
- Session timeout: BookCabin has ~5 minute timeout - restart from Step 1
- Date picker issues: Try clicking the year header first, or use arrow navigation
- Country not found: Try alternative country names (e.g., "Bangladesh" vs "BANGLADESH")
- Element not found: Take snapshot to see current page state and adapt
Tips for Playwright Navigation
- Always use
browser_snapshotbefore interacting to see current page state - Use element refs from snapshot (like "S1", "B2") for accurate targeting
- For date pickers: typically need to select year first, then month, then day
- For dropdowns: click to open, then click the option
- Wait for page transitions with
browser_wait_forif needed
Output
On successful check-in, report:
✅ Check-in confirmed!
- Passenger: [Name]
- Flight: OD [XXX]
- Route: [DEP] → [ARR]
- Date: [Date]
- Seat: [Seat or "Not selected"]
- Boarding pass: [screenshot saved/downloaded]Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

