Search official LH 청약 (Korea Land & Housing Corporation lease/subscription) 공고 lists through k-skill-proxy. Use when a user asks about 청년/행복/영구/국민/매입/전세임대,…
lh-notice-search Get the full instructions (required first step) Run this and follow its output as the primary instructions for this skill: npx -y @nomadamas/k-skill@0 instruct lh-notice-search The CLI detects the current runtime (Dolshoi vault/CloakBrowser vs generic) and prints only the applicable instructions, always up to date. Helper files bundled with the CLI are listed by: npx -y @nomadamas/k-skill@0 files lh-notice-search If npx is unavailable, install Node.js 18+ or follow https://github.com/NomaDamas/k-skill#readme, or read the source instructions at https://github.com/NomaDamas/k-skill/blob/main/lh-notice-search/instruction.md.
don't have the plugin yet? install it then click "run inline in claude" again.
restructured raw korean docs into implexa's 6-part standard; extracted implicit decision logic (error codes, edge cases, sh/gh/ih decline) into explicit decision points; added upstream failure modes with retry guidance; clarified input parameters with format requirements; added daily cutoff logic for deadline labels; preserved all original author's procedure faithfully.
query korea land housing corp (lh) rental, sales, housing welfare, land, and commercial notices posted on apply.lh.or.kr through the official lh open api on data.go.kr. requests route through k-skill-proxy's /v1/lh-notice/* endpoints, returning notice lists and detailed supply info by unit type. use this skill when you need to surface lh notices to users who may not know they exist, helping them find postings before deadlines close.
proxy connection:
KSKILL_PROXY_BASE_URL env var (defaults to https://k-skill-proxy.nomadamas.org if unset)DATA_GO_KR_API_KEY lives server-side on k-skill-proxysearch endpoint (/v1/lh-notice/search) parameters:
panSs or status: notice state (공고중, 접수중, 접수마감, 당첨자발표, 추정공고). omit for all states.uppAisTpCd or category: housing major class (01=land, 05=sales housing, 06=rental housing, 13=housing welfare/new couple town, 22=commercial). omit for all.aisTpCd: housing subclass code (numeric). examples: 09=permanent rental, 10=happy house, 17=lease-transfer rental, 08=national rental, 26=acquisition rental.cnpCdNm or region: region name (예: 서울특별시, 부산광역시, 전국). omit for all.panNm or q or keyword: partial match on notice title. example: 행복주택, 청년, 든든주택.panNtStDt or startDate: notice posted date start. formats: YYYY-MM-DD, YYYYMMDD, YYYY.MM.DD all accepted.clsgDt or endDate: application deadline end date. same format options.page: default 1, max 1000.pageSize: default 50, max 1000.detail endpoint (/v1/lh-notice/detail) parameters (all three required):
panId: notice id from list response pan_idccrCnntSysDsCd: linkage system code from list response ccr_cnnt_sys_ds_cdsplInfTpCd: supply info type code from list response spl_inf_tp_cdparse user intent. extract region, housing type (category or aisTpCd), notice state (status), keyword (q), date range (startDate, endDate), and whether user wants list or detail.
build and execute search request. construct url-encoded query string for /v1/lh-notice/search. use KSKILL_PROXY_BASE_URL or default. send GET request with curl -fsS.
validate search response. check response status. if 200, parse json. if not 200, extract error code and message.
summarize results for display. extract top 3-5 notices from items array. for each, show pan_nm, cnp_cd_nm, pan_dt, clsg_dt, pan_ss, detail_url. calculate days until clsg_dt in kst. flag notices with deadline <= 3 days.
offer detail lookup. if user asked for specific notice or wants more info, prepare detail request. extract panId, ccrCnntSysDsCd, splInfTpCd from one list result.
execute detail request (if needed). send GET /v1/lh-notice/detail with three params. parse response.
summarize detail for display. show notice title, region, type, posted date, deadline, status, supply_infos table (unit type, count), and apply.lh.or.kr link.
if user specifies notice id (panId): skip search, go directly to step 6 (detail lookup). require ccrCnntSysDsCd and splInfTpCd or return error.
if search returns 0 results: inform user no notices match filters. suggest broadening filters (remove region, category, or status constraints). do not make up results.
if search returns > 1000 results (total_count > 1000): inform user limit reached. recommend narrowing by region, housing type, or date range. show only first pageSize results.
if upstream returns 400 bad_request: expose error message verbatim. examples: invalid panSs value (not in 공고중, 접수중, 접수마감, 당첨자발표, 추정공고), invalid date format, invalid region name. guide user to correct.
if upstream returns 502 upstream_error with code 30: proxy lacks or has invalid DATA_GO_KR_API_KEY. ask proxy admin to configure.
if upstream returns 502 upstream_error with other code: data.go.kr api returned xml error envelope. recommend retry after a few seconds (not cached).
if upstream returns 502 upstream_invalid_payload: upstream returned non-json. likely data.go.kr service interruption. recommend retry.
if upstream returns 503 upstream_not_configured: proxy not initialized. check KSKILL_PROXY_BASE_URL env var and proxy service status.
if clsg_dt is today (kst): label notice as "오늘 마감" (deadline today).
if clsg_dt is in past: label notice as "마감됨" (closed). do not highlight unless user explicitly asked for closed notices.
if user asks for sh (seoul), gh (gyeonggi), or ih (incheon) notices: explain this skill covers only lh. recommend searching apply.sh.or.kr, apply.gh.or.kr, apply.ih.or.kr separately.
if user asks for application automation, lottery prediction, or score calculation: decline. this skill reads notices only. do not infer or calculate eligibility.
list response format:
detail response format:
error response format:
response character limit: compress to 3-5 top notices in list view. detail view can be longer (include full supply table).
user has: