korean-marathon-schedule

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Korean Marathon Schedule

韩国马拉松赛事日程

What this skill does

本Skill功能

한국 마라톤/러닝 대회 일정을 조회하고, 가능한 경우 대한철인3종협회 공개 일정에서 철인3종 대회도 함께 확인한다.
응답에는 최소한 아래 필드를 포함한다.
  • 대회명
  • 개최일
  • 장소/지역
  • 신청 마감일 또는 접수 기간
  • 종목/코스(예: Half, 10km, 5km, 스탠다드)
  • 공식/상세 링크
  • 조회 시점 기준 정보라는 주의 문구
查询韩国马拉松/路跑赛事日程,若有可用信息,同时从韩国铁人三项协会公开日程中查看铁人三项赛事信息。
回复需至少包含以下字段:
  • 赛事名称
  • 举办日期
  • 地点/地区
  • 报名截止日期或报名周期
  • 项目/赛道(例如:半马、10km、5km、标准铁人三项)
  • 官方/详情链接
  • 提示信息:结果基于查询时的公开信息

When to use

使用场景

  • "서울 마라톤 일정 찾아줘"
  • "10km 대회 접수 마감일 알려줘"
  • "가을 마라톤 일정과 장소 정리해줘"
  • "철인3종 경기 일정도 가능하면 같이 봐줘"
  • "帮我找首尔马拉松的日程"
  • "告诉我10km赛事的报名截止日期"
  • "整理秋季马拉松的日程和地点"
  • "如果可以的话,也帮我看看铁人三项赛事的日程"

Prerequisites

前置条件

  • 인터넷 연결
  • Node.js 18+
  • 이 저장소의
    korean-marathon-schedule
    npm package 또는 동일 로직
  • 网络连接
  • Node.js 18+
  • 本仓库的
    korean-marathon-schedule
    npm包或同等逻辑

Public access path discovered

已发现的公开访问路径

Primary marathon source: GoRunning

主要马拉松数据源:GoRunning

  • list entry point:
    https://gorunning.kr/races/
  • detail pages: same-host
    gorunning.kr
    links matching
    /races/<id>/<slug>/
  • detail fields used: title, event date, region/venue, registration period, registration deadline, status, organizer, website, categories.
  • reason selected: public unauthenticated race list/detail pages include the required venue, deadline/registration period, and event categories. It works with direct HTTP requests and does not require a proxy or API key.
  • 列表入口:
    https://gorunning.kr/races/
  • 详情页面:同域名
    gorunning.kr
    下匹配
    /races/<id>/<slug>/
    的链接
  • 使用的详情字段:标题、赛事日期、地区/场地、报名周期、报名截止日期、状态、主办方、官网、项目类别
  • 选择原因:公开无需认证的赛事列表/详情页面包含所需的场地、截止日期/报名周期及赛事类别信息。支持直接HTTP请求,无需代理或API密钥。

Optional triathlon source: 대한철인3종협회

可选铁人三项数据源:韩国铁人三项协会

  • list entry point:
    https://triathlon.or.kr/events/tour/?sYear=<YYYY>&vType=list
  • detail pages: same-host
    triathlon.or.kr
    links matching
    /events/tour/overview/?mode=overview&tourcd=<id>
  • detail fields used: title, event date, venue, registration period, organizer, and course/category labels. Non-competition list entries such as education, seminars, notices, and referee/leader sessions are filtered out before detail fetch.
  • reason selected: the official federation page is public and unauthenticated, and provides triathlon schedules when available.
  • 列表入口:
    https://triathlon.or.kr/events/tour/?sYear=<YYYY>&vType=list
  • 详情页面:同域名
    triathlon.or.kr
    下匹配
    /events/tour/overview/?mode=overview&tourcd=<id>
    的链接
  • 使用的详情字段:标题、赛事日期、场地、报名周期、主办方、赛道/项目标签。在获取详情前,会过滤掉非赛事类条目(如培训、研讨会、公告、裁判/领队会议等)
  • 选择原因:官方协会页面公开无需认证,可提供铁人三项赛事日程(如有)

Workflow

工作流程

1. Search schedules

1. 搜索赛事日程

js
const { searchEvents } = require("korean-marathon-schedule")

const result = await searchEvents({
  query: "서울",              // title, venue, region, or category filter. Optional.
  from: "2026-05-01",       // optional YYYY-MM-DD
  to: "2026-12-31",         // optional YYYY-MM-DD
  includeTriathlon: true,    // optional; default false
  limit: 10,                 // optional; default 10
  maxDetailsPerSource: 100   // optional crawl budget; default max(300, limit * 10)
})

console.log(result.items)
CLI:
bash
node packages/korean-marathon-schedule/src/cli.js 서울 --from 2026-05-01 --to 2026-12-31 --include-triathlon --limit 10 --max-details-per-source 100
js
const { searchEvents } = require("korean-marathon-schedule")

