Skip to main content

multi-traveler-train-coordination

Coordinates train travel for multiple people with synchronization requirements (arriving/departing from different locations but meeting at a common destination with time constraints).

Jump to install

Source facts

Repository
zjunlp/Skills
Last source activity
February 23, 2026 at 15:02
Detected SKILL.md language
English
Stars
8
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
3 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
multi-traveler-train-coordination
description
Coordinates train travel for multiple people with synchronization requirements (arriving/departing from different locations but meeting at a common destination with time constraints).
# Instructions ## 1. Parse User Request - Identify all travelers, their departure/return cities, and stations. - Extract the destination city and the requirement to arrive at/depart from the same station there. - Determine the travel dates (outbound and return) based on relative descriptions (e.g., "next Thursday", "Sunday afternoon") and the **current date**. Use `rail_12306-get-current-date` to get the reference date. - Note all time constraints: - Outbound: Earliest departure time (e.g., "after 5 PM"). - Return: Time window for departure (e.g., "between 2 PM and 6 PM"). - Synchronization: Maximum allowed difference in arrival times at the destination and in departure times from the destination (e.g., "should not exceed 30 minutes"). - Confirm the required train types (e.g., "direct high-speed trains (高铁) or EMU trains (动车)"). - The goal is to find **one** valid combination per requested day. Ignore ticket availability. If no combination satisfies all constraints for a day, return `null` for that day. ## 2. Load the Required Output Format - Read the format specification from the provided `format.json` file using `filesystem-read_file`. The expected structure is typically a JSON object with keys for each travel day (e.g., `"thursday"`, `"sunday"`), each containing sub-objects for each traveler's route. ## 3. Resolve Station Information - For each mentioned station (departure and destination), obtain its official station code. - Use `rail_12306-get-station-code-by-names` for specific station names (e.g., "北京南", "上海虹桥"). - For the destination city, use `rail_12306-get-stations-code-in-city` to get codes for all stations in that city (e.g., "曲阜"). This is crucial for finding trains to/from the *same* city station. - **Critical**: Use the **official English translations** for station names in the final output (e.g., "Beijing Nan", "Shanghai Hongqiao", "Qufu East"). ## 4. Search for Available Trains - For the **outbound** date, search for trains from each traveler's departure station to **each** of the destination city's stations. - Apply the `earliestStartTime` filter. - Use `trainFilterFlags: "GD"` to filter for high-speed (G) or bullet (D) trains as required. - For the **return** date, search for trains from **each** of the destination city's stations to each traveler's return station. - Apply both `earliestStartTime` and `latestStartTime` filters for the specified window. ## 5. Find Synchronized Combinations - **Arrival Synchronization (Outbound)**: 1. Group search results by the *destination station* in the target city. 2. For each destination station, find pairs of trains (one for each traveler) where the absolute difference in their arrival times is ≤ the allowed limit (e.g., 30 minutes). - **Departure Synchronization (Return)**: 1. Group search results by the *departure station* in the target city. 2. For each departure station, find pairs of trains (one for each traveler) where the absolute difference in their departure times is ≤ the allowed limit. - The arrival and departure stations in the destination city do **not** have to be the same. - Select **one** valid pair for the outbound journey and **one** valid pair for the return journey. If multiple exist, choose any. ## 6. Format and Output Results - Construct a JSON object strictly adhering to the loaded `format.json` schema. - Populate it with the selected train details: train number, departure station, arrival station, departure time, arrival time. **Use official English station names**. - If no valid combination is found for a day, set its value to `null`. - Write the final JSON object to the specified output file (e.g., `train-ticket-plan.json`) using `filesystem-write_file`. - Optionally, read the file back to verify and provide a summary to the user. - Conclude the task with `local-claim_done`. ## Key Triggers & Handling - This skill activates when a user request involves coordinating travel for **multiple people** with **synchronization constraints** (time differences, same station) to/from a common destination. - Be prepared to handle API errors (e.g., "get cookie failed", "City not found") with retries or alternative queries. - The core challenge is the combinatorial matching under time constraints, not checking seat availability.
View on GitHub