CAT
/Skills
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Srt Booking

nomadamas/k-skill
2.5k installs5.3k stars
Summary

This wraps the SRTrain Python library to search, reserve, and cancel SRT train tickets in Korea. It pulls credentials from environment variables or a local secrets file, searches available trains between stations, shows you the options with pricing and seat availability, then reserves once you pick one. The workflow is careful about side effects: it always lists candidates before booking anything. Useful if you're building a Korean travel assistant and want seat booking without touching payment. Won't help with KTX or full checkout flows, and it keeps retry logic conservative to avoid hammering the account. Clean separation between read and write operations, which matters when you're dealing with real reservations.

Install to Claude Code

npx -y skills add nomadamas/k-skill --skill srt-booking --agent claude-code

Installs into .claude/skills of the current project.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Files
SKILL.mdView on GitHub

SRT Booking

What this skill does

SRTrain 위에 scripts/srt_booking.py helper 를 얹어 SRT 조회와 호차별 좌석번호 확인을 처리하고, 예약과 취소는 고정된 열차/예약을 다시 식별한 뒤 SRTrain으로 진행한다.

When to use

  • "수서에서 부산 가는 SRT 찾아줘"
  • "내일 오전 SRT 빈자리 있으면 잡아줘"
  • "SRT 5호차 빈 좌석 확인해줘"
  • "SRT 11A 좌석이 비었는지 봐줘"
  • "창측 좌석을 우선해서 SRT 빈자리 보여줘"
  • "예약 내역 확인해줘"
  • "이 SRT 예약 취소해줘"

When not to use

  • 결제까지 자동으로 끝내야 하는 경우
  • 비밀번호를 채팅창에 직접 보내려는 경우
  • SRT가 아니라 KTX/Korail 예매인 경우

Prerequisites

  • Python 3.10+
  • python3 -m pip install SRTrain

Required environment variables

  • KSKILL_SRT_ID
  • KSKILL_SRT_PASSWORD

Credential resolution order

  1. 이미 환경변수에 있으면 그대로 사용한다.
  2. 에이전트가 자체 secret vault(1Password CLI, Bitwarden CLI, macOS Keychain 등)를 사용 중이면 거기서 꺼내 환경변수로 주입해도 된다.
  3. ~/.config/k-skill/secrets.env (기본 fallback) — plain dotenv 파일, 퍼미션 0600.
  4. 아무것도 없으면 유저에게 물어서 2 또는 3에 저장한다.

기본 경로에 저장하는 것은 fallback일 뿐, 강제가 아니다.

Inputs

  • 출발역
  • 도착역
  • 날짜: YYYYMMDD
  • 희망 시작 시각: HHMMSS
  • 인원 수와 승객 유형
  • 좌석 선호: 일반실 / 특실
  • 좌석 상세 조건: 객실 등급, 호차 번호, 좌석 번호, 빈 좌석만 보기, 탐색 우선순위

Workflow

0. Install the package globally when missing

python3 -c 'import SRT' 가 실패하면 다른 구현으로 우회하지 말고 전역 Python 패키지 설치를 먼저 시도한다.

python3 -m pip install SRTrain

1. Ensure credentials are available

KSKILL_SRT_ID, KSKILL_SRT_PASSWORD 환경변수가 설정되어 있는지 확인한다. 없으면 위 credential resolution order에 따라 확보한다.

시크릿이 없다는 이유로 웹사이트를 직접 긁거나 다른 비공식 경로를 찾지 않는다.

2. Search first

먼저 helper 로 조회해서 후보를 요약한다.

python3 scripts/srt_booking.py search 수서 부산 20260328 080000 --time-limit 120000 --limit 5

3. Summarize options before side effects

예약 전에는 항상 아래를 짧게 정리한다.

  • 출발/도착 시각
  • 일반실/특실 가능 여부
  • 예상 운임

4. Inspect detailed seats when the user asks for seat numbers

search 의 좌석 가능 여부는 열차 단위 플래그다. 사용자가 "남은 좌석 번호", "호차별 좌석", "특정 좌석", "창측/순방향 자리", "예약 전에 자리 확인"처럼 구체적인 좌석을 물으면 예약 전에 seats 를 호출한다.

