China Transit Route Planner Agent Skill

Plans door-to-door transit itineraries across China by combining high-speed rail, subway, bus, and walking routes with real-time schedules…

Context cost
9.4k tokensestimated from the bundle, loaded when it triggers
Bundle
18 files · 212.1 kB7 scripts among them — read before you run
Licence
MITthe author’s own terms
Last change
—no release on file
Servers it uses
Noneruns standalone

What it does

规划中国境内由铁路、地铁、公交和步行组成的完整行程,比较建议出发时间、班次时刻、到达时间、费用、总耗时、换乘和风险。适用于跨城与市内交通规划,不用于景点游览安排或购票。

What this skill changes about the agent has not been set out here as a list. Its SKILL.md, shown below, says it in the author’s own words.

productivity

The skill itself

A skill is instructions the model reads, so you can see what you are getting: below is the start of its SKILL.md. The front matter loads with every session, the body loads when the skill triggers, and the whole file comes with the install.

SKILL.md11.3 kB · preview
--- name: route-planner ---
6# Route Planner
7
8根据用户提供的起点、终点和可选途经点,规划有可靠数据依据的完整行程。查询公开交通数据时,应先使用本技能提供的脚本,无需为了查询而先打开网页。
9
10## 规划流程
11
121. 提取日期、人数、起点、终点、途经点、期望出发时段或最晚到达时间、席别、允许的交通方式,以及“最快、最省、均衡、少换乘”等偏好。日期已知但全天班次很多时,时间范围会显著影响结论,应向用户确认或明确说明采用的时段;其余缺失信息可以作出合理假设,但必须注明。
132. 区分必须满足的条件和用于比较方案的偏好。先淘汰不符合预算、到达时限、席别、无障碍出行或途经要求的方案,再比较其余方案。
143. 跨城铁路先运行 scripts/rail_12306.py direct。若没有直达车,或换乘更符合用户偏好,再运行 transfer:它先在设定范围内搜索换乘枢纽,然后读取相关列车的完整经停站,查找两趟列车都停靠且可以换乘的车站,并重新查询各段票价和余票。检查 search_coverage 中列出的枢纽、查找出的换乘站、查询次数上限和提前停止情况。查询范围有限时,只能写“在已查询方案中费用最低”或“在已查询方案中用时最短”,不能声称已经找到所有车次中费用最低或用时最短的方案。若用户给出具体车站,保留该车站;若只给城市,应比较该城市实际可用的多个到发站。
154. 保留费用、时长和到达站有明显差异的铁路方案,为每个方案补齐出发地到车站、车站到目的地的路段后再排名。铁路部分费用最低,不代表完整行程费用最低:
16 - 上海地铁使用 scripts/shanghai_metro.py,无需浏览器或密钥。
17 - 其他城市优先使用 scripts/amap_transit.py;它依次从 AMAP_MAPS_API_KEY、macOS 钥匙串或 Windows 凭据管理器读取高德 Web 服务密钥。
18 - 没有可用接口时,先说明缺少哪些数据,再使用官方网页或地图查询;未知票价或耗时不得写成精确数值。
195. 向路线接口提交地址前,先校验地理编码。把用户给出的省、市、区县、校区、车站和门牌信息转成 --origin-* / --destination-* 约束;若结果所属地区不符,或具体地点只解析到省、市、区县中心点,应停止使用该结果,改用完整地址或可靠坐标。不能为了获得查询结果而默认接受精度不足的坐标。
206. 途经点按用户给定顺序拆成连续路段。将换乘步行、候车、铁路进站预留和用户要求的停留时间分别计入,避免只相加车内时间。若用户给出最晚到达时间,应倒推出最晚应从起点出发的时间,并将到达期限列为必须满足的条件;若截止时间缺失且会改变推荐,可以给出条件结论,或只询问这一项关键信息。
217. 多个方案按 [路线数据结构](references/route-schema.md) 整理,再运行 scripts/rank_routes.py。先标明费用、时间和路段是否完整,再保留各有实际优势的帕累托前沿方案;表格行数应由有效方案数量决定。
22
23选择数据来源或处理接口异常时,读取 [数据来源说明](references/providers.md)。组合三个以上路段、计算多人费用合计或解释总耗时时,读取 [路线数据结构](references/route-schema.md)。准备最终答复时,读取 [简洁输出格式](references/output-format.md)。
24
This is a preview of SKILL.md. Download or install the skill to get the whole thing.
In the file
SKILL.md254 words
Files18
LicenceMIT
Why you can read it

