
Kleague Results
Pull official K League match results and standings by date and team for Korean sports bots, newsletters, or fan apps without HTML scraping.
Overview
K League Results is an agent skill for the Build phase that fetches official K League 1 and 2 match results and standings by date and team through JSON APIs and the kleague-results npm package.
Install
npx skills add https://github.com/nomadamas/k-skill --skill kleague-resultsWhat is this skill?
- Uses official JSON endpoints getScheduleList.do and record/teamRank.do—not HTML scraping
- Global npm package kleague-results with Node 18+ and install-if-missing workflow
- Filters by date (YYYY-MM-DD), league K리그1/K리그2, and team name or code (e.g. FC서울, K09)
- Bundled summary helper getKLeagueSummary with optional standings
- Documented Korean trigger phrases for match-day agent queries
- Official endpoints: getScheduleList.do and record/teamRank.do on kleague.com
- Requires Node.js 18+ and global kleague-results npm package when missing
Adoption & trust: 2.5k installs on skills.sh; 5.4k GitHub stars; 1/3 security scanners passed (skills.sh audits).
What problem does it solve?
You want K League scores and standings in your agent or app but scraping club sites breaks whenever markup changes.
Who is it for?
Korean-speaking indie builders automating daily K League digests with Node and official league endpoints.
Skip if: Builders who need non-Korean leagues, historical analytics beyond the documented API surface, or environments without Node/npm.
When should I use this skill?
Use when the user asks for K League 1 or 2 results or standings for a specific date and optional team (Korean queries like 오늘 K리그1 경기 결과).
What do I get? / Deliverables
You get a structured JSON summary of fixtures, results, optional team filter, and standings ready to paste into a bot reply or UI.
- JSON summary of matches for the requested date and league
- Optional filtered team results and current standings table
Recommended Skills
Journey fit
Build is where you wire external data: this skill connects your agent to K League’s official JSON surfaces via the kleague-results npm package. Integrations subphase fits fetching schedule, results, and team rank data from kleague.com endpoints into your app or agent reply.
How it compares
An integration skill around official JSON—not a general sports MCP server or multi-league data warehouse.
Common Questions / FAQ
Who is kleague-results for?
Solo developers and content automators building Korean football fan tools who want Claude Code, Cursor, or Codex to query K League data reliably.
When should I use kleague-results?
During Build while wiring integrations—for example when a user asks for today’s K리그1 results or a dated FC서울 match plus current table.
Is kleague-results safe to install?
It installs a global npm package and calls kleague.com over the network; review the Security Audits panel on this page and audit kleague-results on npm before production use.
SKILL.md
READMESKILL.md - Kleague Results
# K League Results ## What this skill does 공식 K리그 JSON 표면으로 특정 날짜의 K리그1/K리그2 경기 결과를 조회하고, 필요하면 특정 팀(예: `FC서울`, `서울 이랜드`, 팀 코드 `K09`)만 필터링한 뒤 현재 순위까지 함께 정리한다. ## When to use - "오늘 K리그1 경기 결과 알려줘" - "2026-03-22 FC서울 경기 결과랑 현재 순위 보여줘" - "2026-03-22 K리그2 결과 정리해줘" ## Prerequisites - Node.js 18+ - `npm install -g kleague-results` ## Inputs - 날짜: `YYYY-MM-DD` - 리그: `K리그1` 또는 `K리그2` (기본값은 `K리그1`) - 선택 사항: 팀명, 풀네임, 팀 코드 (`서울`, `FC서울`, `K09` 등) ## Workflow ### 0. Install the package globally when missing `npm root -g` 아래에 `kleague-results` 가 없으면 HTML scraping 으로 우회하지 말고 먼저 전역 Node 패키지 설치를 시도한다. ```bash npm install -g kleague-results ``` ### 1. Fetch the official K League JSON 이 스킬은 HTML 크롤링 대신 아래 공식 JSON 엔드포인트를 사용한다. - 일정/결과: `https://www.kleague.com/getScheduleList.do` - 팀 순위: `https://www.kleague.com/record/teamRank.do` ```bash GLOBAL_NPM_ROOT="$(npm root -g)" node --input-type=module - <<'JS' import path from "node:path"; import { pathToFileURL } from "node:url"; const entry = pathToFileURL( path.join(process.env.GLOBAL_NPM_ROOT, "kleague-results", "src", "index.js"), ).href; const { getKLeagueSummary } = await import(entry); const summary = await getKLeagueSummary("2026-03-22", { leagueId: "K리그1", team: "FC서울", includeStandings: true, }); console.log(JSON.stringify(summary, null, 2)); JS ``` ### 2. Normalize for humans 원본 JSON을 그대로 던지지 말고 아래 기준으로 정리한다. - 홈팀 vs 원정팀 - 경기 시간 / 경기 종료 여부 - 스코어 - 현재 순위 - 요청 팀이 있으면 해당 팀 경기만 필터링 ### 3. Keep the answer compact 요청이 scoreboard 면 경기별 한 줄 요약부터 준다. 특정 팀 요청이면 그 팀 경기와 현재 순위만 먼저 보여준다. ## Done when - 날짜 기준 경기 요약이 있다 - 팀 요청이면 해당 팀 경기만 남아 있다 - 현재 순위가 같이 정리되어 있다 ## Failure modes - K리그 사이트가 `getScheduleList.do` 또는 `teamRank.do` 응답 구조를 바꾸면 패키지 수정이 필요하다 - 경기 전 날짜면 결과 대신 예정 상태가 반환될 수 있다 - `서울` 처럼 짧은 이름만 주면 리그에 따라 `FC서울` / `서울 이랜드` 구분이 필요할 수 있다 ## Notes - 이 스킬은 조회 전용이다 - 사용자의 "오늘/어제" 요청은 항상 절대 날짜(`YYYY-MM-DD`)로 변환해서 실행한다 - 패키지를 새로 추가한 상태라면 머지 후 npm publish(Changesets 기반)를 진행해야 전역 설치 흐름이 살아난다 - 자세한 사용 예시는 `docs/features/kleague-results.md` 와 `packages/kleague-results/README.md` 를 따른다