const result = await searchEvents({
  query: "서울",              // 标题、场地、地区或项目筛选条件,可选
  from: "2026-05-01",       // 可选,格式YYYY-MM-DD
  to: "2026-12-31",         // 可选,格式YYYY-MM-DD
  includeTriathlon: true,    // 可选,默认false
  limit: 10,                 // 可选,默认10
  maxDetailsPerSource: 100   // 可选,爬取预算,默认max(300, limit * 10)
})

console.log(result.items)
CLI命令:
bash
node packages/korean-marathon-schedule/src/cli.js 서울 --from 2026-05-01 --to 2026-12-31 --include-triathlon --limit 10 --max-details-per-source 100

2. Summarize conservatively

2. 保守式汇总

For each event, show:
text
- 대회명: ...
  일정: ...
  장소: ...
  신청 마감: ...
  종목: ...
  링크: ...
If no deadline is present, say
신청 마감일을 공개 페이지에서 확인하지 못함
instead of guessing.
每个赛事需展示:
text
- 대회명: ...
  일정: ...
  장소: ...
  신청 마감: ...
  종목: ...
  링크: ...
如果没有截止日期信息,需显示“无法从公开页面获取报名截止日期”,而非猜测。

3. Use fallback order

3. 回退顺序

  1. GoRunning list → same-host GoRunning detail pages for marathon/road-running schedules; continue through the public list until enough matching results are collected, the list is exhausted, or the explicit per-source detail budget is reached.
  2. If the user asks for triathlon or
    includeTriathlon
    is useful, query the 대한철인3종협회 year list and same-host public detail pages; skip non-competition list entries and continue until enough matching results are collected, the selected year lists are exhausted, or the explicit per-source detail budget shared across selected years is reached.
  3. If either source returns an empty, blocked, changed page, or detail-budget warning, report the source-specific failure/warning and return any successfully parsed results from the other source.
  1. GoRunning列表 → 同域名GoRunning详情页面获取马拉松/路跑日程;持续遍历公开列表,直到收集到足够的匹配结果、列表遍历完毕或达到指定的单数据源详情爬取预算。
  2. 如果用户要求查询铁人三项或
    includeTriathlon
    参数设为true,则查询韩国铁人三项协会年度列表及同域名公开详情页面;跳过非赛事类条目,直到收集到足够的匹配结果、所选年度列表遍历完毕或达到跨所选年度共享的单数据源详情爬取预算。
  3. 若任一数据源返回空页面、访问受限或页面结构变更,或触发详情预算警告,需报告该数据源的失败/警告信息,并返回另一数据源成功解析的结果。

Done when

完成标准

  • User's location/date/category filter was applied or explicitly left broad.
  • At least one available result is summarized, or a clear empty-result/failure reason is given.
  • Venue, registration deadline/period, and categories are included when present.
  • Triathlon events were included when requested or when the user asked for them as "가능하면".
  • 已应用用户指定的地点/日期/项目筛选条件,或明确采用宽泛筛选范围。
  • 至少汇总一个可用结果,或给出清晰的无结果/失败原因。
  • 若存在场地、报名截止日期/周期及项目类别信息,需包含在结果中。
  • 当用户要求或提及“如果可以的话”时,需包含铁人三项赛事信息。

Failure modes

失败场景

  • 일정/접수 정보는 수시로 바뀔 수 있다; always state results are based on the current public page read.
  • GoRunning or triathlon.or.kr HTML structure may change; then parsing may return empty fields or fail. Off-origin detail links are ignored to keep the lookup bounded to documented public sources. If a public list is larger than the per-source detail budget, results can be partial and a warning is returned; triathlon applies that budget once across all selected years.
  • Some official event websites may be linked only from the detail page; if absent, return the source detail URL.
  • Registration may already be closed even if the event date is upcoming.
  • Login, payment, CAPTCHA, or private member-only pages are outside scope and must not be automated.
  • 日程/报名信息可能随时变更;需始终说明结果基于当前公开页面内容。
  • GoRunning或triathlon.or.kr的HTML结构可能变更;此时解析可能返回空字段或失败。为限制查询范围在已记录的公开数据源内,会忽略跨域名的详情链接。若公开列表规模超过单数据源详情爬取预算,结果可能不完整,并返回警告;铁人三项的预算在所有所选年度中共享。
  • 部分官方赛事官网仅在详情页面提供链接;若缺失,则返回数据源详情URL。
  • 即使赛事日期尚未到来,报名也可能已截止。
  • 登录、支付、验证码或仅限会员的私人页面不在处理范围内,不得进行自动化操作。

Notes

注意事项

  • This is a read-only lookup skill.
  • No k-skill-proxy route is used because the upstream surfaces are public and do not require API keys.
  • Do not register, reserve, pay for, or modify race entries.
  • 本Skill仅提供只读查询功能。
  • 未使用k-skill-proxy路由,因为上游页面公开且无需API密钥。
  • 不得进行赛事报名、预约、支付或修改参赛信息的操作。