Install any skill in seconds. Free to start, no credit card required.
Get Started Free →대법원 인터넷등기소(IROS, iros.go.kr)에서 법인·부동산 등기부등본(등기사항증명서)을 여러 건 일괄 발급할 때 안전한 작업 순서와 로컬 자동화 방법을 안내합니다. 로그인·인증·결제는 사용자가 브라우저에서 직접 처리하고, 본 스킬은 장바구니 담기· 결제 후 열람·저장·종합 리포트 생성을 보조합니다. 다음과 같은 요청 시 반드시 이 스킬을 사용하세요: - "법인등기부등본 100개 한번에 떼야 해", "회사 100개 등기부 정리해줘" - "고객사 등기부등본 일괄 발급", "실사 대상 법인 등기 묶음 처리" - "인터넷등기소 자동화", "iros.go.kr 일괄 발급", "법인등록번호로 등기 받기" - "부동산 등기부등본 100건", "주소 목록으로 부동산 등기 한꺼번에" - "TouchEn nxKey", "공동인증서 등기 발급", "법인 결제 페이지당 10건" - 사업자등록번호 → 법인등기 매핑, 다운로드한 등기 PDF로 종합 리포트 만들기
.claude/skills/modu-ai-iros-registry-automation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 36% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 33% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 59% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 46% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 48% | 0% |
대법원 인터넷등기소(IROS)에서 법인·부동산 등기부등본을 묶음 단위로 발급해야 할 때, 사용자가 직접 로그인·결제하는 흐름 안에서 장바구니·열람·저장을 안전하게 보조합니다. 실사·법무 검토·법인 일괄 관리에 사용합니다.
> 본 스킬은 NomaDamas/k-skill (MIT) 경유 포팅이며, 원 저작자는 challengekim/iros-registry-automation (MIT) 참고 구현입니다. cowork 컨벤션을 입혀 정리한 가이드이며, 어트리뷰션은 프로젝트 루트 NOTICE.md에 기록됩니다.
사용: 법인 30건 이상 일괄 등기 발급, 고객사 실사·KYC, 부동산 100건 단위 등기 정리, 사업자번호 기반 법인정보 매핑, 다운로드 PDF로 종합 리포트 작성.
사용 금지: 단건 등기(브라우저에서 직접 발급), 권리관계 분석·법률 의견, 등기 위조·변조, 발급 결과를 법적 효력으로 단정.
bashgit clone https://github.com/challengekim/iros-registry-automation.git cd iros-registry-automation git checkout 7c6924b2ff88d693a12556659188cb91041e5097 python3 -m venv .venv && source .venv/bin/activate pip install -r requirements.txt playwright install chromium cp config.json.example config.json
업스트림 핀(SHA)을 변경할 때는 신뢰 경계가 바뀌므로 새 upstream diff를 검토하고 같은 PR에서 갱신합니다.
법인등록번호·상호명·주소·동호수 등 민감 정보는 공개 저장소·PR·테스트 로그에 절대 넣지 않습니다.
bashworkdir="$(mktemp -d "${TMPDIR:-/tmp}/iros-registry.XXXXXX")" chmod 700 "$workdir" mkdir -p "$workdir/downloads" "$workdir/logs" "$workdir/output" "$workdir/tmp-downloads"
법인 입력 예시 ($workdir/corp-input.json):
json{ "1101111234567": "예시 주식회사", "1101117654321": "샘플 주식회사" }
config.json은 저장소에 커밋하지 않는 로컬 파일로 두고, 모든 민감 입력·로그·산출물 경로를 $workdir 아래로 돌립니다 (corpnum_list, companies_list, realty_list, excel_path, save_dir, pdf_dir, report_output, cart_log, download_log 등).
법인등록번호가 있으면 정확도가 높은 iros_cart_by_corpnum.py를 우선합니다. 상호명만 있으면 iros_cart.py를 사용하되 사명변경·특수문자 실패분은 법인등록번호로 재시도합니다.
bashpython iros_cart_by_corpnum.py # 또는 상호명 기반 python iros_cart.py
브라우저에서 결제대상목록 → 페이지당 10건 단위로 직접 결제 → 결제 완료 후 터미널에 Enter.
bashpython iros_download.py
저장 경로는 config.json의 save_dir = $workdir/downloads. 결제 전 companies_list가 $workdir/companies-input.json을 가리키는지 확인하면 FileNotFoundError를 예방합니다.
bashpython iros_cart_realty.py
결제·열람·다운로드는 IROS 웹 UI의 일괄 결제·일괄열람출력·일괄저장이 보통 더 빠르고 안전합니다. 필요할 때만 iros_download_realty.py를 검토합니다.
bashpython iros_wizard.py
메뉴: 법인 장바구니, 법인 결제 후 열람·저장, 부동산 장바구니, 부동산 결제 후 열람·저장, 사업자번호 → 법인정보 조회, PDF → 종합 리포트 엑셀 생성.
https://github.com/challengekim/iros-registry-automationmoai-business:consulting-brief — 실사 대상 법인 목록 정리moai-legal:legal-risk — 발급된 등기부등본 기반 법적 리스크 분석moai-office:xlsx-creator — 종합 리포트 Excel화challengekim과 참고 구현 링크를 포함했다.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 21,156 | 16,023 | -24% | 1 | 1 | 0% | 3,671 | 5,007 | +36% | 0 | 0 | — |
case-02 | fail→pass | 24,053 | 16,318 | -32% | 1 | 1 | 0% | 3,724 | 4,943 | +33% | 0 | 0 | — |
case-03 | fail→pass | 18,792 | 15,434 | -18% | 1 | 1 | 0% | 3,045 | 4,838 | +59% | 0 | 0 | — |
case-04 | fail→pass | 17,090 | 11,381 | -33% | 1 | 1 | 0% | 2,683 | 3,915 | +46% | 0 | 0 | — |
case-05 | pass→pass | 10,604 | 7,217 | -32% | 1 | 1 | 0% | 1,628 | 3,169 | +95% | 0 | 0 | — |
case-06 | pass→pass | 11,876 | 7,179 | -40% | 1 | 1 | 0% | 500 | 2,964 | +493% | 0 | 0 | — |
case-07 | pass→pass | 15,417 | 12,974 | -16% | 1 | 1 | 0% | 2,394 | 4,055 | +69% | 0 | 0 | — |
case-08 | fail→pass | 15,420 | 8,884 | -42% | 1 | 1 | 0% | 2,309 | 3,413 | +48% | 0 | 0 | — |
case-09 | fail→pass | 12,374 | 10,459 | -15% | 1 | 1 | 0% | 1,878 | 3,410 | +82% | 0 | 0 | — |
case-10 | fail→pass | 17,676 | 6,874 | -61% | 1 | 1 | 0% | 3,019 | 3,209 | +6% | 0 | 0 | — |
case-11 | pass→pass | 15,540 | 8,450 | -46% | 1 | 1 | 0% | 2,540 | 3,412 | +34% | 0 | 0 | — |
case-12 | fail→pass | 9,964 | 9,440 | -5% | 1 | 1 | 0% | 1,671 | 3,599 | +115% | 0 | 0 | — |
case-13 | fail→pass | 16,946 | 11,436 | -33% | 1 | 1 | 0% | 2,580 | 3,939 | +53% | 0 | 0 | — |
case-14 | pass→pass | 13,456 | 6,500 | -52% | 1 | 1 | 0% | 2,077 | 3,085 | +49% | 0 | 0 | — |
case-15 | pass→pass | 13,814 | 11,574 | -16% | 1 | 1 | 0% | 2,267 | 3,960 | +75% | 0 | 0 | — |
case-16 | fail→pass | 10,745 | 8,350 | -22% | 1 | 1 | 0% | 1,836 | 3,446 | +88% | 0 | 0 | — |
case-17 | fail→pass | 21,308 | 8,988 | -58% | 1 | 1 | 0% | 3,606 | 3,335 | -8% | 0 | 0 | — |
case-18 | fail→pass | 6,488 | 2,783 | -57% | 1 | 1 | 0% | 1,147 | 2,373 | +107% | 0 | 0 | — |
case-19 | fail→pass | 15,828 | 4,267 | -73% | 1 | 1 | 0% | 2,533 | 2,685 | +6% | 0 | 0 | — |
case-20 | fail→pass | 17,723 | 3,746 | -79% | 1 | 1 | 0% | 2,812 | 2,508 | -11% | 0 | 0 | — |
case-21 | fail→pass | 14,530 | 4,768 | -67% | 1 | 1 | 0% | 2,347 | 2,757 | +17% | 0 | 0 | — |
case-22 | fail→pass | 14,658 | 8,419 | -43% | 1 | 1 | 0% | 2,201 | 3,417 | +55% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +73 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.