Nothing in a skill executes. The client loads the text and the model follows it, so a skill can be audited the way a runbook is — by reading it.

What it costs in context

Skills are not billed by the call. They are paid for in context: every token the instructions occupy is a token your code, your diff and your conversation cannot use. Here is what this one takes and when it takes it.

≈30
always loaded
The name and description, so the model knows the skill exists and when to reach for it.
9,420
on trigger
The instruction body and 17 supporting files, read only when the skill fires.
4.7%
of a 200k window
Ten skills this size would take about 47% of the window before you open a file.
050k100k150k200k context window

9.4k tokens, estimated from the bundle at four bytes to the token, held for the rest of the session once it triggers. Heavy. Teams tend to install this one per project rather than globally, and load it only when the job comes up.

Servers bill, skills cost

A server charges by the month. A skill charges once per session, in context, and then keeps charging it for as long as the session lives.

Before and after

The same question, put to the same model twice: once as it comes, and once with these instructions loaded.

No worked example has been published for this skill yet.

The procedure it runs

The procedure has not been set out here step by step. It is in the body of its SKILL.md: the start of it is shown above, and the whole file comes with the install.

Prose, not code

These steps are written for a model to follow, not executed by a runtime. It can still be told to skip one, and it will say so when it does.

Servers it uses

None. This skill calls no MCP servers at all.

Everything it needs is in the instructions, so it works in a project with nothing connected — the model reads the file and changes how it works with what it can already reach.

Its SKILL.md does not declare which tools it asks the agent for, so what it touches is whatever the instructions themselves ask for — read them before you install it.

What it asks for
Writes filesnot declared
Network accessnot declared

This SKILL.md carries no allowed-tools line, so neither is declared. A skill grants no permissions of its own — it can only ask for tools your client already has.

What it will not do

Every skill is narrow, and the useful ones say where they stop. These are the jobs this one is the wrong tool for.

What this skill is not for has not been published here. Nothing is implied by that: it is a section the author has not filled in.

What is in the bundle

18 files, 212.1 kB on disk. Mostly text — the instructions the model reads — with 7 scripts in it that your client would run only if the instructions tell it to. 1 file of its source is not in the download — listed after these, with why.

  • SKILL.md11.3 kB
  • LICENSE1.1 kB
  • README.md1.9 kB
  • SECURITY.md0.7 kB
  • agents/openai.yaml0.1 kB
  • references/amap-key-setup.md2.7 kB
  • references/output-format.md4.0 kB
  • references/providers.md6.4 kB
  • references/route-schema.md7.7 kB
  • scripts/amap_credentials.py14.4 kB
  • scripts/amap_transit.py31.0 kB
  • scripts/rail_12306.py68.0 kB
  • scripts/rank_routes.py20.8 kB
  • scripts/shanghai_metro.py11.7 kB
  • tests/test_offline.py26.4 kB
  • .github/scripts/package_skill.py2.0 kB
  • .github/workflows/release.yml1.0 kB
  • .github/workflows/validate.yml0.9 kB

Not in the download

Not carried is a type a skill download does not hold. Take it from its source.

  • .gitignorenot carried
What is not in it

A skill installs nothing and depends on nothing: it is a folder your client reads. This one carries 7 scripts beside the text, so the download is 18 files — not the whole of its source: 1 file is left out. It is listed under the files, with why. The MIT licence covers the templates and examples as well as the instructions.

Install

Installing copies the bundle into your project. Nothing runs at install time — the files sit on disk until the model reads them.

