k-skill 复合技能实战:biz-health-check 用单一 사업자등록번호 交叉检索 6 类公共数据生成经营实态尽调报告

k-skill 复合技能实战:biz-health-check 用单一 사업자등록번호 交叉检索 6 类公共数据生成经营实态尽调报告 k-skill 复合技能实战biz-health-check 用单一 사업자등록번호 交叉检索 6 类公共数据生成经营实态尽调报告【免费下载链接】k-skill한국인을 위한 스킬 모음집 - 에이전트를 한국인으로项目地址: https://gitcode.com/GitHub_Trending/ks/k-skillbiz-health-check 是 k-skill 仓库中的复合型composite技能只需一个韩国 사업자등록번호营业执照号10 位数字允许连字符加上商号/法人名与区域即可一次并发调用 6 个单项技能sibling skill的 helper把韩国国税厅、国民年金公团、金融委员会、调达厅国家采购署和地方行政公开的免费公共数据交叉比对输出一张「事实 来源 查询时间」式的实态尽调due diligence参考报告。读完本文你将掌握该技能的输入参数、CLI 用法、六段数据各自的路径与认证边界、降级容错设计以及从 biz_health_check.py 源码看出的内部装配原理可直接用于交易对手、委托人经营状态的批量核验场景。技能定位单一真源single source of truth的复合编排本技能的核心设计原则是复用而非重写它不自己实现任何数据源抓取逻辑而是以仓库固定目录布局为约定在运行时动态加载同仓库 6 个单项技能的 helper 脚本skill/scripts/helper.py并把它们包装成统一结构的 section。正如biz_health_check.py顶部注释所述이 복합 스킬은 같은 레포의 단품 스킬 helper들을 그대로 재사용한다(단일 진실원천)——所有数据语义、字段解析、错误处理都收敛在单项技能中复合技能只负责编排与汇总。六个 section 的映射关系源码_SIBLINGS常量见 biz_health_check.py报告 section数据内容单项技能访问路径是否需要 API 密钥nts_status国税厅营业状态계속/휴업/폐업·과세유형nts-business-registrationk-skill-proxy服务器端DATA_GO_KR_API_KEYnational_pension国民年金参保事业场参保人数·当月通知金额·月度时序national-pension-workplacek-skill-proxy服务器端DATA_GO_KR_API_KEYfsc_corp金融委员会法人概要代表·设立日·行业fsc-corporate-infok-skill-proxy服务器端DATA_GO_KR_API_KEYg2b_sanction调达厅当前有效的非正当制裁부정당제재g2b-sanctioned-supplierk-skill-proxy服务器端DATA_GO_KR_API_KEYtax_delinquency国税高额·惯犯欠税者名单对照nts-tax-delinquency直接免认证无localdata地方行政许可营业状态208 个行业营业/停业/闭业·经营年限localdata-business-status直接免认证无其中 4 个 proxy 段依赖运营服务器持有的DATA_GO_KR_API_KEY공공데이터포털 公数据门户密钥2 个免认证段欠税名单、许可营业状态则完全在用户本机直接工作连额外 Python 依赖都不需要helper 只用标准库。另外如果要一并核验该企业是否属于 KOSPI/KOSDAQ 等上市公司并需要查阅其公开披露公告공시文档建议配合现有k-dart技能一起使用——这属于本技能之外的补充手段biz-health-check 本身不聚合 DART 数据。输入参数与组合规则复合技能在 CLI 层面是一个 Python 脚本scripts/biz_health_check.py其参数解析器build_parser()见 biz_health_check.py暴露以下输入参数类型说明影响的 sectionb_no位置参数字符串사업자등록번호 10 位数字允许连字符自动去除非数字字符nts_status、g2b_sanction并参与国民年金/金融委交叉核验--name字符串商号·法人名national_pension、fsc_corp、tax_delinquency、localdata--region字符串市郡区시군구如제주제주시、서울종로구localdata邻居事业场许可查询--industry可重复指定许可行业多次传参生效actionappend缺省为 음식점·카페·숙박餐饮·咖啡·住宿localdata--proxy-base-url字符串覆盖 proxy 基础地址对应 env 中的KSKILL_PROXY_BASE_URL全部 proxy 段在run()函数biz_health_check.py中输入会先经过规范化b_no用正则\d{10}强校验连字符自动剥离不合法直接抛ValueErrorname会strip()后空串归一为None。之后每个 section 的触发条件独立判断nts_status与g2b_sanction仅在提供b_no时执行否则标unavailable并注明「사업자등록번호가 없어 … 생략」national_pension与fsc_corp仅在有--name时执行国民年金数据公开时商号末尾数字是脱敏的必须靠商号匹配tax_delinquency仅在有--name时执行欠税名单不收录 사업자등록번호只能按商号/法人名检索同名商号需用户自行判断localdata需要--name与--region同时提供因为全国通档单行业就有数百 MB必须按市郡区定位下载且该数据源同样不含 사업자등록번호。也就是说报告不追求六段全绿输入什么就查什么缺参的段被显式标记为「省略」而不是报错或伪造。CLI 实战示例文档给出的两条可直接运行的命令通过nomadamas/k-skillCLI 执行# 基础用法只给号码 法人名走 4 个 proxy 段 欠税名单缺 region 故许可段省略 npx -y nomadamas/k-skill0 exec biz-health-check scripts/biz_health_check.py -- 124-81-00998 --name 삼성전자 # 扩展用法连邻居事业场许可营业状态一起查 npx -y nomadamas/k-skill0 exec biz-health-check scripts/biz_health_check.py -- --name 호텔샬롬 --region 제주제주시 --industry 숙박업注意第二条命令中位置参数b_no被整体省略因此国税厅状态与调达制裁段会按设计降级为unavailable 省略原因而国民年金、金融委、欠税、许可四段照常执行——这正是「单段失败不阻塞全局」的容错设计在输入层面的体现。若要连许可段一起覆盖可以组合--region与多个--industrynpx -y nomadamas/k-skill0 exec biz-health-check scripts/biz_health_check.py -- 124-81-00998 --name 삼성전자 --region 수원팔달구 --industry 일반음식점 --industry 카페从实现上看CLI 入口main()biz_health_check.py在参数校验失败时向 stderr 输出 JSON{error: ...}并返回退出码 1成功时把整个报告以ensure_asciiFalse, indent2的 JSON 打印到 stdout退出码 0方便直接管道给其他 Agent 或解析器。输出结构并行六段的事实报告run()的返回值是一个统一 envelope{ query: {b_no: 1248100998, name: 삼성전자, region: null, industries: null}, generated_at: 2026-09-17T05:09:5609:00, disclaimer: 무료 공공 데이터의 사실만 병렬한 실사 리포트다. 점수·등급·위험 판정은 하지 않으며, 동일성·해석은 사용자가 판단한다., sections: { nts_status: {provider: 국세청 사업자등록 상태, skill: nts-business-registration, looked_up_at: ..., status: ok, data: {}}, national_pension: {provider: 국민연금 가입 사업장, skill: national-pension-workplace, looked_up_at: ..., status: ok, data: {}}, fsc_corp: { ...: ..., status: ok, data: {}}, g2b_sanction: { ...: ..., status: ok, data: {}}, tax_delinquency: { ...: ..., status: ok, data: {}}, localdata: { ...: ..., status: unavailable, data: null, note: 동네 사업장 인허가 조회는 상호(--name)와 지역(--region)이 함께 필요.} } }每个 section 统一携带provider人类可读的段名、skill对应单项技能目录名、looked_up_at韩国标准时 KST 查询时刻ISO 格式、statusok或unavailable、data单项技能响应原文失败时为null以及失败时的note。外层还有query回显、整份报告的生成时间generated_at与免责声明disclaimer。值得强调的是设计原则中「不产出解释性标签」报告绝不计算分数、等级或「위험风险」等结论性词汇六段只是把事实 来源 查询时刻并排呈现由用户自行做经营判断。文档原文将这一点列为最高优先级的设计原则Design principles 第一条。六段数据源的纵深解读国税厅营业状态nts_statusproxy对应nts-business-registration通过 k-skill-proxy 的POST /v1/nts-business/status调用 공공데이터포털 的「국세청_사업자등록정보 진위확인 및 상태조회」服务。返回 계속/휴업/폐업 状态与 과세유형。用户侧无需本地密钥上游DATA_GO_KR_API_KEY只放在 proxy 服务器若使用自建 proxy通过KSKILL_PROXY_BASE_URL指定留空则默认走 hosted proxy。该技能还提供validate진위확인接口涉及代表姓名、开业日期等个人信息转发本复合技能只走status路径。单次最多 100 件查询失败的典型表现是400 bad_request格式错误或503 upstream_not_configured服务器缺密钥。国民年金参保事业场national_pensionproxy对应national-pension-workplace走GET /v1/national-pension/workplace调 공공데이터포털 的「국민연금공단_국민연금 가입 사업장 내역」(3046071, V2)。公开范围有明确边界사업자번호只公开前 6 位后位脱敏所以商号是必需输入候选可能多个此时selected_candidate: null复合技能会把候选列表原样返回而不武断断言同一性。数据以法人及一定规模以上事业场为主小规模/个体工商户可能不在公开范围内。该数据源按 자료생성년월 提供参保人数、当月通知金额及月度时序用于回答「这家公司真的有员工吗」类问题。金融委法人概要fsc_corpproxy对应fsc-corporate-info走GET /v1/fsc/corp-outline调「금융위원회_기업기본정보」(15043184,getCorpOutline_V2)。注意限制upstream 检索参数只有crno法人登记号 13 位与corpNm法人名不支持按 사업자등록번호 单独查询因此本复合技能以法人名发起查询再拿返回字段中的bzno与输入的b_no做交叉核验完全一致时分离出精确候选不一致或缺bzno时标注「交叉核验不可用」。空结果通常意味着法人名不一致需要换写法重试。调达厅非正当制裁g2b_sanctionproxy对应g2b-sanctioned-supplier走GET /v1/g2b/sanctioned-supplier调「조달청 나라장터 사용자정보」(15129466,getUnptRsttCorpInfo02)以inqryDiv1做 사업자등록번호 精确匹配返回查询时刻当前有效的制裁制裁起止日、制裁机构、合同法区分、制裁依据法律等 upstream 原文字段。边界要认清这不是历史记录查询——已到期/已解除的制裁、未登记 나라장터 或个人的制裁不提供total_count: 0仅表示当前无有效制裁。国税欠税名单tax_delinquency免认证直接对应nts-tax-delinquency不经过 proxy用户本机直接抓取 국세청 网站的「고액·상습체납자 명단공개」国税基本法第 85 条之 5公开检索页helper 仅用标准库。法人名单按法人名检索公开年度·法人名·代表·行业·所在地·总欠税额·税目·欠税件数·欠税要旨个人名单按商号检索。关键同一性边界名单资料不含 사업자등록번호只能做字符串匹配后列出候选的公开事实同名商号由用户自行判定。因为是 HTML 抓取若页面结构变化导致标记失配会立即降级为unavailable并给出手动确认 URL。地方行政许可营业状态localdata免认证直接对应localdata-business-status用户本机直接从file.localdata.go.kr拉取 행정안전부 的 지방행정 인허가데이터LOCALDATA区域 CSV需要 Referer、CP949 编码支持全部208 种许可行业可用韩文名如「약국」「숙박업」「일반음식점」指定多行业可重复传--industry。返回营业状态영업/휴업/폐업、详细营业状态、许可日期经营年限、闭业日期、业态区分、道路名/地番地址、数据更新时刻。同样不含 사업자등록번호只能按商号字符串匹配数据每日更新、以 2 天前为基准。下载的 CSV 在本地做 1 日缓存以省流量。缺省行业为 음식점·카페·숙박与文档「생략 시 음식점·카페·숙박」一致。降级与容错段级失败不影响全局这是本技能最重要的工程特性也是源码边界契约boundary contract的体现。_section()biz_health_check.py把「加载 helper、调用 helper、解析结果」三个阶段分别用 try/except 隔离加载失败importlib动态加载单项技能脚本抛异常或目标路径不存在如只单独安装了部分技能该段降级为unavailable note区分「import 失败」与「helper 未找到跳过」两种文案调用失败单项 helper 抛任何异常都捕获后降级为unavailablenote 记录异常类型与消息结果回执若 helper 返回 dict 且含status: unavailable或error键则透传为unavailable否则判ok。所有失败都带着looked_up_at时间戳留在报告里绝不整体抛错。因此面向用户的文档将失败模式概括为两条一是段级降级会如实留在报告中而非整体失败二是 proxy 段若出现503/502通常指向运营服务器缺DATA_GO_KR_API_KEY或该服务未申请利用활용신청此时应参考对应单项技能文档排查——例如国民年金段 502 意味着服务器密钥未申请 3046071 服务金融委段 502 对应 15043184调达段 502 对应 15129466。前置条件、密钥与合法运营边界运行本技能的前置条件包括可联网环境、python3、同仓库的 6 个单项技能目录复合技能按仓库布局repo/skill/scripts/helper.py定位路径计算见_REPO_ROOT定义需要 proxy 段时还需能访问 hosted 或 self-host 的k-skill-proxy。密钥方面用户侧没有任何必需 secret——4 个 proxy 段的密钥只存在于运营服务器的DATA_GO_KR_API_KEY2 个免认证段在用户本机无需任何密钥即可直接工作。合法安全运营标准文档「법적 안전 운영 기준」也是 Agent 使用时的硬约束需严格把握用途限定仅用于本人尽调与交易确认目的不得运营成针对特定个体工商户的信用评估、评级、名单化服务只组合已公开信息各段仅把官方已公开信息按查询时刻原样并行呈现不收集非公开信息、不制造新的个人信息批量采集先问目的对重复、大批量查询特定事业主列表的请求必须先确认利用目的与法律依据依据不明不推进结果最小化保存报告仅限请求时点参考不长期存储或再分发须知个体工商户结果可能包含公开范围内的代表姓名、欠税额等个人信息需向用户明示。与单项技能文档的衔接每个 section 的官方数据源与故障排查细节以对应单项技能的 features 文档为准即docs/features/nts-business-registration.md、docs/features/national-pension-workplace.md、docs/features/nts-tax-delinquency.md、docs/features/fsc-corporate-info.md、docs/features/g2b-sanctioned-supplier.md、docs/features/localdata-business-status.md整合的「사업자 실사」来源清单见 docs/sources.md사업자 실사 (biz-health-check 스킬군) 条目。复合技能自身只做编排不重复实现任何上游解析——这既是「单一真源」的意义也是排障时「问题永远先落到单项技能文档」的原因。总而言之biz-health-check 的定位是一把「六合一」的公共数据尽调扳手参数驱动、段级容错、事实先行、不产结论适合作为 Agent 在与具体公司交易、接单或委托前快速生成一份结构化的公开信息参考视图。【免费下载链接】k-skill한국인을 위한 스킬 모음집 - 에이전트를 한국인으로项目地址: https://gitcode.com/GitHub_Trending/ks/k-skill创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考