genshin-data-generator
原神角色伤害计算器数据配置辅助工具。从游戏解包数据预处理精简数据,提供数据导出和检查工具,支持AI分析和生成data.json配置。
DeepseekModel
Curated skill
Quality Excellent · 78
v1.0.0
Get
https://deepseekmodel.com/api/download.php?id=kurarion-genshin-calc-claude-skills-genshin-data-generator-skill-md&format=skill
Download .skill
Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
name genshin-data-generator description 原神角色伤害计算器数据配置辅助工具。从游戏解包数据预处理精简数据,提供数据导出和检查工具,支持AI分析和生成data.json配置。 原神数据配置辅助工具 ⚠️ 核心理念 这个工具不会自动生成配置 。配置生成需要 AI 根据预处理后的数据进行推理、分析和判断。 工作流程 : 预处理 :将原始解包数据(25MB+)精简为核心数据(7MB) AI 分析 :AI 根据精简数据、游戏规则和代码逻辑进行推理 配置生成 :AI 生成符合 interface.ts 和 const.ts 规范的配置 ⚠️ 重要规则 1. 数据读取规则 永远不要直接读取 src/assets/genshin 以下的内容! 这些解包数据文件(avatar_map.json 12MB, weapon_map.json 13MB等)体积巨大,直接读取会: 占用大量上下文 导致处理缓慢 可能超出token限制 正确做法 :使用版本系统读取预处理后的数据(见下方"数据读取流程")。 1.1 数据读取流程(⚠️ 重要) fetch_version.py 是判断是否需要获取新数据的最权威工具。 推荐工作流程: 始终优先使用 fetch_version.py ,它会自动处理以下所有判断: 检查本地已有版本 比较远程最新版本 自动跳过已存在的版本 自动运行预处理 标准流程(推荐)⭐ # 步骤1:进入脚本目录 cd .claude/skills/genshin-data-generator/scripts # 步骤2:运行 fetch_version.py(它将自动判断并执行) # Windows 系统(使用 UTF-8 编码) $env :PYTHONIOENCODING= "utf-8" ; python3 fetch_version.py # Linux/Mac 系统 PYTHONIOENCODING=utf-8 python3 fetch_version.py # 步骤3:使用预处理数据进行配置生成 # 预处理数据已生成在 versions/[commit-id]/processed/ 目录中 # 直接读取对应的单独文件 # 获取最新版本的 commit ID COMMIT_ID=$( cat ../versions/metadata.json | grep -o '"latest": "[^"]*"' | cut -d '"' -f4) # 读取角色数据(预处理后的原始游戏数据) cat ../versions/ $COMMIT_ID /processed/characters/character_10000073.json # 读取武器数据 cat ../versions/ $COMMIT_ID /processed/weapons/weapon_11301.json # 读取 name_id_map.json(用于查找 ID) cat ../versions/ $COMMIT_ID /processed/name_id_map.json fetch_version.py 的自动判断逻辑 : 读取 versions/metadata.json 获取本地版本列表 调用 Git API 获取远程仓库最新的 N 个 commit(默认3个) 对比本地和远程,筛选出需要获取的新版本 按顺序处理每个新版本: 执行 GenshinData Go 工具获取原始数据 自动运行 preprocess.py 预处理数据 更新 metadata.json 如果所有远程版本都已存在,直接退出(无需重复获取) 手动检查(可选,用于调试) 如果需要手动检查版本状态(不推荐替代上述流程): # 检查 metadata.json 获取版本信息 cat .claude/skills/genshin-data-generator/versions/metadata.json # 输出示例: { "versions" : [ { "commitId" : "fe7c8592b2fd1cd3f285de5039285c99e641a5e1" , "shortId" : "fe7c859" , "timestamp" : "2026-02-19T17:59:23.975011Z" , "sourceUrl" : "https://gitlab.com/Dimbreath/AnimeGameData" , "branch" : "master" , "fetchSource" : "gitlab" , "stats" : { "characters" : 136, "weapons" : 227, "artifacts" : 42 } } ], "latest" : "fe7c8592b2fd1cd3f285de5039285c99e641a5e1" } 检查 stats 字段: 存在且包含数据 → 预处理已完成,可以直接使用 不存在或为空 → 需要运行 fetch_version.py 验证预处理结果 # 检查最新版本的 processed 目录 COMMIT_ID=$( cat ../versions/metadata.json | grep -o '"latest": "[^"]*"' | cut -d '"' -f4) ls ../versions/ $COMMIT_ID /processed/ # 应该看到: # - processed_data.json # - name_id_map.json # - characters/ (目录) # - weapons/ (目录) # - artifacts/ (目录) ⚠️ 重要提示 : 始终优先使用 fetch_version.py ,它会自动处理所有判断和预处理 latest 是 metadata.json 中的一个 字段 ,指向最新版本的 commit ID, 不是实际的文件夹 不要直接访问 versions/latest/ 路径,这个路径不存在 使用 --version latest 参数时,query_data_config.py 会自动解析 metadata.json 中的 latest 字段 Windows 系统务必设置 PYTHONIOENCODING=utf-8 环境变量,避免中文乱码 2. data.json 配置插入规则(⚠️ 极其重要) 在向 src/assets/init/data.json 添加新配置时,必须遵循以下规则: 使用 name_id_map.json 确定插入顺序 正确的做法 :通过 name_id_map.json 来确定新配置的插入位置。 读取 name_id_map.json :这个文件保持了与 data.json 完全相同的 ID 顺序 找到最接近的 ID :在 name_id_map.json 中查找与新 ID 最接近的现有 ID 插入位置正确 :新配置必须插入在最接近的现有 ID 之后 特殊 ID 之前 :不要插入到特殊 ID 之后(如旅行者的元素形态) 重要 : preprocess.py 现在会自动读取 data.json 来保持 name_id_map.json 与 data.json 的顺序一致。 查找方法示例 # 方法1:使用 query_data_config.py(推荐) cd .claude/skills/genshin-data-generator/scripts # Windows 系统 $env :PYTHONIOENCODING= "utf-8" ; python3 query_data_config.py -- type character --list # 方法2:直接读取 name_id_map.json # 首先获取最新版本的 commit ID cd .claude/skills/genshin-data-generator COMMIT_ID=$( cat versions/metadata.json | grep -o '"latest": "[^"]*"' | cut -d '"' -f4) # Windows PowerShell 替代方案 $COMMIT_ID = (Get-Content versions/metadata.json | Select-String '"latest"' | ForEach-Object { $_ -replace '.*"latest": "(.*?)".*' , '$1' }) # 然后读取对应版本的 name_id_map.json cat versions/ $COMMIT_ID /processed/name_id_map.json | python -c " import json, sys data = json.load(sys.stdin) char_ids = list(data['characters'].keys()) print('最后10个角色ID:') for cid in char_ids[-10:]: print(f' {cid}: {data[\"characters\"][cid][\"en\"]}') " # Windows PowerShell 替代方案(使用 UTF-8) $env :PYTHONIOENCODING= "utf-8" ; Get-Content versions/ $COMMIT_ID /processed/name_id_map.json | python -c "import json, sys; data = json.load(sys.stdin); char_ids = list(data['characters'].keys())[-10:]; [print(f' {cid}: {data[\"characters\"][cid][\"en\"]}') for cid in char_ids]" 特殊 ID 识别 特殊 ID 通常有以下特征: 旅行者元素形态: 10000005502 (火), 10000005503 (水), 10000005504 (风), 10000005506 (岩), 10000005507 (雷), 10000005508 (草) 荧元素形态: 10000007702 (火), 10000007703 (水), 10000007704 (风), 10000007706 (岩), 10000007707 (雷), 10000007708 (草) 10位以上 ID: 1000011711702 , 1000011811802 等 正确的插入示例 // 假设要添加 10000126 和 10000127 // 在 name_id_map.json 中看到: { "characters" : { ... "10000125" : "Columbina" , ← 最后一个普通 ID "1000011711702" : "Manekin (Pyro)" , ← 第一个特殊 ID ... } } // 正确做法:在 10000125 之后插入 10000126 和 10000127 // 错误做法:插入到文件最后或特殊 ID 之后 适用范围 此规则适用于: 角色 ( characters ) 武器 ( weapons ) 圣遗物 ( artifact ) 3. 输出路径安全规则 所有脚本的输出文件必须保存在项目内部! query_data_config.py : 默认输出到 exports/ 目录 export_data.py : 默认输出到 exports/ 目录 diff_analyzer.py : 默认输出到 diffs/ 目录 如果用户指定了项目外路径,脚本会自动重定向到项目内部对应目录。 文件管理结构 .claude/skills/genshin-data-generator/ ├── versions/ # 版本化数据存储(Git忽略所有内容) │ ├── metadata.json # 版本索引(本地生成,不追踪) │ └── [commit-id]/ # 按 commit ID 命名的版本目录 │ ├── source/ # 原始游戏数据 │ ├── processed/ # 预处理数据 │ │ ├── processed_data.json │ │ ├── name_id_map.json │ │ ├── characters/ │ │ ├── weapons/ │ │ └── artifacts/ │ └── meta.json # 版本元数据 ├── diffs/ # 差分报告目录(Git管理) │ └── version_diff_*.md # 版本对比报告 ├── scripts/ # 脚本文件(Git管理) │ ├── version_manager.py # 版本管理工具 │ ├── fetch_version.py # 版本获取脚本 │ ├── diff_analyzer.py # 差分分析脚本 │ ├── preprocess.py # 数据预处理脚本 │ ├── query_data_config.py # 数据查询脚本 │ └── ... # 其他辅助脚本 ├── references/ # 参考文档(Git管理) └── SKILL.md # 主文档(Git管理) 目录说明 versions/metadata.json : 版本索引(本地生成,按 commit 时间顺序排列) versions/[commit-id]/source/ : GenshinData Go 工具的原始输出 versions/[commit-id]/processed/ : preprocess.py 处理后的数据 diffs/ : 差分报告存储目录,包含版本对比分析结果 versions/[commit-id]/meta.json : 该版本的元数据(Git 追踪) scripts/ : 核心脚本,必须 Git 管理 版本管理策略 版本系统使用 Git commit ID 作为唯一标识符,支持: 自动获取 : 通过 fetch_version.py 获取指定仓库/分支的最新 N 个 commit 增量获取 : 自动跳过已存在的版本,只获取本地不存在的版本 仓库配置 : 支持通过 --repo 参数指定不同的 Git 仓库(GitLab/GitHub) 分支配置 : 支持通过 --branch 参数指定不同的分支(master/main) 数量配置 : 支持通过 --count 参数指定获取的版本数量(默认3个) 版本对比 : 通过 diff_analyzer.py 对比任意两个版本的差异 版本解析 : 支持使用 latest 、短 ID、完整 commit ID 引用版本 支持的 Git 平台 : GitLab : 默认平台, https://gitlab.com/Dimbreath/AnimeGameData GitHub : https://github.com/Dimbreath/GenshinData 自定义 : 其他兼容的 Git 仓库 URL 数据获取策略 : 系统使用 commit ID 获取原始数据(如 -/raw/{commit} ) 使用 commit ID 作为版本标识符进行追踪 默认获取最新3个版本,只获取本地不存在的版本 确保每个版本的数据对应其特定的 commit,避免数据重复 快速开始 使用此 Skill 进行角色/武器/圣遗物配置时,核心流程如下: 1. 获取新版本数据(首次或游戏更新时运行) cd .claude/skills/genshin-data-generator/scripts # 获取最新3个版本(默认仓库) python3 fetch_version.py # 指定仓库和分支 python3 fetch_version.py --repo https://gitlab.com/Dimbreath/AnimeGameData --branch master # 指定获取的版本数量 python3 fetch_version.py --repo https://gitlab.com/Dimbreath/AnimeGameData --branch master --count 5 支持的仓库 : GitLab: https://gitlab.com/Dimbreath/AnimeGameData (默认) GitHub: https://github.com/Dimbreath/GenshinData 其他兼容的 Git 仓库 注意事项 : 系统会自动使用 commit ID 获取每个版本的特定数据 只获取本地不存在的版本,已存在的版本会被跳过 版本标识符使用 commit ID 进行追踪和对比 这将自动完成: 从 Git API 获取最新的 N 个 commit ID(默认3个) 检查本地已存在的版本,筛选出需要获取的 commit 从旧到新 依次处理每个需要获取的 commit: 执行 GenshinData Go 工具获取原始数据(使用特定commit ID) 运行 preprocess.py 预处理数据 生成版本元数据和校验和 更新版本索引 1.1 直接使用 GenshinData Go 工具(高级用法) 如果需要直接运行 Go 工具获取数据: # 在项目根目录运行 go run main.go --repo https://gitlab.com/Dimbreath/AnimeGameData --branch master # 指定输出目录 go run main.go --repo https://gitlab.com/Dimbreath/AnimeGameData --branch master --targetDir ./src/assets/genshin # 使用特定 commit ID 获取数据(推荐用于版本管理) go run main.go --repo https://gitlab.com/Dimbreath/AnimeGameData --commit a7624301c8b009c54bdf7bf8d4cfb817aad6accf # 直接指定完整的资源 URL go run main.go --resUrl https://gitlab.com/Dimbreath/AnimeGameData/-/raw/master # 使用本地数据源 go run main.go --localResPath /path/to/local/data 参数说明 : --repo : Git 仓库 URL(支持 GitHub 和 GitLab) --branch : 分支名称(默认:master) --commit : Commit ID(优先级高于 branch,用于获取特定版本的数据) --targetDir : 输出目录(默认:./src/assets/genshin) --resUrl : 完整的资源 URL(与 --repo/--branch/--commit 互斥) --localResPath : 本地数据源路径 参数优先级 : --commit + --repo :获取特定 commit 的数据(推荐用于版本管理) --branch + --repo :获取指定分支的最新数据 --resUrl :直接使用提供的完整 URL 网络连接注意事项 : 某些网络环境可能需要强制使用 IPv4 连接 如果遇到连接问题,可以设置环境变量: GODEBUG=netdns=go go run main.go ... fetch_version.py 会自动设置此环境变量 版本管理说明 : 默认获取最新3个版本(可通过 --count 参数调整) 每个版本使用其特定的 commit ID 获取数据,确保数据内容对应正确的版本 已存在的版本会被自动跳过,不会重复获取 metadata.json 记录所有版本的元数据信息 2. 分析版本差异(游戏更新后) cd .claude/skills/genshin-data-generator/scripts # 比较两个版本(报告输出到 diffs/ 目录) python3 diff_analyzer.py --from abc1234 --to def5678 --output ../diffs/version_diff_abc1234_def5678.md # 比较最新版本与前一版本 python3 diff_analyzer.py --from HEAD~1 --to latest --output ../diffs/version_diff_latest.md # 检查未实现的项目 python3 diff_analyzer.py --from latest --check-unimplemented --output ../diffs/unimplemented.md # 只关注特定类型 python3 diff_analyzer.py --from abc1234 --to def5678 --focus characters weapons 差分报告 : 输出位置: diffs/ 目录(专用文件夹,不污染其他目录) 命名建议: version_diff_{from}_{to}.md 报告内容: 概要统计(新增/修改/删除数量) 优先级建议(🔴高/🟡中/🟢低) 新增项目详情(需要配置) 修改项目详情(需要更新,包括参数变化) 未实现项目列表 重要说明 :
Keywords that activate this skill. Click one to copy it.
This skill does not provide trigger words.
The downloaded .skill package contains the following fields.
| Field | Description |
|---|---|
| format | Format tag (skill/v1) |
| skill_id | Unique skill ID |
| name | Skill name |
| version | Version |
| description | Description |
| category | Categories (array) |
| trigger_words | Trigger words |
| tags | Tags |
| source | Source |
| source_url | Source URL (this page) |
| exported_at | Exported at (set per download) |
| system_prompt | System prompt body |
| model_config | Model config: provider / model / temperature / max_tokens / top_p |
| examples | Examples |
| install_guide | Import guide for Coze / Dify / Claude / custom frameworks |
The same skill can be exported in different platform formats.