Scrapes Seoul Housing & Communities Corporation's public notice board directly from i-sh.co.kr HTML and gives you structured JSON of housing lottery announcements, rent/sale listings, and attachments. Search by keyword across official categories like 주택임대 or 주택분양, grab detail pages by seq, and pull attachment metadata without touching login or application flows. Status flags like 진행 or 마감 are inferred from title text since the board doesn't expose them natively, so treat them as hints. Useful when you need to monitor SH housing announcements programmatically or answer "show me the latest 행복주택 listings" without clicking through their web UI. Read only, no proxy, no secrets.
npx -y skills add nomadamas/k-skill --skill sh-notice-search --agent claude-codeInstalls into .claude/skills of the current project.
서울주택도시개발공사(SH, www.i-sh.co.kr)의 공고 및 공지 공개 HTML 게시판을 직접 읽어 청약·주택 공고 목록과 상세 본문, 첨부파일 메타데이터를 JSON으로 정리한다.
existFile('N') onclick이 달린 실제 첨부 앵커와 downList 메타데이터를 기준으로 추출한다.청약 신청, 서류 제출, 로그인 필요한 마이페이지 조회, 결제, 알림 발송은 하지 않는다.
sh-notice-search npm package 또는 동일 로직https://www.i-sh.co.kr/app/lay2/program/S1T294C297/www/brd/m_247/list.do?multi_itm_seq=2https://www.i-sh.co.kr/app/lay2/program/S1T294C297/www/brd/m_247/view.do?multi_itm_seq=2&seq=<seq>srchWord=<keyword>&srchTp=0srchWord=<keyword>&srchTp=1page for pagination.Discovery result: direct unauthenticated fetches from www.i-sh.co.kr return list/detail HTML. A live smoke on 2026-05-15 showed srchWord=행복주택 without srchTp returned the full rent board count, while srchTp=0 narrowed the result set. Therefore the client always sends srchTp when a keyword is present.
No k-skill-proxy route is used because this upstream is public and does not require an API key.
| Input aliases | Official tab |
|---|---|
rent, 임대, 주택임대 | 주택임대 (multi_itm_seq=2) |
sale, 분양, 주택분양 | 주택분양 (multi_itm_seq=1) |
purchase, 매입, 매입임대, welfare, 주거복지 | 주택매입 (multi_itm_seq=512) |
land, 토지 | 토지 |
commercial, 상가, 공장 | 상가/공장 |
compensation, 보상, 이주 | 보상/이주 |
design, 현상설계 | 현상설계 |
etc, 기타 | 기타 |
all, 전체 | 전체 |
주거복지는 SH 공고 및 공지의 공개 탭명이 아니라 사용자 친화 alias이며, 현재는 SH의 공개 주택매입 탭으로 매핑한다. 답변할 때는 이 매핑을 밝힌다.
const { searchNotices } = require("sh-notice-search")
const result = await searchNotices({
keyword: "행복주택",
category: "임대",
page: 1,
limit: 5
})
console.log(result.items)
CLI:
node packages/sh-notice-search/src/cli.js 행복주택 --category 임대 --limit 5
node packages/sh-notice-search/src/cli.js 매입임대 --category 주거복지 --status 진행
Returned list fields include:
seqtitledepartmentregistered_dateviewsis_newcategory, category_namestatus, status_basisdetail_urlconst { getNoticeDetail } = require("sh-notice-search")
const detail = await getNoticeDetail({ seq: "304371", category: "임대" })
console.log(detail.notice.content_text)
console.log(detail.notice.attachments)
CLI:
node packages/sh-notice-search/src/cli.js --seq 304371 --category 임대
Attachment fields:
filenamefile_seqfile_sizefile_typepreview_url (official SH preview/converter URL)Direct download URLs are intentionally not returned. Hand off detail_url or preview_url to the user's browser.
The SH public board list does not expose a first-class status field like 접수중/마감. The package can filter by status, but it is a title-text classifier:
open/진행: titles with 모집공고, 입주자 모집, 신청, 접수, 공고closed/마감: titles with 마감, 계약결과, 결과, 완료, 종료announced/당첨자: titles with 당첨, 발표When answering, disclose that status is inferred from the title unless the detailed 공고문 body states exact dates.
srchTp so srchWord is not ignored.page and recognizes the fixed 10-row board page size.existFile() anchors/downList metadata, not extension icon templates.downList structure; parsing may become partial or fail.srchWord without srchTp is known to be ignored by the SH board; always send srchTp=0 for title or srchTp=1 for content.pageSize larger than 10 does not make SH return more rows. Use page for additional results.juliusbrussee/caveman
mattpocock/skills
obra/superpowers
forrestchang/andrej-karpathy-skills
vercel-labs/skills