d2b-notice-search
국방전자조달시스템(D2B) 공개 입찰공고 검색 화면에서 공고건명·공고구분·공고/개찰일·G2B공고번호·발주기관 조건으로 공고를 조회한다.
How do I install this agent skill?
npx skills add https://github.com/nomadamas/k-skill --skill d2b-notice-searchIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill is a specialized search utility for the South Korean Defense Electronic Procurement System (D2B). It uses browser automation to retrieve public procurement notices based on criteria like keywords, date ranges, and organization names. No malicious patterns or security risks were identified, as the skill focuses on public data retrieval and explicitly avoids sensitive operations like authentication or payments.
- Socketwarn
1 alert: gptSecurity
- Snykwarn
Risk: MEDIUM · 1 issue
What does this agent skill do?
D2B Notice Search
What this skill does
국방전자조달시스템(D2B, www.d2b.go.kr)의 공개 입찰공고 검색 화면을 브라우저로 읽어 국방 조달 공고 후보를 조회한다.
- 공고건명 키워드로 검색한다.
- 공고구분을 정상공고, 긴급공고, 정정공고, 취소공고, 연기공고, 재공고로 좁힌다.
- 개찰일자 또는 공고일자 기준 기간을 지정한다.
- G2B공고번호와 발주기관 조건을 함께 사용할 수 있다.
- 렌더링된 목록/최근 공고 링크의 제목, 공고번호, 업무구분, 게시일을 추출한다.
입찰, 투찰, 서류 제출, 로그인, 공동인증서/보안 프로그램 조작, 결제는 하지 않는다.
When to use
- "국방전자조달 냉난방기 공고 찾아줘"
- "D2B 긴급 물품 공고 조회"
- "국방전자조달시스템에서 G2B공고번호로 찾아줘"
- "방위사업청 입찰공고 최신 목록 보여줘"
Prerequisites
- 인터넷 연결
- Node.js 18+
- 기본: Aside Browser
- fallback: 사용자가 띄운 BrowserOS 세션에 CDP로 붙거나(권장), 로컬 브라우저 사용
Public access path discovered
Primary source: official D2B rendered search form
Entry point:
https://www.d2b.go.kr/index.do
Observed public 입찰공고 fields:
| Field | Meaning |
|---|---|
공고건명 | notice title keyword |
공고구분 | 정상공고 A, 긴급공고 B, 정정공고 H, 취소공고 J, 연기공고 K, 재공고 D |
공고/개찰일 | 개찰일자 1, 공고일자 2 |
| 시작/마지막 날짜 | date range |
G2B공고번호 | G2B notice number |
발주기관 | ordering organization |
Discovery result: the home page renders a public search form and recent bid links without login. Direct probes to https://www.d2b.go.kr/openapi/sealedBidAnnounceList.json can return 400 Bad Request / deceptive request routing HTML, so browser automation is the stable primary route.
No k-skill-proxy route is used because the public page does not require an API key. If a separate free API key route is later confirmed, it must be narrow, allowlisted, cache-backed, and documented before proxying.
Workflow
1. Build a search recipe
const { buildBrowserAutomationInstructions } = require("d2b-notice-search")
const instructions = buildBrowserAutomationInstructions({
keyword: "냉난방기",
kind: "물품",
noticeType: "긴급공고",
dateType: "공고일자",
dateStart: "2026-07-01",
dateEnd: "2026-08-30",
organization: "해병"
})
2. Execute with Aside Browser first
- Open
https://www.d2b.go.kr/index.do. - Snapshot the
입찰공고area. - Fill 공고건명, 공고구분, 공고/개찰일, date range, G2B공고번호, and 발주기관 as needed.
- Click
검색. - Snapshot the resulting list or recent notice links and extract visible fields.
3. Fallback order
- Aside Browser against the official rendered page.
- A user-launched BrowserOS session over CDP (or a local browser you own) with the same public form interactions.
- Direct HTTP best-effort only. Treat
400 Bad Request,deceptive request routing, TouchEn/security, login, CAPTCHA, queue, or maintenance HTML as an explicit blocked state, not as empty results.
Supported aliases
| Input aliases | Normalized value |
|---|---|
물품, goods, pdb | PDB |
용역, service, services, psb | PSB |
공사, works, construction, pcb | PCB |
국외, foreign, peb | PEB |
정상공고, normal, A | A |
긴급공고, urgent, B | B |
정정공고, H | H |
취소공고, J | J |
연기공고, K | K |
재공고, D | D |
개찰일자, open, opening, 1 | 1 |
공고일자, posted, notice, 2 | 2 |
Done when
- The official D2B page was opened through Aside Browser or the documented browser fallback.
- The visible search form was filled with the requested conditions.
- Results or an explicit no-results/blocked state were captured from the rendered page.
- Direct HTTP failures were classified as blocked/security routing when they return 400/security HTML.
- No login, bidding, signature, payment, or security bypass was attempted.
Failure modes
- D2B may change Vue/component markup, placeholders, JavaScript action names, or the openapi route.
- Direct HTTP may return
400 Bad Request, traffic/security routing HTML, or maintenance pages. - Browser automation can be blocked by security software, certificate prompts, CAPTCHA, login walls, or site maintenance.
- Date ranges wider than 12 months are rejected by this package to keep user queries narrow.
- Rendered results can differ by current D2B service state; cite the official D2B URL and visible timestamp/context when answering.
How can the creator link this skill?
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/d2b-notice-search">View d2b-notice-search on skillZs</a>