# China Transit Route Planner · 9.4k tokens when loaded · macOS, Linux mkdir -p .claude/skills && t=$(mktemp -d) && curl -fsSL -o "$t/bundle.tar.gz" https://mcprush.com/api/skills/china-transit-route-planner/bundle.tar.gz && tar -xzf "$t/bundle.tar.gz" -C "$t" && [ -d "$t/china-transit-route-planner" ] && { [ ! -e .claude/skills/china-transit-route-planner ] || { mv .claude/skills/china-transit-route-planner "$t/.previous" && echo "Previous copy moved to $t/.previous"; }; } && mv "$t/china-transit-route-planner" .claude/skills/ && echo "Installed .claude/skills/china-transit-route-planner"
On Windows, or any OS with Node 20+
npx mcprush@latest skill add juniexd/china-transit-route-planner

Windows PowerShell says 'running scripts is disabled on this system'? Run Set-ExecutionPolicy -Scope CurrentUser RemoteSigned once, or type npx.cmd instead of npx (codex.cmd, gemini.cmd, grok.cmd likewise). PowerShell 7 needs neither. Writes to .claude/skills/china-transit-route-planner/ in the current project. For every project instead, run mkdir -p ~/.claude/skills && t=$(mktemp -d) && curl -fsSL -o "$t/bundle.tar.gz" https://mcprush.com/api/skills/china-transit-route-planner/bundle.tar.gz && tar -xzf "$t/bundle.tar.gz" -C "$t" && [ -d "$t/china-transit-route-planner" ] && { [ ! -e ~/.claude/skills/china-transit-route-planner ] || { mv ~/.claude/skills/china-transit-route-planner "$t/.previous" && echo "Previous copy moved to $t/.previous"; }; } && mv "$t/china-transit-route-planner" ~/.claude/skills/ && echo "Installed ~/.claude/skills/china-transit-route-planner" (macOS, Linux) — or add --global to the npx line. The curl line replaces .claude/skills/china-transit-route-planner/ only after the download succeeds, so files left there by another skill of the same name, or by an older release, do not mix in. A copy already there is moved aside, not deleted, and the line prints where. It appears as route-planner in Gemini CLI, Codex, Copilot and Grok (its own name); Claude Code lists it by the folder name, china-transit-route-planner. Not in this download: 1 file of its source (which one, and why). Take it from its source.

Which clients pick it up on their own

A skill is a folder of text. Most of these read a skills folder and pick it up without being told; the rest take the same folder another way — an upload in the app, a parameter on an API call — and then choose it by its description just the same.

Claude Code.claude/skills/
Claude DesktopCustomize › Skills
ChatGPTSkills › Create › Upload
Cursor.cursor/skills/
VS Code.github/skills/
Codex CLI.agents/skills/
Gemini CLI.gemini/skills/
Grok Build.grok/skills/
Microsoft CopilotSkills › Upload a skill
PerplexityComputer › Skills › Upload a skill
DeepSeek Harness.dsh/skills/
Zed.agents/skills/
Devin Desktop.devin/skills/
Windsurf (legacy).windsurf/skills/
OpenAI Agents SDKInstructions or sandbox Skills
HTTP / APIa request parameter
This release
Versionnot versioned
Publishedno release date on file
PriceFree
Referencejuniexd/china-transit-route-planner

Versions

Its author publishes no version number, so there is nothing here to pin to: what you install is the folder as it stands today. Instructions change more often than APIs do — a skill can be rewritten entirely without anything it depends on moving.

Pinning

Nothing to pin to: this skill carries no version number of its own. What you install is what the folder holds on the day you install it.

Reviews

—no reviews yet

Nobody has reviewed this skill yet. The rating is the mean of the reviews written here, so there is none until somebody writes the first.

Sign in to review it

A review is tied to an account so it can be answered, edited and taken down by the person who wrote it.

Sign in
Who can post

Anybody with an account, one review each. It carries the version that was current when you wrote it, and the publisher may reply once.

Who wrote it

JU
JunieXD

Publishes on mcprush.

0 servers listed1 skill listednot claimed
Profile
Publisher
Servers0
Claim this skill