
人工智能AI 技能【免费下载链接】k-skill한국인을 위한 스킬 모음집 - 에이전트를 한국인으로项目地址https://gitcode.com/GitHub_Trending/ks/k-skill点击查看免费下载导读本篇文章围绕 k-skill 仓库中的store-longevity-radar技能展开讲解如何基于公共数据门户공공데이터포털发布的「소상공인시장진흥공단_상가(상권)정보」小商工人市场振兴公团·店铺商圈信息公开文件以无认证方式按行业代码与店名关键词提取全国店铺全量数据并通过「当前快照 × 历史快照」的店名与坐标匹配筛选出N 年前就已存在、至今仍在营业的长寿店铺。读完本文你将掌握该技能的两个核心子命令current与match的完整用法、全部参数语义、数据缓存与验证镜像机制以及其诚实边界——它提供的是首次观测时间下界而非开业日期。技能定位查数据不做解读store-longevity-radar是一个纯粹的查询型lookup技能。它的职责边界非常清晰从公共数据中取数、按规则匹配、如实汇报不产生任何评分、等级之类的解读标签。这一点在 instruction.md 的 Design principles 中写得很明确只呈现快照中存在的事实 匹配方法把解释权留给用户。它在 k-skill 技能体系中承担的具体工作有两项current— 从最新季度快照全国 17 个市道 zip 包中按行业分类代码/店名关键词提取店铺全量清单。出现在快照中即被视为该时间点仍在营业的数据。match— 将用户持有的历史快照 CSV例如 2019 年国家重点数据分发版与当前数据按店名、坐标匹配提取过去存在且现在依然存在的长寿店铺。默认行业是文具·玩具类G21302文具/绘画用品零售业、G21306玩具零售业但通过参数可以指定任意行业。数据来源与诚实边界必须向用户告知该技能的数据基础是公共数据门户数据集「소상공인시장진흥공단_상가(상권)정보」数据集 ID15083033非会员即可下载。整套工具与数据的下载、验证、缓存逻辑均在本仓库的 scripts/store_longevity_download.py 与 scripts/store_longevity_radar.py 中实现。技能文档特别强调了三项诚实局限使用者在交付结果时必须一并告知用户数据中没有 사업자등록번호营业执照注册号和 개업일开业日期。因此推算出的只是首次观测时间下界即该时点它已经存在绝不是开业日期。任何把下界包装成店龄/开业时间的说法都是越界解读。改名、迁址的店铺会从匹配中漏掉导致少算。同名店铺靠坐标距离默认 150 米区分但即便如此也不做绝对断言。确凿的闭店判定必须等拿到 사업자등록번호 后交给nts-business-registration国税厅状态查询完成若是许可制行业则用localdata-business-status查看许可日期经营年限。设计原则缓存、验证镜像、零标签instruction.md中总结了三条设计原则全部有源码佐证不做解释标签不产出分数、等级等推断性结论只记录快照存在事实与匹配方式。先直连公共文件服务器失败再走验证镜像优先在用户机器上直接调用无认证的公共文件服务器当直连超时或受阻时自动回退到由 GitHub Actions 校验后存入 R2 的公开镜像。镜像不是 API 代理而是公共原始数据的经过验证的对象副本。严格验证后才提升为缓存镜像 ZIP 必须通过latest.json中声明的文件大小与 SHA-256 校验外加 ZIP CRC 与 CSV 存在性验证才允许提升为本地缓存。本地 1 日缓存最新 zip 达数百 MB因此按~/.cache/k-skill/store-longevity-radar/路径缓存 1 天CACHE_TTL 24 * 3600避免重复下载。缓存与直连→镜像回退的完整实现位于 store_longevity_download.pydownload_latest_zip()先检查缓存命中未命中则通过discover_atch_file_id()从数据集页面解析文件 ID 后直连下载写入.part临时文件并调用validate_snapshot_zip()验证archive.testzip()检查损坏成员 确认包含 CSV任一步骤抛出TimeoutError / URLError / OSError / ValueError / BadZipFile时自动转调download_mirror_zip()后者按 manifest 中的size_bytes与sha256逐项核对全部通过才os.replace提升为正式缓存否则输出unavailable状态的 JSON 并说明双侧失败原因。何时使用该技能文档给出的典型触发场景帮我拉一份现在还在营业的老文具店/五金店/唱片店清单给我这个行业全国店铺的全量数据含地址、坐标找出 10 年前就存在、现在还开着的店需要历史快照 CSV前置条件与凭据要求需要联网Python 3仅使用标准库无需第三方依赖store_longevity_radar.py头部注释明确声明 stdlib only。需要技能自带的 scripts/store_longevity_radar.py 辅助脚本。使用match还需用户持有或另行获取的历史快照 CSV——因为公共数据门户目前只分发最新季度历史版本需要从教学/研究用镜像等处获取。凭据要求无。整个流程是无认证公开文件下载。参数详解该技能全部通过 CLI 参数控制核心参数及其语义如下与argparse实现一一对应参数适用子命令说明--codecurrent / match商圈行业小分类代码可重复指定默认G21302G21306。match其他行业时若代码体系变更需同时重复指定当前代码与历史代码--keywordcurrent / match店名关键词可重复指定默认 문구/문방구/완구/장난감补充覆盖行业代码之外的店铺--sidocurrent / match市道名过滤如서울、부산可重复省略则为全国--zipcurrent / match已下载的最新 zip 路径省略则自动下载缓存--old-csvmatch 专用必填历史快照 CSV 路径可重复指定自动检测|/,分隔符--max-distmatch 专用同名店铺允许的坐标距离米默认150--out/--formatcurrent / match输出文件路径与格式默认 csv可选 json省略--out时向 stdout 输出 JSONKSKILL_STORE_LONGEVITY_MIRROR_MANIFEST_URL环境变量验证镜像 manifest 覆盖地址默认指向 R2 上的latest.json源码中可见--sido是子字符串过滤器args.sido and not any(s in info.filename for s in args.sido)因此在 zip 内 CSV 文件名包含对应市道名时生效--format的可选项被choices[csv, json]严格约束。CLI 实战示例技能通过 k-skill CLI 统一执行辅助脚本不要假定仓库相对路径或已安装技能路径标准写法为npx -y nomadamas/k-skill0 exec store-longevity-radar scripts/file -- args# 全国文具·玩具当前全量 → CSV npx -y nomadamas/k-skill0 exec store-longevity-radar scripts/store_longevity_radar.py -- \ current --out 전국_문구완구.csv # 仅首尔·釜山与过去 2019 年快照匹配提取长寿店铺 npx -y nomadamas/k-skill0 exec store-longevity-radar scripts/store_longevity_radar.py -- \ match --sido 서울 --sido 부산 --old-csv 상가업소정보_201912_01.csv --out 장수점포.csv # 其他行业示例五金店店名关键词 npx -y nomadamas/k-skill0 exec store-longevity-radar scripts/store_longevity_radar.py -- \ current --code NONE --keyword 철물 --out 전국_철물점.csv第三个例子值得注意--code NONE配合--keyword 철물表示完全放弃代码过滤、纯靠店名关键词圈定店铺——这是行业代码不可用时的补刀手段。如需让其他工具使用文件系统路径可用npx -y nomadamas/k-skill0 path store-longevity-radar relative-path解析资源路径。推荐工作流文档给出四条执行步骤构成完整的端到端操作链路先跑current拿到目标行业全量。zip 自动下载可能耗时数分钟需提前告知用户直连优先、失败自动切换至带大小与 SHA-256 声明的验证镜像。有历史快照 CSV 就跑match提取长寿店铺。默认文具·玩具代码下helper 会自动把 2022 年以前的旧代码D08A01/D04A01/D04A02一并纳入见下文源码级原理其他行业需用--code同时指定新旧代码。交付结果时一并摘要上述诚实局限。需要后续确认时引导用户使用nts-business-registration闭店判定、localdata-business-status许可经营年限、kakao-map电话与当前收录情况。源码级原理匹配算法与历史代码映射store_longevity_radar.py的核心逻辑是match_longevity()其匹配策略分两级并给每条结果记录매칭방법匹配方法第一级상가업소번호店铺编号精确命中。历史快照中按상가업소번호建索引当前店铺编号能查到即命中方法标记为상가업소번호。第二级规范化店名 坐标距离。norm_name()先剔除店名中的空白、括号、连字符、·、、等噪声字符再剥掉结尾的점/본점/지점后缀按规范化店名分桶候选店与当前店的距离用经纬度近似换算经度 × 88800、纬度 × 111000 的欧氏距离计算落入--max-dist默认 150 米且距离最近者命中方法标记为상호좌표(Nm)。经纬度缺失或非法时返回无穷远自然被排除。历史代码自动映射由historical_codes()实现LEGACY_CODES_BY_CURRENT将G21302展开为D08A01将G21306展开为D04A01、D04A022022 年前旧代码体系。测试 tests/test_store_longevity_radar.py 用test_default_codes_expand_to_matching_legacy_codes断言默认代码会展开为完整的 5 个代码集合并用test_custom_code_does_not_include_default_legacy_codes证明自定义代码不会被默认旧代码污染——自定义行业必须自己同时指定新旧代码。行级过滤由row_matches()完成行业代码命中即通过否则检查店名是否包含任一关键词。当前快照的提取在extract_current()中按--sido过滤 zip 内 CSV 文件历史 CSV 的分隔符由load_old()读前 4KB 头部、统计|与,出现次数自动判定。输出环节write_out()支持 CSV带 BOM 的utf-8-sig兼容 Excel与 JSON 两种格式向 stdout 打印{count: ..., saved: ...}之类的机器可读摘要。验证镜像的完整生命周期镜像并非手工维护而是由两个脚本闭环支撑scripts/store_longevity_source.py 负责探测源解析数据集页中的FILE_digits文件 ID失败时可经r.jina.ai渲染页兜底并实现远端 manifest 的读取与校验。scripts/store_longevity_mirror.py 负责发布准备比对远端latest.json中的source_file_id决定是否需要更新用 curl 带重试参数拉取源 zip随后做三层验证——ZIP 完整性testzip()、是否含 CSV、CSV 表头是否覆盖상가업소번호/상호명/상권업종소분류코드/경도/위도等必需列最后生成包含size_bytes、sha256、object_url等字段的 manifest 供 R2 发布。这样客户端在回退镜像时才能拿到可信的大小与哈希做逐字节校验。失败模式与降级策略技能文档明列了六类失败场景及对应处置理解它们有助于排查数据集页文件 ID 发现失败→ 输出unavailable并附人工确认 URL季度改版时页面结构可能变化。公共数据门户连接/下载超时或 HTTP 失败→ 自动回退到验证镜像。镜像 manifest/ZIP 访问失败、大小或 SHA-256 不一致、ZIP 损坏→ 缓存不提升输出同时说明直连与镜像双侧原因的unavailable。下载中途中断→ 只留下.part文件、不提升为缓存重新执行会重新下载。match未指定历史 CSV→argparse报错--old-csv在源码中被声明为requiredTrue并告知用户如何获取历史数据。匹配结果为 0 条→ 通常是行业代码与快照代码体系不一致建议改用--keyword单独重试。上述第一条与第三条的unavailable行为均有测试保障DownloadFailureTest.test_timeout_reports_unavailable_json断言超时场景下进程以{status: unavailable, note: ...}退出test_direct_timeout_falls_back_to_verified_mirror用 mock 网络完整模拟直连超时 → 读取 manifest → 校验大小与 SHA-256 → 校验 ZIP → 提升缓存的整条降级链路。官方数据面与相关技能数据集页与下载https://www.data.go.kr/data/15083033/fileData.do下载 URL 形如https://www.data.go.kr/cmm/cmm/fileDownload.do?atchFileIdFILE_IDfileDetailSn1无认证。验证镜像 manifesthttps://pub-c974105a1e4840bcaa264cb2a55d99a1.r2.dev/store-longevity-radar/latest.json。相关技能下游接力nts-business-registration国税厅企业状态查询、localdata-business-status许可制行业经营年限、kakao-map电话与当前收录。完成判定Done when技能在以下条件全部满足时才视为完成current的结果条数与输出文件路径已上报使用match时按匹配方法店铺编号 / 店名坐标分别上报条数已向用户明确告知结果是首次观测时间下界而非开业日期。附技能元数据与使用入口store-longevity-radar在 skill.json 中登记为category: business、locale: ko-KR、phase: v1许可证为 MIT。使用前建议先运行npx -y nomadamas/k-skill0 update确保 CLI 与各编码代理技能安装含~/.agents/skills保持最新随后通过npx -y nomadamas/k-skill0 instruct store-longevity-radar获取随运行时环境自动裁剪的最新指令用npx -y nomadamas/k-skill0 files store-longevity-radar查看捆绑的辅助文件清单。执行任何涉及支付、消息/邮件发送、最终提交、取消、账户变更或公开发布等不可逆外部副作用之前必须先以clarify向用户确认确切目标、金额/载荷与影响获批后方可执行。赞分享人工智能AI 技能【免费下载链接】k-skill한국인을 위한 스킬 모음집 - 에이전트를 한국인으로项目地址https://gitcode.com/GitHub_Trending/ks/k-skill点击查看免费下载相关推荐store-longevity-radar 技能实战基于公共数据快照的韩国长寿店铺全量提取与历史匹配store longevity radar 技能实战基于公共数据快照的韩国长寿店铺全量提取与历史匹配 导读 store longevity radar 是人工智能AI 技能用 store-longevity-radar 从全国商区快照中提取店铺全量数据并匹配“长寿店铺”用 store longevity radar 从全国商区快照中提取店铺全量数据并匹配“长寿店铺” store longevity radar 是 k skil人工智能AI 技能store-longevity-radar 实战指南用公共数据快照提取全国店铺全量与“长寿店铺”匹配k-skill 技能store longevity radar 实战指南用公共数据快照提取全国店铺全量与“长寿店铺”匹配k skill 技能 导读 store longevi人工智能AI 技能创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考