{
  "markdown": "<samp>🇰🇷 한국어 · [🇺🇸 English](README.en.md)</samp>\n\n# ir-search\n\n[![smoke](https://github.com/djfksjd/ir-search/actions/workflows/smoke.yml/badge.svg)](https://github.com/djfksjd/ir-search/actions/workflows/smoke.yml)\n\n> ⚠️ **한국(대한민국) 정부·공공기관 지원사업 전용**입니다. 다른 국가의 지원 프로그램은 다루지 않습니다.\n\n한국 정부·공공기관 **지원사업 전수조사** 스킬 — Claude Code·Codex·agy(Antigravity CLI)·Cursor·Gemini CLI·Grok Build(x.ai)에서 쓸 수 있는 플러그인/스킬.\n\nK-Startup·기업마당(bizinfo)·NIPA·KOCCA·SMTECH의 모집중 공고를 크롤링해서, 현재 작업 중인 프로젝트(아이템)의 프로필 — 창업 단계·지역·필요(자금/공간/R&D) — 에 맞는 사업을 골라내고, 상세공고 원문으로 자격요건을 검증한 뒤 3단계로 분류한 보고서를 만들어 줍니다:\n\n- **A그룹 — 지금 즉시 지원 가능**: 현재 신분 그대로 자격 충족 (마감순, 임박 강조)\n- **B그룹 — 요건 충족 시 (로드맵)**: 법인 설립·투자유치 등 트리거와 연쇄 경로 명시\n- **C그룹 — 변형하면 가능**: 아이템을 다른 분야 언어로 재서술하는 프레이밍 각도 제안\n\n키워드 검색이 아니라 전수 검토를 하는 이유: \"AI 스타트업\"이 지원할 수 있는 콘텐츠 제작지원·예술×기술 입주·사회서비스 창업지원 같은 사업은 키워드로 잡히지 않기 때문입니다.\n\n## 산출물 예시 (발췌)\n\n실행하면 `~/Documents/지원사업조사_<대상>_<날짜>/`에 보고서 md + 원시 jsonl + 상세공고 원문이 저장됩니다. 보고서는 이런 식입니다:\n\n```markdown\n# 지원사업 전수조사 — ○○ (AI 음성 SaaS, 예비창업자, 충남)\n조사일 2026-07-11 · K-Startup 262건 + 기업마당 300건 전수 검토 → 후보 31건 상세 검증\n\n## A그룹 — 지금 즉시 지원 가능 (마감순)\n\n1. **2026 청년창업사관학교 추가모집** — 중소벤처기업진흥공단\n   - 지원: 사업화 자금 최대 1억 원 + 입주공간 + 멘토링\n   - 자격: 예비창업자 포함 ✓ · 만 39세 이하 ✓ · 전국 접수 ✓\n   - 마감: 2026-07-18 16:00 (D-7) ⚠️ 임박\n   - https://www.k-startup.go.kr/web/contents/bizpbanc-ongoing.do?schM=view&pbancSn=1784xx\n\n## B그룹 — 요건 충족 시 열림 (로드맵)\n\n- **프리팁스(Pre-TIPS)**: 트리거 = 비수도권 법인 설립.\n  연쇄 경로: 경진대회 상금·시드 → 충남 법인 설립 → 프리팁스 → TIPS\n  - https://www.k-startup.go.kr/...&pbancSn=1779xx\n\n## C그룹 — 변형(프레이밍)하면 가능\n\n- **콘텐츠 제작지원 (KOCCA)**: \"AI 음성 기술\"이 아니라 \"오디오 콘텐츠\n  제작 파이프라인\"으로 재서술하면 대상. 리스크: 결과물이 콘텐츠여야 함\n  - https://www.kocca.kr/...\n\n## 부재 확인\n- 예비창업패키지: 현재 모집중 아님 (통상 2월 공고 — 알림 설정 권장)\n\n## 우선순위 액션\n- ~7/18: A-1 청창사 신청 (16:00 마감 주의)\n- ~7/25: C-1 콘텐츠 프레이밍 초안 작성 후 문의처 유선확인\n```\n\n모든 공고에 원문 URL이 붙고, 공고에 없는 정보는 추정하지 않고 '불명'으로 표기합니다.\n\n## 커버 소스\n\n| 소스                                    | 내용                                          | 크롤러                |\n| --------------------------------------- | --------------------------------------------- | --------------------- |\n| [K-Startup](https://www.k-startup.go.kr) | 창업지원 통합 (기본)                          | `kstartup_crawl.py` (+ `kstartup_api.py`) |\n| [기업마당](https://www.bizinfo.go.kr)    | 전 부처·지자체 중소기업 지원 (최대 커버리지) | `sources_crawl.py`  |\n| [NIPA](https://www.nipa.kr)              | AI/ICT 사업                                   | `sources_crawl.py`  |\n| [KOCCA](https://www.kocca.kr)            | 콘텐츠 지원                                   | `sources_crawl.py`  |\n| [SMTECH](https://www.smtech.go.kr)       | 중기부 R&D                                    | `sources_crawl.py`  |\n\n그 외 소스(NIA·IITP·IRIS·지역기관 등)는 `skills/ir-search/references/sources.md`의 레지스트리 참조.\n\n## 조사 범위 선택\n\n매번 모든 사이트를 훑지 않아도 됩니다. `scope_plan.py`가 요청 범위를 먼저 고정하고,\n자동 수집·수동 확인·후보 소스를 구분한 실행계획과 안정적인 `scope_fingerprint`를 만듭니다.\n이 과정은 네트워크·API·LLM을 호출하지 않아 토큰과 외부 쿼터를 쓰지 않습니다.\n\n| 프리셋 | 용도 |\n|---|---|\n| `quick` | K-Startup 한 곳만 빠르게 확인 |\n| `focused` | 사용자가 고른 등록 소스 한 곳만 |\n| `recommended` | K-Startup·기업마당 + 프로필 태그와 맞는 자동 소스(권장) |\n| `all_registered` | 현재 자동화된 모든 등록 소스 |\n| `all_known` | 후보·수동 확인 소스까지 빠짐없이 계획 |\n| `custom` | `--include`로 지정한 소스만 선택 |\n\n```bash\npython3 skills/ir-search/scripts/scope_plan.py \\\n  --preset recommended --need ai --need rnd \\\n  --out survey-20260730/scope-plan.json\n\n# K-Startup만 확인\npython3 skills/ir-search/scripts/scope_plan.py \\\n  --preset custom --source kstartup --out /tmp/ir-scope.json\n```\n\n`all_known`에 포함된 IRIS·IITP·NIA·KIAT·수출바우처·창조경제혁신센터·지역기관은\n자동 크롤 성공으로 가장하지 않고 `manual` 또는 `candidate`로 남깁니다. 재조사 diff는\n동일한 fingerprint와 완전 수집 상태일 때만 소멸을 판정하므로 범위 변경을 GONE으로\n오인하지 않습니다.\n\n### K-Startup 공식 API (선택 — 있으면 더 정확·빠름, 없으면 크롤)\n\n`kstartup_crawl.py list`는 [공공데이터포털](https://www.data.go.kr/data/15125364/openapi.do)의 **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에도 재사용됩니다.\n\n- **커버리지 정직성**: 이 데이터셋은 등록순(최신우선)이라 API가 전수 소진을 증명하면 `stop_reason: api`·exit 0, 최신우선 조기종료(최근 창)면 `stop_reason: api-window`·**exit 2(partial)**로 남깁니다. 전수 보증은 크롤이 권위이며 diff는 partial 실행에서 소멸을 단정하지 않습니다.\n- **기업마당(bizinfo)은 크롤 유지** — 공식 API가 별도 `crtfcKey`(기업마당 발급, data.go.kr 키와 다름)를 요구하고 크롤이 이미 전수 커버리지를 제공하므로 API를 쓰지 않습니다.\n\n## 설치\n\n**한 줄 설치** — 설치된 호스트(claude/codex/agy/gemini)를 자동 감지해 전부 설치하고, CLI가 없으면 `~/.agents/skills/`에 clone(Cursor·Grok Build용)합니다. 의존성(`curl_cffi`)까지 처리:\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/djfksjd/ir-search/main/install.sh | bash\n```\n\n수동으로 하려면 아래에서 쓰는 에이전트의 방법을 고르세요 — 한 트리로 모든 호스트를 지원합니다.\n\n### Claude Code\n\n```bash\nclaude plugin marketplace add djfksjd/ir-search\nclaude plugin install ir-search@djfksjd\n```\n\n*의존성 `curl_cffi`는 세션 시작 훅(`SessionStart`)이 자동으로 설치합니다.*\n\n### Codex\n\n```bash\ncodex plugin marketplace add djfksjd/ir-search\ncodex plugin add ir-search@djfksjd\n```\n\n*의존성 `curl_cffi`는 세션 시작 훅(`SessionStart`)이 자동으로 설치합니다.*\n\n### agy (Antigravity CLI)\n\n```bash\nagy plugin install djfksjd/ir-search\nagy plugin enable ir-search\npip3 install 'curl_cffi>=0.15'   # agy는 SessionStart 훅이 없기 때문에 별도 설치 필요\n```\n\n### Gemini CLI\n\n```bash\ngemini extensions install https://github.com/djfksjd/ir-search\npip3 install 'curl_cffi>=0.15'\n```\n\n확장(`gemini-extension.json`)이 `skills/` 아래 스킬을 자동 발견하고, `AGENTS.md`를 컨텍스트로 로드합니다.\n\n### Cursor / Grok Build (x.ai)\n\n둘 다 공용 스킬 디렉토리(`~/.agents/skills/`)와 `~/.claude/skills/`를 읽습니다. clone 한 번이면 됩니다:\n\n```bash\nmkdir -p ~/.agents/skills\ngit clone https://github.com/djfksjd/ir-search.git ~/.agents/skills/ir-search\npip3 install 'curl_cffi>=0.15'\n```\n\n(루트의 `SKILL.md` 심링크 덕분에 clone 디렉토리가 그대로 스킬 폴더로 인식됩니다. Grok Build는 Claude Code 플러그인도 그대로 읽으므로, 위 Claude Code 방식으로 설치했다면 추가 작업이 필요 없습니다.)\n\n### 클래식 (Claude Code 스킬로 직접 clone)\n\n```bash\ngit clone https://github.com/djfksjd/ir-search.git ~/.claude/skills/ir-search\npip3 install 'curl_cffi>=0.15'\n```\n\n## 사용\n\n어느 에이전트에서든 프로젝트 폴더를 연 상태로:\n\n```\n우리 아이템에 맞는 지원사업 전수조사 해줘\n```\n\n또는 `/ir-search`(Claude Code). 에이전트가 폴더에서 프로젝트 정보를 읽고, 비는 항목(창업 단계·지역·필요한 것)만 물어본 뒤 조사를 시작합니다.\n\n**반복 사용을 전제로 설계되어 있습니다:**\n\n- 프로필은 프로젝트 폴더의 `ir-search-profile.md`에 저장 — 다음 조사부터는 다시 묻지 않고 \"바뀐 것 있나요?\" 한 번만 확인\n- 재조사 시 직전 결과와 자동 비교(diff)해서 **신규 공고 / 마감 변경 / 종료된 기회**만 증분 보고 — 250건+를 매번 다시 읽지 않습니다\n\n크롤러는 단독으로도 쓸 수 있습니다(플러그인 디렉토리 기준 경로):\n\n```bash\npython3 skills/ir-search/scripts/scope_plan.py --preset recommended -o scope-plan.json\npython3 skills/ir-search/scripts/kstartup_crawl.py list -o all.jsonl            # K-Startup 모집중 전수\npython3 skills/ir-search/scripts/kstartup_crawl.py detail 178481 -o details/    # K-Startup 상세공고\npython3 skills/ir-search/scripts/sources_crawl.py list bizinfo -o biz.jsonl     # 기업마당\npython3 skills/ir-search/scripts/sources_crawl.py list all -o sources.jsonl     # 4개 소스 일괄\npython3 skills/ir-search/scripts/sources_crawl.py detail <URL> -o details/      # 소스 무관 상세공고\n```\n\n## 구성\n\n```\nir-search/\n├── install.sh                        # 한 줄 설치 스크립트 (호스트 자동 감지)\n├── plugin.json                       # agy 마커 (name/version/description)\n├── gemini-extension.json             # Gemini CLI 확장 매니페스트\n├── AGENTS.md                         # 공유 에이전트 가이드 (전 호스트)\n├── SKILL.md → skills/ir-search/SKILL.md   # 심링크 — clone 디렉토리를 그대로 스킬 폴더로 쓰기 위한 호환 계층\n├── .claude-plugin/                   # Claude Code 매니페스트\n│   ├── plugin.json                   # + SessionStart 훅(curl_cffi 자동설치) 인라인\n│   └── marketplace.json              # claude plugin marketplace add 지원\n├── .codex-plugin/\n│   └── plugin.json                   # Codex 매니페스트 (+ interface)\n├── .agents/skills → skills          # 심링크 — Cursor·Grok Build 등 공용 표준\n├── .cursor/skills → skills          # 심링크 — Cursor 프로젝트 스킬\n├── .gemini/skills → skills          # 심링크 — Gemini CLI 워크스페이스 스킬\n└── skills/\n    └── ir-search/\n        ├── SKILL.md                  # 워크플로 (프로필 → 전수수집 → 전수검토 → 상세검증 → 3분류 보고)\n        ├── scripts/\n        │   ├── scope_plan.py         # 조사 범위·소스 상태·fingerprint 실행계획(오프라인)\n        │   ├── kstartup_crawl.py     # K-Startup 크롤러 (API 우선, 키 없으면 크롤 폴백)\n        │   ├── kstartup_api.py       # K-Startup 공식 오픈API 클라이언트 (data.go.kr)\n        │   ├── sources_crawl.py      # 기업마당·NIPA·KOCCA·SMTECH 크롤러\n        │   ├── attach_download.py    # 첨부 다운로드 공용 (robots 준수·해시)\n        │   ├── run_manifest.py       # run_manifest.json 공용 기록기 (커버리지)\n        │   └── diff_surveys.py       # 재조사 증분 비교 (신규/마감변경/종료)\n        └── references/sources.md     # 소스 레지스트리 (검증된 접근법 + 보조 소스)\n```\n\n## 주의\n\n- 공고 내용(마감일·자격요건·금액)은 수시로 바뀝니다. **신청 전 반드시 접수기관에 확인**하세요. 이 스킬의 산출물은 조사 시점의 공고 텍스트 기준입니다.\n- 공개 공고 페이지만 접근하며 요청 간 지연을 둡니다. 대상 사이트의 이용약관을 존중해 주세요.\n\n## License\n\nMIT\n",
  "bytes": 8679,
  "sha": "476d146b63575c9a2a193c5c51dd2b4ee79f5148afff80fba48992c6ae07cbdf",
  "repo_slug": "djfksjd/ir-search",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_djfksjd_ir_search_1937d865/readme"
}