[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CBWK4M0WSTVSJEFGX3ACBD":3,"skill-same:01M6CBWK4M0WSTVSJEFGX3ACBD":45},{"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},"01M6CBWK4M0WSTVSJEFGX3ACBD","00-overview",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\u002F80-tools\u002F20-operation\u002F00-overview\u002FSKILL.md",[],[18,19],"overview","00 overview","2026-11-10 10:12:30",false,"# 20-operation — Overview\n\n\nStatus: ACTIVE\nAppliesTo: v10\n\n\n게임 운영(Operation)을 위한 **로컬 웹앱** 스킬 그룹이다.\n개발자가 게임 데이터의 encode\u002Fdecode, 조회\u002F수정을 수행하는 데 사용하는 도구들을 정의한다.\n\n단일 페이지 내에서 **탭**으로 기능을 전환한다.\n\n\n---\n\n\n## Features (탭)\n\n| 탭 | 상태 | 버튼 | 설명 |\n|----|------|------|------|\n| Push Send | 구현됨 | [Load Data] \u002F [Send] | FCM 토픽 기반 푸시 알림 발송 |\n| Obfuscate | 구현됨 | [Obfuscate] | 평문 -> 난독화 (byte-substitution) |\n| Deobfuscate | 구현됨 | [Deobfuscate] | 난독화 -> 평문 |\n| Save Data | 구현됨 | [Import] \u002F [Export & Download] | .dvn \u003C-> JSON 통합 워크플로우 |\n\n> 탭 이름, 버튼 이름은 영문으로 표기한다. 탭은 필요에 따라 추가한다.\n\n\n---\n\n\n## Tech Stack\n\n| 항목 | 선택 |\n|------|------|\n| 언어 | TypeScript |\n| UI | 바닐라 TS + 경량 라이브러리 (프레임워크 없음) |\n| 서버 | localhost 전용 (배포 없음) |\n| 빌드 | Vite |\n\nAES 공유키가 클라이언트 JS에 포함되므로, localhost 전용으로만 운영한다.\n\n\n## Project Location\n\n```\nframework-ts\u002Fapps\u002FOperation\u002F\n```\n\n\n---\n\n\n## Start Here\n\n\n| Document | Description |\n|----------|-------------|\n| [01-policy](..\u002F01-policy\u002FSKILL.md) | 정책 (localhost 전용, 바닐라 TS, 보안) |\n| [03-ssot](..\u002F03-ssot\u002FSKILL.md) | 기능(탭) 정의 (입출력, 파이프라인) |\n| [10-app-shell](..\u002F10-app-shell\u002FSKILL.md) | 앱 셸 (빌드, 프로젝트 구조, 탭 네비게이션) |\n| [15-layout](..\u002F15-layout\u002FSKILL.md) | 레이아웃, 스타일 가이드 |\n| [16-page-obfuscate](..\u002F16-page-obfuscate\u002FSKILL.md) | Obfuscate 탭 UI |\n| [17-page-deobfuscate](..\u002F17-page-deobfuscate\u002FSKILL.md) | Deobfuscate 탭 UI |\n| [18-page-savedata](..\u002F18-page-savedata\u002FSKILL.md) | Save Data 탭 UI |\n| [19-page-push-send](..\u002F19-page-push-send\u002FSKILL.md) | Push Send 탭 UI |\n\n\n---\n\n\n## Related\n\n- [25-recovery-system\u002F03-ssot](..\u002F..\u002F..\u002F..\u002Fdevian-unity\u002F50-mobile-package\u002F25-recovery-system\u002F03-ssot\u002FSKILL.md) — DVN 포맷\u002FAES 정본\n- [80-tools Overview](..\u002F..\u002F00-overview\u002FSKILL.md) — Tools 그룹 상위 개요\n",{},"main","8cb5bd877a3a7004867d2f55697cb9e4ff2f1734","skills\u002Fdevian\u002F80-tools\u002F20-operation\u002F00-overview","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 00-overview",{"tool":37,"command":38},"bunx","bunx skills add devwinsoft\u002Fdevian --skill 00-overview",{"tool":40,"command":41},"pnpm","pnpm dlx skills add devwinsoft\u002Fdevian --skill 00-overview","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F80-tools\u002F20-operation\u002F00-overview\u002FSKILL.md",true,[],[46,52,60,68,77,84],{"skillNo":47,"name":48,"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":49,"categories":50,"keywords":51,"publishedAt":20},"01M6CBX3K2JJV38ANHVGCAT8A0","devian","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002FSKILL.md",[],[48],{"skillNo":53,"name":54,"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":55,"categories":56,"keywords":57,"publishedAt":20},"01M6CBX210BFMM8AMN770J9WY8","90-project-archive","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F80-tools\u002F90-project-archive\u002FSKILL.md",[],[58,59],"archive","90 project archive",{"skillNo":61,"name":62,"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":63,"categories":64,"keywords":65,"publishedAt":20},"01M6CBWZSGRR9R3YJZB3177667","30-env-management","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F80-tools\u002F30-env-management\u002FSKILL.md",[],[66,67],"management","30 env management",{"skillNo":69,"name":70,"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":71,"categories":72,"keywords":73,"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",[],[74,75,76],"push","page","19 page push send",{"skillNo":78,"name":79,"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":80,"categories":81,"keywords":82,"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",[],[75,83],"18 page savedata",{"skillNo":85,"name":86,"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":87,"categories":88,"keywords":89,"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",[],[75,90],"17 page deobfuscate"]