skillZs
LIVE SKILL TAGS
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
REAL INSTALL DATA
← back to all skills
nomadamas/k-skill1.2k installs

sh-notice-search

서울주택도시개발공사(SH) 공개 공고/공지 게시판에서 청약·주택 공고 목록, 상세 본문, 첨부 미리보기 메타데이터를 직접 조회한다.

How do I install this agent skill?

npx skills add https://github.com/nomadamas/k-skill --skill sh-notice-search
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    This skill retrieves housing and announcement data from the official Seoul Housing and Communities Corporation (SH) website. It operates as a read-only tool using a local Node.js package to parse public HTML boards and does not involve sensitive data or suspicious execution patterns.

  • Socketpass

    No alerts

  • Snykwarn

    Risk: MEDIUM · 1 issue

What does this agent skill do?

SH Notice Search

What this skill does

서울주택도시개발공사(SH, www.i-sh.co.kr)의 공고 및 공지 공개 HTML 게시판을 직접 읽어 청약·주택 공고 목록과 상세 본문, 첨부파일 메타데이터를 JSON으로 정리한다.

  • 키워드로 SH 공고/공지 목록을 검색한다.
  • 공식 게시판 분류(주택임대, 주택분양, 주택매입/주거복지, 토지, 상가/공장 등)를 선택한다.
  • 상세 페이지에서 본문, 담당부서, 등록일, 조회수, 실제 첨부파일명을 추출한다.
  • 첨부는 아이콘 템플릿이 아니라 existFile('N') onclick이 달린 실제 첨부 앵커와 downList 메타데이터를 기준으로 추출한다.

청약 신청, 서류 제출, 로그인 필요한 마이페이지 조회, 결제, 알림 발송은 하지 않는다.

When to use

  • "SH 행복주택 공고 찾아줘"
  • "서울주택도시개발공사 매입임대 공고 보여줘"
  • "SH 공고 seq 304371 상세와 첨부파일 알려줘"
  • "SH 분양 공고 최신 목록 조회"

Prerequisites

  • 인터넷 연결
  • Node.js 18+
  • 이 저장소의 sh-notice-search npm package 또는 동일 로직

Public access path discovered

Primary source: official SH public HTML board

  • default rent list: https://www.i-sh.co.kr/app/lay2/program/S1T294C297/www/brd/m_247/list.do?multi_itm_seq=2
  • default rent detail: https://www.i-sh.co.kr/app/lay2/program/S1T294C297/www/brd/m_247/view.do?multi_itm_seq=2&seq=<seq>
  • title keyword search: add srchWord=<keyword>&srchTp=0
  • content keyword search: add srchWord=<keyword>&srchTp=1
  • fixed board page size: 10 rows per page; use page 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.

Supported category aliases

Input aliasesOfficial 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의 공개 주택매입 탭으로 매핑한다. 답변할 때는 이 매핑을 밝힌다.

Workflow

1. Search notices

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:

  • seq
  • title
  • department
  • registered_date
  • views
  • is_new
  • category, category_name
  • status, status_basis
  • detail_url

2. Fetch detail

const { 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:

  • filename
  • file_seq
  • file_size
  • file_type
  • preview_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.

3. Interpret status conservatively

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.

Done when

  • Official SH list/detail URLs were queried directly from the user machine.
  • Keyword searches include srchTp so srchWord is not ignored.
  • Pagination uses page and recognizes the fixed 10-row board page size.
  • Attachments are extracted from actual existFile() anchors/downList metadata, not extension icon templates.
  • Public source URLs are shown, and login/application automation is avoided.

Failure modes

  • SH can change board paths, table markup, JavaScript functions, or downList structure; parsing may become partial or fail.
  • IP-rate-limit, NetFunnel throttling, maintenance pages, or temporary 4xx/5xx responses can block live fetches. Do not bypass CAPTCHA/login/queue protections.
  • 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.
  • Attachment preview URLs may require browser handoff and can be governed by SH's current direct-link/download policy.
  • Status is inferred from title text because the public list lacks an explicit status column.

Notes

  • Read-only lookup only.
  • No proxy, no API key, no secrets.
  • Do not automate 청약 신청, 로그인, 서류 제출, payment, or 마이페이지 flows.

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/nomadamas/k-skill/sh-notice-search">View sh-notice-search on skillZs</a>