@djfksjd/ir-search
A한국 정부·공공기관 지원사업 전수조사 스킬 — Claude Code·Codex·agy(Antigravity CLI)·Cursor·Gemini CLI·Grok Build(x.ai)에서 쓸 수 있는 플러그인/스킬.
Install
agr install @djfksjd/ir-search --target claudeWrites 9 files into .claude/skills/, pinned to git-a533e1a7.
- .claude/skills/ir-search/.gitignore
- .claude/skills/ir-search/AGENTS.md
- .claude/skills/ir-search/LICENSE
- .claude/skills/ir-search/README.en.md
- .claude/skills/ir-search/README.md
- .claude/skills/ir-search/SKILL.md
- .claude/skills/ir-search/gemini-extension.json
- .claude/skills/ir-search/install.sh
- .claude/skills/ir-search/plugin.json
Document
skills/ir-search/SKILL.md
Repository README
Describes djfksjd/ir-search as a whole, which may contain artifacts other than this one. Where this artifact had no useful description of its own, its summary was taken from here.
🇰🇷 한국어 · 🇺🇸 English
ir-search
⚠️ 한국(대한민국) 정부·공공기관 지원사업 전용입니다. 다른 국가의 지원 프로그램은 다루지 않습니다.
한국 정부·공공기관 지원사업 전수조사 스킬 — Claude Code·Codex·agy(Antigravity CLI)·Cursor·Gemini CLI·Grok Build(x.ai)에서 쓸 수 있는 플러그인/스킬.
K-Startup·기업마당(bizinfo)·NIPA·KOCCA·SMTECH의 모집중 공고를 크롤링해서, 현재 작업 중인 프로젝트(아이템)의 프로필 — 창업 단계·지역·필요(자금/공간/R&D) — 에 맞는 사업을 골라내고, 상세공고 원문으로 자격요건을 검증한 뒤 3단계로 분류한 보고서를 만들어 줍니다:
- A그룹 — 지금 즉시 지원 가능: 현재 신분 그대로 자격 충족 (마감순, 임박 강조)
- B그룹 — 요건 충족 시 (로드맵): 법인 설립·투자유치 등 트리거와 연쇄 경로 명시
- C그룹 — 변형하면 가능: 아이템을 다른 분야 언어로 재서술하는 프레이밍 각도 제안
키워드 검색이 아니라 전수 검토를 하는 이유: "AI 스타트업"이 지원할 수 있는 콘텐츠 제작지원·예술×기술 입주·사회서비스 창업지원 같은 사업은 키워드로 잡히지 않기 때문입니다.
산출물 예시 (발췌)
실행하면 ~/Documents/지원사업조사_<대상>_<날짜>/에 보고서 md + 원시 jsonl + 상세공고 원문이 저장됩니다. 보고서는 이런 식입니다:
# 지원사업 전수조사 — ○○ (AI 음성 SaaS, 예비창업자, 충남)
조사일 2026-07-11 · K-Startup 262건 + 기업마당 300건 전수 검토 → 후보 31건 상세 검증
## A그룹 — 지금 즉시 지원 가능 (마감순)
1. **2026 청년창업사관학교 추가모집** — 중소벤처기업진흥공단
- 지원: 사업화 자금 최대 1억 원 + 입주공간 + 멘토링
- 자격: 예비창업자 포함 ✓ · 만 39세 이하 ✓ · 전국 접수 ✓
- 마감: 2026-07-18 16:00 (D-7) ⚠️ 임박
- https://www.k-startup.go.kr/web/contents/bizpbanc-ongoing.do?schM=view&pbancSn=1784xx
## B그룹 — 요건 충족 시 열림 (로드맵)
- **프리팁스(Pre-TIPS)**: 트리거 = 비수도권 법인 설립.
연쇄 경로: 경진대회 상금·시드 → 충남 법인 설립 → 프리팁스 → TIPS
- https://www.k-startup.go.kr/...&pbancSn=1779xx
## C그룹 — 변형(프레이밍)하면 가능
- **콘텐츠 제작지원 (KOCCA)**: "AI 음성 기술"이 아니라 "오디오 콘텐츠
제작 파이프라인"으로 재서술하면 대상. 리스크: 결과물이 콘텐츠여야 함
- https://www.kocca.kr/...
## 부재 확인
- 예비창업패키지: 현재 모집중 아님 (통상 2월 공고 — 알림 설정 권장)
## 우선순위 액션
- ~7/18: A-1 청창사 신청 (16:00 마감 주의)
- ~7/25: C-1 콘텐츠 프레이밍 초안 작성 후 문의처 유선확인
모든 공고에 원문 URL이 붙고, 공고에 없는 정보는 추정하지 않고 '불명'으로 표기합니다.
커버 소스
| 소스 | 내용 | 크롤러 |
|---|---|---|
| K-Startup | 창업지원 통합 (기본) | kstartup_crawl.py (+ kstartup_api.py) |
| 기업마당 | 전 부처·지자체 중소기업 지원 (최대 커버리지) | sources_crawl.py |
| NIPA | AI/ICT 사업 | sources_crawl.py |
| KOCCA | 콘텐츠 지원 | sources_crawl.py |
| SMTECH | 중기부 R&D | sources_crawl.py |
그 외 소스(NIA·IITP·IRIS·지역기관 등)는 skills/ir-search/references/sources.md의 레지스트리 참조.
조사 범위 선택
매번 모든 사이트를 훑지 않아도 됩니다. scope_plan.py가 요청 범위를 먼저 고정하고,
자동 수집·수동 확인·후보 소스를 구분한 실행계획과 안정적인 scope_fingerprint를 만듭니다.
이 과정은 네트워크·API·LLM을 호출하지 않아 토큰과 외부 쿼터를 쓰지 않습니다.
| 프리셋 | 용도 |
|---|---|
quick | K-Startup 한 곳만 빠르게 확인 |
focused | 사용자가 고른 등록 소스 한 곳만 |
recommended | K-Startup·기업마당 + 프로필 태그와 맞는 자동 소스(권장) |
all_registered | 현재 자동화된 모든 등록 소스 |
all_known | 후보·수동 확인 소스까지 빠짐없이 계획 |
custom | --include로 지정한 소스만 선택 |
python3 skills/ir-search/scripts/scope_plan.py \
--preset recommended --need ai --need rnd \
--out survey-20260730/scope-plan.json
# K-Startup만 확인
python3 skills/ir-search/scripts/scope_plan.py \
--preset custom --source kstartup --out /tmp/ir-scope.json
all_known에 포함된 IRIS·IITP·NIA·KIAT·수출바우처·창조경제혁신센터·지역기관은
자동 크롤 성공으로 가장하지 않고 manual 또는 candidate로 남깁니다. 재조사 diff는
동일한 fingerprint와 완전 수집 상태일 때만 소멸을 판정하므로 범위 변경을 GONE으로
오인하지 않습니다.
K-Startup 공식 API (선택 — 있으면 더 정확·빠름, 없으면 크롤)
kstartup_crawl.py list는 공공데이터포털의 data.go.kr 서비스키가 있으면 K-Startup 공식 오픈API로 모집중 공고를 받고, 키가 없거나 API가 실패·차단·이상이면 자동으로 공개 페이지 크롤로 폴백합니다(출력 스키마·매니페스트 동일). 키는 리포 루트 .env(DATA_GO_KR_KEY=...), 환경변수 DATA_GO_KR_KEY, 또는 공용 ~/.config/data_go_kr_key에서 읽으며 로그·에러·명령행에 절대 출력되지 않습니다(.env는 .gitignore). 같은 키가 sole-search의 gov24에도 재사용됩니다.
- 커버리지 정직성: 이 데이터셋은 등록순(최신우선)이라 API가 전수 소진을 증명하면
stop_reason: api·exit 0, 최신우선 조기종료(최근 창)면stop_reason: api-window·**exit 2(partial)**로 남깁니다. 전수 보증은 크롤이 권위이며 diff는 partial 실행에서 소멸을 단정하지 않습니다. - 기업마당(bizinfo)은 크롤 유지 — 공식 API가 별도
crtfcKey(기업마당 발급, data.go.kr 키와 다름)를 요구하고 크롤이 이미 전수 커버리지를 제공하므로 API를 쓰지 않습니다.
설치
한 줄 설치 — 설치된 호스트(claude/codex/agy/gemini)를 자동 감지해 전부 설치하고, CLI가 없으면 ~/.agents/skills/에 clone(Cursor·Grok Build용)합니다. 의존성(curl_cffi)까지 처리:
curl -fsSL https://raw.githubusercontent.com/djfksjd/ir-search/main/install.sh | bash
수동으로 하려면 아래에서 쓰는 에이전트의 방법을 고르세요 — 한 트리로 모든 호스트를 지원합니다.
Claude Code
claude plugin marketplace add djfksjd/ir-search
claude plugin install ir-search@djfksjd
의존성 curl_cffi는 세션 시작 훅(SessionStart)이 자동으로 설치합니다.
Codex
codex plugin marketplace add djfksjd/ir-search
codex plugin add ir-search@djfksjd
의존성 curl_cffi는 세션 시작 훅(SessionStart)이 자동으로 설치합니다.
agy (Antigravity CLI)
agy plugin install djfksjd/ir-search
agy plugin enable ir-search
pip3 install 'curl_cffi>=0.15' # agy는 SessionStart 훅이 없기 때문에 별도 설치 필요
Gemini CLI
gemini extensions install https://github.com/djfksjd/ir-search
pip3 install 'curl_cffi>=0.15'
확장(gemini-extension.json)이 skills/ 아래 스킬을 자동 발견하고, AGENTS.md를 컨텍스트로 로드합니다.
Cursor / Grok Build (x.ai)
둘 다 공용 스킬 디렉토리(~/.agents/skills/)와 ~/.claude/skills/를 읽습니다. clone 한 번이면 됩니다:
mkdir -p ~/.agents/skills
git clone https://github.com/djfksjd/ir-search.git ~/.agents/skills/ir-search
pip3 install 'curl_cffi>=0.15'
(루트의 SKILL.md 심링크 덕분에 clone 디렉토리가 그대로 스킬 폴더로 인식됩니다. Grok Build는 Claude Code 플러그인도 그대로 읽으므로, 위 Claude Code 방식으로 설치했다면 추가 작업이 필요 없습니다.)
클래식 (Claude Code 스킬로 직접 clone)
git clone https://github.com/djfksjd/ir-search.git ~/.claude/skills/ir-search
pip3 install 'curl_cffi>=0.15'
사용
어느 에이전트에서든 프로젝트 폴더를 연 상태로:
우리 아이템에 맞는 지원사업 전수조사 해줘
또는 /ir-search(Claude Code). 에이전트가 폴더에서 프로젝트 정보를 읽고, 비는 항목(창업 단계·지역·필요한 것)만 물어본 뒤 조사를 시작합니다.
반복 사용을 전제로 설계되어 있습니다:
- 프로필은 프로젝트 폴더의
ir-search-profile.md에 저장 — 다음 조사부터는 다시 묻지 않고 "바뀐 것 있나요?" 한 번만 확인 - 재조사 시 직전 결과와 자동 비교(diff)해서 신규 공고 / 마감 변경 / 종료된 기회만 증분 보고 — 250건+를 매번 다시 읽지 않습니다
크롤러는 단독으로도 쓸 수 있습니다(플러그인 디렉토리 기준 경로):
python3 skills/ir-search/scripts/scope_plan.py --preset recommended -o scope-plan.json
python3 skills/ir-search/scripts/kstartup_crawl.py list -o all.jsonl # K-Startup 모집중 전수
python3 skills/ir-search/scripts/kstartup_crawl.py detail 178481 -o details/ # K-Startup 상세공고
python3 skills/ir-search/scripts/sources_crawl.py list bizinfo -o biz.jsonl # 기업마당
python3 skills/ir-search/scripts/sources_crawl.py list all -o sources.jsonl # 4개 소스 일괄
python3 skills/ir-search/scripts/sources_crawl.py detail <URL> -o details/ # 소스 무관 상세공고
구성
ir-search/
├── install.sh # 한 줄 설치 스크립트 (호스트 자동 감지)
├── plugin.json # agy 마커 (name/version/description)
├── gemini-extension.json # Gemini CLI 확장 매니페스트
├── AGENTS.md # 공유 에이전트 가이드 (전 호스트)
├── SKILL.md → skills/ir-search/SKILL.md # 심링크 — clone 디렉토리를 그대로 스킬 폴더로 쓰기 위한 호환 계층
├── .claude-plugin/ # Claude Code 매니페스트
│ ├── plugin.json # + SessionStart 훅(curl_cffi 자동설치) 인라인
│ └── marketplace.json # claude plugin marketplace add 지원
├── .codex-plugin/
│ └── plugin.json # Codex 매니페스트 (+ interface)
├── .agents/skills → skills # 심링크 — Cursor·Grok Build 등 공용 표준
├── .cursor/skills → skills # 심링크 — Cursor 프로젝트 스킬
├── .gemini/skills → skills # 심링크 — Gemini CLI 워크스페이스 스킬
└── skills/
└── ir-search/
├── SKILL.md # 워크플로 (프로필 → 전수수집 → 전수검토 → 상세검증 → 3분류 보고)
├── scripts/
│ ├── scope_plan.py # 조사 범위·소스 상태·fingerprint 실행계획(오프라인)
│ ├── kstartup_crawl.py # K-Startup 크롤러 (API 우선, 키 없으면 크롤 폴백)
│ ├── kstartup_api.py # K-Startup 공식 오픈API 클라이언트 (data.go.kr)
│ ├── sources_crawl.py # 기업마당·NIPA·KOCCA·SMTECH 크롤러
│ ├── attach_download.py # 첨부 다운로드 공용 (robots 준수·해시)
│ ├── run_manifest.py # run_manifest.json 공용 기록기 (커버리지)
│ └── diff_surveys.py # 재조사 증분 비교 (신규/마감변경/종료)
└── references/sources.md # 소스 레지스트리 (검증된 접근법 + 보조 소스)
주의
- 공고 내용(마감일·자격요건·금액)은 수시로 바뀝니다. 신청 전 반드시 접수기관에 확인하세요. 이 스킬의 산출물은 조사 시점의 공고 텍스트 기준입니다.
- 공개 공고 페이지만 접근하며 요청 간 지연을 둡니다. 대상 사이트의 이용약관을 존중해 주세요.
License
MIT
Trustgrade A
- passBody integrity
Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.
- passType matchnot applicable to this artifact type
Whether the artifact is really the kind of thing its metadata claims it is.
- passFreshness
How long since the source repository was last pushed to.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- passLicense
Whether the source repository declares an SPDX license permissive enough to redistribute.
How the grade is calculated
Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:
- Aevery check passed
- Bone warning
- Ctwo warnings
- Dprompt injection or body integrity failed, or three warnings
- Fone of those failed, and something else is wrong
These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.
Versions
git-a533e1a74bde2026-07-30