# Kisnet Ytm

> Use when retrieving Korean KIS-NET YTM Matrix rows or listing supported bond kinds through the standalone ytm CLI or @sjunepark/ytm Node SDK.

- Skill: `sjunepark/kisnet-ytm` (Agent Skill)
- Install (CLI): `npx skillmds@latest add sjunepark/kisnet-ytm`
- Raw SKILL.md: https://api.skillmd.com/api/skills/sjunepark/kisnet-ytm/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: sjunepark (https://skillmd.com/u/sjunepark)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/sjunepark/kisnet-ytm

---


# KIS-NET YTM

Publication is not yet authorized. In the repository checkout, replace `ytm`
below with `bun run cli --`; this invokes the standalone Rust/Clap binary. The
Node package is SDK-only. For an in-process Node integration, import
`YtmClient` and the operation-specific validation helpers from `@sjunepark/ytm`.

```sh
ytm kinds --format json
ytm matrix --base-date 2026-06-08 --kind 국채 --format json --pretty
ytm matrix --base-date 2026-06-07 --kind 80 --fallback previous-available --lookback-days 10 --format json
```

- Dates accept `YYYY-MM-DD`, `YYYY.MM.DD`, or `YYYYMMDD`.
- Kind accepts a source code or Korean label. The canonical catalog includes
  `80` 회사채(사모), distinct from `70` 회사채(무보증).
- Exact-date lookup is the default. Use `previous-available` only when the
  caller authorizes walking backward through calendar dates.
- Retry fallback only after confirmed unavailable data. Transport, protocol,
  and source-format failures stop immediately.
- JSON is the default agent-readable output. Execution and invalid-invocation
  failures are structured JSON; inspect their recovery metadata before
  retrying. `ytm help <unknown>` instead prints a plain-text help error and
  exits with status 2.
- Report requested and resolved dates, kind, tenors, and rows by 적용대상채권.
  Source `-` or empty yields become `null` while raw text remains available.

```js
import { YtmClient, validateMatrixInput } from "@sjunepark/ytm";

const client = new YtmClient();
const validation = validateMatrixInput({
  baseDate: "2026-06-08",
  kind: "회사채(사모)"
});
if (!validation.ok) throw validation.error;
const result = await client.matrix(validation.input);
```

