From 607ef1a4355161d4314375faaf727d18847bc2d3 Mon Sep 17 00:00:00 2001 From: gil Date: Wed, 13 May 2026 00:28:01 +0900 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20=EC=83=88=EB=A1=9C=EC=9A=B4?= =?UTF-8?q?=20=EC=8A=A4=ED=82=AC=20=EB=B0=8F=20=EB=AC=B8=EC=84=9C=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20(EDM=20HTML,=20=EC=9A=94=EA=B5=AC=EC=82=AC?= =?UTF-8?q?=ED=95=AD=20=EB=B6=84=EC=84=9D=EA=B8=B0,=20=EB=B2=88=EC=97=AD?= =?UTF-8?q?=20=EC=BD=94=EB=93=9C=20=EC=83=9D=EC=84=B1=EA=B8=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 0 -> 10244 bytes .claude/skills/.DS_Store | Bin 0 -> 6148 bytes .claude/skills/README.md | 52 + .claude/skills/conventional-commit/SKILL.md | 78 ++ .claude/skills/markup-edm/.DS_Store | Bin 0 -> 6148 bytes .../skills/markup-edm}/SKILL.md | 2 +- .../markup-edm}/assets/example_asset.txt | 0 .../markup-edm}/references/api_reference.md | 0 .../markup-edm}/references/html-patterns.md | 0 .../skills/markup-edm}/scripts/example.py | 0 .../skills/plan-analyzer}/SKILL.md | 2 +- .../references/output-template.md | 0 .../plan-analyzer}/scripts/extract_pptx.py | 0 .../plan-translation-generator}/SKILL.md | 2 +- .../scripts/generate_translation_keys.py | 0 .claude/skills/ppt-maker/SKILL.md | 268 +++++ .../skills/ppt-maker/references/template.html | 914 +++++++++++++++ .claude/skills/project-init/SKILL.md | 165 +++ .../skills/verify-component-review}/SKILL.md | 2 +- .claude/skills/work-log/SKILL.md | 454 ++++++++ ...7.01 AI 활용 - CBO-플랫폼서비스개발담당.md | 85 ++ docs/fe-ai-reference-flow 2.html | 794 +++++++++++++ docs/fe-ai-reference-flow.html | 794 +++++++++++++ docs/fe-ai-rules.html | 612 ++++++++++ docs/fe-ai-workflow.html | 800 +++++++++++++ html/fe-agent-structure.html | 662 +++++++++++ html/fe-ai-reference-flow.html | 794 +++++++++++++ html/fe-ai-rules.html | 612 ++++++++++ html/fe-ai-workflow-ppt.html | 1025 +++++++++++++++++ html/fe-ai-workflow.html | 800 +++++++++++++ session-report-20260512-2348.html | 576 +++++++++ skills/.DS_Store | Bin 0 -> 6148 bytes skills/dev-api-state/SKILL.md | 150 +++ skills/dev-component/SKILL.md | 125 ++ skills/dev-docs/SKILL.md | 128 ++ skills/dev-storybook/SKILL.md | 149 +++ skills/dev-unit-test/SKILL.md | 160 +++ skills/markup-base/SKILL.md | 125 ++ skills/markup-edm/.DS_Store | Bin 0 -> 6148 bytes skills/markup-edm/SKILL.md | 310 +++++ skills/markup-edm/assets/example_asset.txt | 24 + skills/markup-edm/references/api_reference.md | 34 + skills/markup-edm/references/html-patterns.md | 327 ++++++ skills/markup-edm/scripts/example.py | 19 + skills/markup-figma/SKILL.md | 107 ++ skills/markup-promotion/SKILL.md | 138 +++ skills/plan-analyzer/SKILL.md | 170 +++ .../references/output-template.md | 159 +++ skills/plan-analyzer/scripts/extract_pptx.py | 315 +++++ skills/plan-translation-generator/SKILL.md | 138 +++ .../scripts/generate_translation_keys.py | 142 +++ skills/ppt-maker/SKILL.md | 268 +++++ skills/ppt-maker/references/template.html | 914 +++++++++++++++ skills/security-review/SKILL.md | 141 +++ skills/verify-a11y/SKILL.md | 130 +++ skills/verify-component-review/SKILL.md | 87 ++ skills/verify-perf/SKILL.md | 141 +++ skills/verify-requirement/SKILL.md | 90 ++ skills/verify-seo-geo/SKILL.md | 143 +++ skills/work-code-reviewer/SKILL.md | 109 ++ skills/work-mr-reviewer/SKILL.md | 111 ++ 61 files changed, 14343 insertions(+), 4 deletions(-) create mode 100644 .DS_Store create mode 100644 .claude/skills/.DS_Store create mode 100644 .claude/skills/README.md create mode 100644 .claude/skills/conventional-commit/SKILL.md create mode 100644 .claude/skills/markup-edm/.DS_Store rename {skills/edm-email-html => .claude/skills/markup-edm}/SKILL.md (99%) rename {skills/edm-email-html => .claude/skills/markup-edm}/assets/example_asset.txt (100%) rename {skills/edm-email-html => .claude/skills/markup-edm}/references/api_reference.md (100%) rename {skills/edm-email-html => .claude/skills/markup-edm}/references/html-patterns.md (100%) rename {skills/edm-email-html => .claude/skills/markup-edm}/scripts/example.py (100%) rename {skills/requirement-analyzer => .claude/skills/plan-analyzer}/SKILL.md (99%) rename {skills/requirement-analyzer => .claude/skills/plan-analyzer}/references/output-template.md (100%) rename {skills/requirement-analyzer => .claude/skills/plan-analyzer}/scripts/extract_pptx.py (100%) rename {skills/translation-keys => .claude/skills/plan-translation-generator}/SKILL.md (99%) rename {skills/translation-keys => .claude/skills/plan-translation-generator}/scripts/generate_translation_keys.py (100%) create mode 100644 .claude/skills/ppt-maker/SKILL.md create mode 100644 .claude/skills/ppt-maker/references/template.html create mode 100644 .claude/skills/project-init/SKILL.md rename {skills/vue-component-review => .claude/skills/verify-component-review}/SKILL.md (99%) create mode 100644 .claude/skills/work-log/SKILL.md create mode 100644 docs/WDG00.04.02.06.07.01 AI 활용 - CBO-플랫폼서비스개발담당.md create mode 100644 docs/fe-ai-reference-flow 2.html create mode 100644 docs/fe-ai-reference-flow.html create mode 100644 docs/fe-ai-rules.html create mode 100644 docs/fe-ai-workflow.html create mode 100644 html/fe-agent-structure.html create mode 100644 html/fe-ai-reference-flow.html create mode 100644 html/fe-ai-rules.html create mode 100644 html/fe-ai-workflow-ppt.html create mode 100644 html/fe-ai-workflow.html create mode 100644 session-report-20260512-2348.html create mode 100644 skills/.DS_Store create mode 100644 skills/dev-api-state/SKILL.md create mode 100644 skills/dev-component/SKILL.md create mode 100644 skills/dev-docs/SKILL.md create mode 100644 skills/dev-storybook/SKILL.md create mode 100644 skills/dev-unit-test/SKILL.md create mode 100644 skills/markup-base/SKILL.md create mode 100644 skills/markup-edm/.DS_Store create mode 100644 skills/markup-edm/SKILL.md create mode 100644 skills/markup-edm/assets/example_asset.txt create mode 100644 skills/markup-edm/references/api_reference.md create mode 100644 skills/markup-edm/references/html-patterns.md create mode 100755 skills/markup-edm/scripts/example.py create mode 100644 skills/markup-figma/SKILL.md create mode 100644 skills/markup-promotion/SKILL.md create mode 100644 skills/plan-analyzer/SKILL.md create mode 100644 skills/plan-analyzer/references/output-template.md create mode 100644 skills/plan-analyzer/scripts/extract_pptx.py create mode 100644 skills/plan-translation-generator/SKILL.md create mode 100644 skills/plan-translation-generator/scripts/generate_translation_keys.py create mode 100644 skills/ppt-maker/SKILL.md create mode 100644 skills/ppt-maker/references/template.html create mode 100644 skills/security-review/SKILL.md create mode 100644 skills/verify-a11y/SKILL.md create mode 100644 skills/verify-component-review/SKILL.md create mode 100644 skills/verify-perf/SKILL.md create mode 100644 skills/verify-requirement/SKILL.md create mode 100644 skills/verify-seo-geo/SKILL.md create mode 100644 skills/work-code-reviewer/SKILL.md create mode 100644 skills/work-mr-reviewer/SKILL.md diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b607d781ce9134bc52557a782d3c45e6c454e9d9 GIT binary patch literal 10244 zcmeHMU2GIp6uxI#${j{vsO4A2ow`D6S<`JP#TA8R+r|Pdf7{X@3hV67KqpLR%FgVT z+EnY41kl76jsI^%eL#((;FF2}iSdD8qr^mviBG&}1RqR{=gyra-31;cgv@R3J@?#u z&YhlbzB4!XE+GU`1-*q3l@LO)GAZAK%}olMXZ4061S2&l0sTpK!X3|AP8RiZH&}-Q zAp#)+Ap#)+Ap#)+cLD;qXR|^jF2goNAVeTU;5q{A`=DZFG8xDjF8xmjHvSO+Wi<}_ z1^Y7Vpi~2y4CD-#ID-YaD@yJP!4U(vJC3V?T{4g}Tyl2;!QlgfCqr;T0srZ^zUrG3 zNOBprAp#)+HzL5!?$tym4#^RB?)g1CZketZkI#ZoRXwj}KAle`dLTXOOr$-{E4V2w zzn^J+j$>s@eJ#7sG$t}~U58_PnrRz(-@()kG#ME%ZQYqjIR#sHecv>npduAB@`|ac zmi4VMwLPAgj;T|LL?WhcY~46LEz+gY=1qGuN31d1Il)7K;4?rLR)lnNZakJ-?BMqi zRq0YZmrC)73nXcwGB7wayniGk%LUiiYgn3R7L88LGu({4*v0U+O27Al(>9Cn?&*WoWVXyW?Z zs+K)t*En-__ZfK?r6`_Rv^?@))ms4vAm>Ks*{!t6iwI6T1Nkbse7YC znwv9h-Lwx6Bcirv9x{!*xCCNipRJ7<7i(9nTy@`SMX9tdtuk21nnw$!Hz`Lc<B zqN043j_4R>wR~jhY&&E6Q2DW@yYEojNtkFIfL*`2~OD&@8ihW1$wR6`t zsh!HY*l%fB!{S2;X%m%qhyz6)F(0gxwoq{}=ZuYEFfJcUDVZs^yJc6G*y}M-Qd`Ys7Kp(xsc8llRfsS+6KVY^klfZs-{Fsue41m9)}N zd@;mv1{7J5oYvdoOh6PXut6>c^KqEW^t*{<8Ks$6m5A?!L z7=|3^a0m{A1qCR=F_?s>;W;=CC*UN!2(Q9x@CLjIr{O(#A3lIj;dA%`zJjk|7Jh-t z@GD$_t8fke7DS;|SS={R{X&D#C^QM{gw4Vhp&~MEmzkxHMc$T_}1$b#YKcpKhl~z|F4O!t;N4 T{;xO=mmQVoT#nxj=l}lz1O(n{ literal 0 HcmV?d00001 diff --git a/.claude/skills/.DS_Store b/.claude/skills/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..0e85a4daaef7f0614426459a070ddff7bd2573be GIT binary patch literal 6148 zcmeHKOHRWu5FJAo+C+~ReEff=TG8`y!E_e?we#dv)QV92E~g4 zqJSunE5Q4Mhr$?G%na(S15RH7fE840!?WJ&fF4%>1B;nK)WDPp1)5N0uNcaNqu#Uq z0*jeJ6HZExjQ7})mA#=TyVEL9cPAAX6fX*h0!0P3&CfcY{};>e|HUBrB?^cF|4IQ> z30q+kl/ + ├── SKILL.md # YAML frontmatter (name, description) + 지시문 + └── (선택) 추가 자료 — 예시 파일, 템플릿, 스크립트 등 +``` + +`SKILL.md` 예시: + +```markdown +--- +name: +description: +--- + +# <스킬 제목> + +## 언제 사용하는가 +... + +## 작업 순서 +... +``` + +## 프로젝트에 연결하기 + +```bash +# 공통 저장소의 skill 을 .claude/skills/ 로 전부 링크 +bash .claude/common/scripts/link-skills.sh + +# 차이 확인 +bash .claude/common/scripts/link-skills.sh --dry-run + +# 특정 skill 만 링크 +bash .claude/common/scripts/link-skills.sh vue-component-review +``` + +## 새 skill 추가 프로세스 + +1. 이 저장소에서 `skills//SKILL.md` 를 작성 +2. PR 을 올리고 팀 리뷰 +3. 머지 후 각 프로젝트에서 `git submodule update --remote` → `link-skills.sh` 실행 diff --git a/.claude/skills/conventional-commit/SKILL.md b/.claude/skills/conventional-commit/SKILL.md new file mode 100644 index 0000000..1906d6f --- /dev/null +++ b/.claude/skills/conventional-commit/SKILL.md @@ -0,0 +1,78 @@ +--- +name: conventional-commit +description: Git 변경사항을 팀의 Conventional Commits 규칙(gameservice-fe-agent/rules/commit-pr.md)에 맞춰 커밋 메시지로 작성할 때 사용합니다. 사용자가 "커밋 메시지 만들어줘", "commit", "커밋해줘" 등을 요청하면 트리거됩니다. +--- + +# Conventional Commit 작성 + +이 skill 은 `git diff --staged` / `git status` 결과를 바탕으로 팀 규칙에 맞는 커밋 +메시지를 작성합니다. + +## 팀 규칙 요약 + +``` +(): + + + +