[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CBV7SXAMCSJ5M8KRMZGD99":3,"skill-same:01M6CBV7SXAMCSJ5M8KRMZGD99":115},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":20,"linkOnly":21,"markdownContent":22,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":13,"repositoryHtmlUrl":27,"repositoryHomepageUrl":6,"ownerHtmlUrl":28,"ownerBlogUrl":6,"ownerDescription":29,"updatedAt":30,"install":31,"resources":44},"01M6CBV7SXAMCSJ5M8KRMZGD99","11-game-tables",null,"devwinsoft\u002Fdevian","devwinsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F22570160?v=4","01M6C6RR8W05NH8NPKQNCE3Q72","maoshy","01M6C6RRDJ5TJJCZXRTY801YDH",0,"MIT","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F21-domain-game\u002F11-game-tables\u002FSKILL.md",[],[18,19],"game","11 game tables","2026-11-10 10:12:30",false,"# 11-game-tables\n\nStatus: ACTIVE\nAppliesTo: v10\n\n**Game 도메인 테이블 정의.** DomainKey = `Game`의 테이블(XLSX) 입력과 데이터 생성물을 정의한다.\n\n---\n\n## 1. Input JSON (`{buildInputJson}` 예시)\n\n`domains.Game` 테이블 설정:\n\n```json\n\"Game\": {\n  \"tableDir\": \"Domains\u002FGame\",\n  \"tableFiles\": [\n    \"AchieveTable.xlsx\",\n    \"GameErrorTable.xlsx\",\n    \"GameMessageTable.xlsx\",\n    \"ItemTable.xlsx\",\n    \"MetaTable.xlsx\",\n    \"MissionTable.xlsx\",\n    \"ShopTable.xlsx\",\n    \"SkillTable.xlsx\",\n    \"TreasureTable.xlsx\",\n    \"UnitTable.xlsx\"\n  ],\n  \"stringDir\": \"Domains\u002FGame\",\n  \"stringFiles\": [\"GameStringTable.xlsx\"]\n}\n```\n\n| 필드 | 값 | 설명 |\n|---|---|---|\n| `tableDir` | `Domains\u002FGame` | 테이블 XLSX 디렉토리 |\n| `tableFiles` | 명시적 10개 테이블 파일 목록 | `GameStringTable.xlsx`와 overlap을 피하는 테이블 입력 목록 |\n| `stringDir` | `Domains\u002FGame` | Game StringTable XLSX 디렉토리 |\n| `stringFiles` | `[\"GameStringTable.xlsx\"]` | Game StringTable 파일 패턴 |\n\n---\n\n## 2. Tables (`input\u002FDomains\u002FGame\u002F`)\n\n| 파일 | 시트(테이블) | 컨테이너 | PK | 설명 |\n|---|---|---|---|---|\n| `GameErrorTable.xlsx` | GAME_ERROR | TB_GAME_ERROR | `id` (`GAME_ERROR_TYPE`) | Game 도메인 에러 코드 마스터 |\n| `MetaTable.xlsx` | PURCHASE | TB_PURCHASE | `Internal_product_id` (string) | 상품 테이블 (`season_id` 포함) |\n| `MetaTable.xlsx` | ADVERTISE | TB_ADVERTISE | `Advertise_id` (string) | 광고 placement 테이블 |\n| `MetaTable.xlsx` | REWARD | TB_REWARD | `Reward_num` (int) | 보상 테이블 |\n| `GameMessageTable.xlsx` | GAME_MESSAGE | TB_GAME_MESSAGE | `Message_id` (string) | 메시지 stat 정의 테이블 |\n| `MissionTable.xlsx` | MISSION_DAILY | TB_MISSION_DAILY | `Mission_id` (string) | 일일 미션 정의 테이블 |\n| `MissionTable.xlsx` | MISSION_WEEKLY | TB_MISSION_WEEKLY | `Mission_id` (string) | 기간 미션 정의 테이블 (`day:1~7`, 10일 주기) |\n| `AchieveTable.xlsx` | ACHIEVE_SOCIAL | TB_ACHIEVE_SOCIAL | `Index` (int) | 소셜 업적 단계\u002F플랫폼 매핑 테이블 |\n| `AchieveTable.xlsx` | ACHIEVE_PASS | TB_ACHIEVE_PASS | `Index` (int) | 패스 업적 단계\u002F활성 조건 테이블 |\n| `MetaTable.xlsx` | LEADERBOARD | TB_LEADERBOARD | `Leaderboard_id` (string) | 리더보드 정의 |\n| `MetaTable.xlsx` | LEADERBOARD_REWARD | TB_LEADERBOARD_REWARD | `Index` (int) | 리더보드 구간 보상 정의 |\n| `TreasureTable.xlsx` | TREASURE_CHEST | TB_TREASURE_CHEST | `Level` (int) | chest level별 max_exp\u002F보상 그룹 엔트리 |\n| `TreasureTable.xlsx` | TREASURE_REWARD | TB_TREASURE_REWARD | `Index` (int) | `treasure_grade_type -> reward_group_id` fan-out 테이블 |\n| `ItemTable.xlsx` | ITEM_EQUIP | TB_ITEM_EQUIP | `item_id` (string) | 장비 테이블 (`item_id`, `name_id`, `desc_id`) |\n| `ItemTable.xlsx` | ITEM_CARD | TB_ITEM_CARD | `item_id` (string) | 카드 테이블 (`item_id`, `name_id`, `desc_id`) |\n| `ItemTable.xlsx` | ITEM_MATERIAL | TB_ITEM_MATERIAL | `item_id` (string) | 재료 테이블 (`item_id`, `name_id`, `desc_id`) |\n| `ItemTable.xlsx` | ITEM_RENTAL | TB_ITEM_RENTAL | `item_id` (string) | 렌탈 아이템 테이블 (`item_id`, `name_id`, `desc_id`) |\n| `ItemTable.xlsx` | ITEM_PASS | TB_ITEM_PASS | `item_id` (string) | 패스 아이템 테이블 (`item_id`, `name_id`, `desc_id`) |\n| `MetaTable.xlsx` | SEASON | TB_SEASON | `Season_id` (string) | 시즌 메타 테이블 (start\u002Fend UTC) |\n\n---\n\n## 3. String Tables (`input\u002FDomains\u002FGame\u002F`)\n\n| 파일 | 시트(StringTable) | 생성 ID 타입 | 생성 Wrapper | 설명 |\n|---|---|---|---|---|\n| `GameStringTable.xlsx` | `GAME_TEXT` | `GAME_TEXT_ID` | `ST_GAME_TEXT` | Game 전용 로컬라이즈 문자열 |\n\n`GAME_TEXT`는 Common의 canonical `TEXT`와 별도다.\n`GameStringTable.xlsx`가 `Domains\u002FGame\u002F` 루트에 있으므로 `tableFiles`는 wildcard가 아니라 명시적 목록이어야 한다.\n\n---\n\n## 4. Generated Data\n\n| 형식 | 생성물 | 경로 |\n|---|---|---|\n| ndjson | `*.json` | `{tableConfig.tableDirs}\u002Fndjson\u002F` |\n| pb64 | `*.asset` | `{tableConfig.tableDirs}\u002Fpb64\u002F` |\n| string ndjson | `GAME_TEXT.json` | `{tableConfig.stringDirs}\u002Fndjson\u002F{Language}\u002F` |\n| string pb64 | `GAME_TEXT.asset` | `{tableConfig.stringDirs}\u002Fpb64\u002F{Language}\u002F` |\n\n빌드 실행: `bash input\u002Fbuild.sh {buildInputJson}` (예: `bash input\u002Fbuild.sh input\u002Fbuild_input.json`)\n\n---\n\n## 5. Related\n\n| 주제 | 스킬 |\n|---|---|\n| Builder SSOT (테이블 규칙) | [devian\u002F80-tools\u002F11-builder\u002F03-ssot](..\u002F..\u002F80-tools\u002F11-builder\u002F03-ssot\u002FSKILL.md) |\n| Examples SSOT (config\u002Finput) | [devian-examples\u002F03-ssot](..\u002F..\u002F..\u002Fdevian-examples\u002F03-ssot\u002FSKILL.md) |\n| Root SSOT (용어\u002F경로) | [devian\u002F10-module\u002F03-ssot](..\u002F..\u002F10-module\u002F03-ssot\u002FSKILL.md) |\n| 21-domain-game 개요 | [00-overview](..\u002F00-overview\u002FSKILL.md) |\n| GamePackage StringTable | [devian-unity\u002F21-game-package\u002F13-game-string-table](..\u002F..\u002F..\u002Fdevian-unity\u002F21-game-package\u002F13-game-string-table\u002FSKILL.md) |\n",{},"main","8cb5bd877a3a7004867d2f55697cb9e4ff2f1734","skills\u002Fdevian\u002F21-domain-game\u002F11-game-tables","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian","https:\u002F\u002Fgithub.com\u002Fdevwinsoft","Kim Hyong Joon","2026-04-12 18:44:10",{"source":7,"skillName":5,"commands":32,"prompt":42,"zipAvailable":43},[33,36,39],{"tool":34,"command":35},"npx","npx skills add devwinsoft\u002Fdevian --skill 11-game-tables",{"tool":37,"command":38},"bunx","bunx skills add devwinsoft\u002Fdevian --skill 11-game-tables",{"tool":40,"command":41},"pnpm","pnpm dlx skills add devwinsoft\u002Fdevian --skill 11-game-tables","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F21-domain-game\u002F11-game-tables\u002FSKILL.md",true,[45,51,57,63,67,71,75,79,83,87,91,95,99,103,107,111],{"path":46,"resourceType":47,"resourceTypeDesc":48,"sizeBytes":49,"sourceHtmlUrl":50},"examples\u002Fdemo.md","REFERENCE","参考文档",3882,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdefi\u002Felsa-official-openclaw\u002Fexamples\u002Fdemo.md",{"path":52,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":55,"sourceHtmlUrl":56},"examples\u002Fopenclaw.json.example","OTHER","其他",904,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdefi\u002Felsa-official-openclaw\u002Fexamples\u002Fopenclaw.json.example",{"path":58,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":61,"sourceHtmlUrl":62},"scripts\u002F__tests__\u002Fbudgets.test.ts","SCRIPT","脚本",4956,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdefi\u002Felsa-official-openclaw\u002Fscripts\u002F__tests__\u002Fbudgets.test.ts",{"path":64,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":65,"sourceHtmlUrl":66},"scripts\u002F__tests__\u002Fconfirm.test.ts",6329,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdefi\u002Felsa-official-openclaw\u002Fscripts\u002F__tests__\u002Fconfirm.test.ts",{"path":68,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":69,"sourceHtmlUrl":70},"scripts\u002Fbudgets.ts",4553,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdefi\u002Felsa-official-openclaw\u002Fscripts\u002Fbudgets.ts",{"path":72,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":73,"sourceHtmlUrl":74},"scripts\u002Fconfirm.ts",3734,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdefi\u002Felsa-official-openclaw\u002Fscripts\u002Fconfirm.ts",{"path":76,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":77,"sourceHtmlUrl":78},"scripts\u002FelsaClient.ts",6985,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdefi\u002Felsa-official-openclaw\u002Fscripts\u002FelsaClient.ts",{"path":80,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":81,"sourceHtmlUrl":82},"scripts\u002Fenv.ts",3216,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdefi\u002Felsa-official-openclaw\u002Fscripts\u002Fenv.ts",{"path":84,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":85,"sourceHtmlUrl":86},"scripts\u002Ferrors.ts",3569,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdefi\u002Felsa-official-openclaw\u002Fscripts\u002Ferrors.ts",{"path":88,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":89,"sourceHtmlUrl":90},"scripts\u002Findex.ts",19319,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdefi\u002Felsa-official-openclaw\u002Fscripts\u002Findex.ts",{"path":92,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":93,"sourceHtmlUrl":94},"scripts\u002Fpipeline.ts",8233,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdefi\u002Felsa-official-openclaw\u002Fscripts\u002Fpipeline.ts",{"path":96,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":97,"sourceHtmlUrl":98},"scripts\u002Ftypes.ts",12761,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdefi\u002Felsa-official-openclaw\u002Fscripts\u002Ftypes.ts",{"path":100,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":101,"sourceHtmlUrl":102},"scripts\u002Futil.ts",5013,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdefi\u002Felsa-official-openclaw\u002Fscripts\u002Futil.ts",{"path":104,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":105,"sourceHtmlUrl":106},"scripts\u002Fx402Client.ts",4066,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdefi\u002Felsa-official-openclaw\u002Fscripts\u002Fx402Client.ts",{"path":108,"resourceType":47,"resourceTypeDesc":48,"sizeBytes":109,"sourceHtmlUrl":110},"SOURCE.md",157,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdefi\u002Felsa-official-openclaw\u002FSOURCE.md",{"path":112,"resourceType":47,"resourceTypeDesc":48,"sizeBytes":113,"sourceHtmlUrl":114},"TRUST.auto.yaml",2179,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdefi\u002Felsa-official-openclaw\u002FTRUST.auto.yaml",[116,122,130,138,147,154],{"skillNo":117,"name":118,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":20},"01M6CBX3K2JJV38ANHVGCAT8A0","devian","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002FSKILL.md",[],[118],{"skillNo":123,"name":124,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":20},"01M6CBX210BFMM8AMN770J9WY8","90-project-archive","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F80-tools\u002F90-project-archive\u002FSKILL.md",[],[128,129],"archive","90 project archive",{"skillNo":131,"name":132,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":20},"01M6CBWZSGRR9R3YJZB3177667","30-env-management","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F80-tools\u002F30-env-management\u002FSKILL.md",[],[136,137],"management","30 env management",{"skillNo":139,"name":140,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":143,"publishedAt":20},"01M6CBWYD3TGWBQV7V35551THF","19-page-push-send","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F80-tools\u002F20-operation\u002F19-page-push-send\u002FSKILL.md",[],[144,145,146],"push","page","19 page push send",{"skillNo":148,"name":149,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":152,"publishedAt":20},"01M6CBWWRQ05A7604GHJKTPJTF","18-page-savedata","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F80-tools\u002F20-operation\u002F18-page-savedata\u002FSKILL.md",[],[145,153],"18 page savedata",{"skillNo":155,"name":156,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":159,"publishedAt":20},"01M6CBWVH4S2VF1V7B2GBTESCT","17-page-deobfuscate","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F80-tools\u002F20-operation\u002F17-page-deobfuscate\u002FSKILL.md",[],[145,160],"17 page deobfuscate"]