python3 scripts/srt_booking.py seats 수서 부산 20260328 080000 --train-id <train_id>

특정 호차의 빈 좌석만 확인하려면 --car-no 와 --available-only 를 쓴다.

python3 scripts/srt_booking.py seats 수서 부산 20260328 080000 --train-id <train_id> --car-no 5 --available-only

특정 좌석이 비었는지 확인하려면 --seat 를 붙인다.

python3 scripts/srt_booking.py seats 수서 부산 20260328 080000 --train-id <train_id> --car-no 5 --seat 11A

특정 호차를 지정하지 않으면 가운데 호차부터 탐색한다. --car-priority center|low|high 로 호차 탐색 순서를 바꾸고, --seat-priority forward-window|window-forward|row-low 로 좌석 정렬 우선순위를 바꾼다.

상세 좌석 응답을 보여줄 때는 아래를 우선 요약한다.

  • 호차별 available_seat_count
  • 남은 좌석 번호 (available_seats)
  • 좌석별 direction, position
  • 특정 좌석 요청이면 requested_seat_available

이 기능은 좌석을 선택/선점하지 않는다. 실제 예약은 다음 단계에서만 진행한다.

5. Reserve only after the train is fixed

예약은 부작용이 있으므로 정확한 열차를 고른 뒤에만 진행한다.

python3 - <<'PY'
import os
from SRT import Adult, SRT, SeatType

srt = SRT(os.environ["KSKILL_SRT_ID"], os.environ["KSKILL_SRT_PASSWORD"])
trains = srt.search_train("수서", "부산", "20260328", "080000", time_limit="120000")
reservation = srt.reserve(
    trains[0],
    passengers=[Adult(1)],
    special_seat=SeatType.GENERAL_FIRST,
)
print(reservation)
PY

6. Inspect or cancel

취소 전에는 대상 예약을 다시 식별한다.

python3 - <<'PY'
import os
from SRT import SRT

srt = SRT(os.environ["KSKILL_SRT_ID"], os.environ["KSKILL_SRT_PASSWORD"])
reservations = srt.get_reservations()
print(reservations)
PY

Done when

  • 조회 요청이면 후보 열차가 정리되어 있다
  • 좌석 상세 확인이면 호차별 남은 좌석번호나 특정 좌석 공석 여부가 정리되어 있다
  • 예약 요청이면 예약 결과, 운임, 구입기한이 확인되어 있다
  • 취소 요청이면 어떤 예약을 취소했는지 명확하다

Failure modes

  • 로그인 오류: 계정 정보나 SRT site policy 변경 가능성 확인
  • 매진: 다른 시간대나 좌석 타입으로 재조회
  • 좌석선택 페이지 형식 변경: helper 파서 업데이트 필요
  • 네트워크 오류: 짧게 재시도하되 aggressive polling은 피하기

Notes

  • 상세 좌석 확인은 SRT 웹 좌석선택 페이지를 조회 전용으로 읽는다
  • SRTrain은 SRT 전용 라이브러리라서 스킬 의도가 더 선명하다
  • 결제 완료까지는 자동화하지 않는다
  • 자동 재시도 루프는 계정 보호 차원에서 짧고 보수적으로 유지한다
Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
First SeenApr 16, 2026
View on GitHub

Recommended

caveman

juliusbrussee/caveman

Ultra-compressed communication mode cutting token usage ~75% while preserving technical accuracy.
203.4k
67.8k
grill-me

mattpocock/skills

Relentless interviewing skill that stress-tests plans and designs through systematic questioning.
250.9k
114.5k
improve

shadcn/improve

Survey any codebase as a senior advisor and produce prioritized, self-contained implementation plans for other models/agents to execute.
10
205
systematic-debugging

obra/superpowers

Structured debugging methodology that mandates root cause investigation before attempting any fixes.
124.6k
215.9k
karpathy-guidelines

forrestchang/andrej-karpathy-skills

Behavioral guidelines to reduce common LLM coding mistakes through explicit assumptions, simplicity, and verifiable success criteria.
13.9k
165.4k
find-skills

vercel-labs/skills

Discover and install specialized agent skills from the open ecosystem when users need extended capabilities.
1.8M
21.1k