๐ ์์ง์ ํด๋ผ์ฐ๋์์, ํ์ผ ์ฐ๊ธฐ๋ Mac์์ โ Learning Studio ํต์ฌ ํ์ดํ๋ผ์ธ ๊ตฌ์ถ๊ธฐ
์งํผํฐ์ค ์ฌ๋ก๊ธ ยท Admin: Learning Studio
์ ํ ๊ธ(๊ฐ์ ๊ณต์ฅ์ ์ ๋ผ์ธ): Learning Control ์ ๊ณผ์ ๊ตฌ์ถ๊ธฐ
์ฒจ๋ถ ์บก์ฒ:040-attachments/ยง79-learning-studio-case-260813-*.png
โจ Synthesized Brief
๐บ ๏ธ ํต์ฌ ๋งต
์ ํธ (Signal)
์๋ฏธ (Meaning)
์ค๋ฌด ์ฐ๊ฒฐ (Practice)
ํด๋ผ์ฐ๋ ๋ฐฐํฌ์ Mac ๋์คํฌ Write ๋ถ๋ฆฌ
Vercel์ ์กฐํยท์ํ ๊ธฐ๋ก(Supabase)์ ์ง์คํ๊ณ , ์คํ์ผ ์์ฑ์ ๋ก์ปฌ Mac์์๋ง ์ํ
ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ๊ฐ์ง ์ฑ๊ณต(Mock) ์์ฑ์ ๋ฐฉ์งํ๊ณ ๋ฌผ๋ฆฌ์ ํ์ผ ์ด๊ด ์์ ์ฑ ํ๋ณด
ํ์ดํ๋ผ์ธ 5๊ฐ ๋ฌธ(Gate) ๋จ๊ณ๋ณ ๋ถ๋ฆฌ
IngestยทRefineยทDocument Registryยท์ธ๋ถ ์์ง(์ ํ๋ธ/๊นํ๋ธ) ์ญํ ๋ช ํํ
์์ง ์๊ณผ ๊ณต๊ฐ ์์ ๋ ๋ฆฝ ํต๊ณ๋ก ๋ค๋ฃจ์ด ๋ฐ์ดํฐ ์๊ณก ๋ฐฉ์ง ๋ฐ ์๋ ๊ฒ์ดํธ ๊ด๋ฆฌ
External Data ์ธ๋ถ ์ ํธ 2์ฐจ ์ ์
Playwright ๋ฐ GitHub API๋ก ์ต์ ํธ๋ ๋๋ฅผ ๋ชจ์ ๋ด๋ถ ๋ฌธ์์ ๋์กฐ
๋ด๋ถ ์ฝํ ์ธ ์ ๊ณ ๋ฆฝ์ ๋ง๊ณ ์ต์ ์ธ๋ถ ์์ฅ ์ฃผ์ ๋ฅผ ์ง์ ์๊ธํด ํ์ง ์ ์ง
๐ ํ ์ค
Learning Studio๋ ํด๋ผ์ฐ๋ ์กฐ์ข ์๊ณผ Mac ์ค์ ํ์ผ ๊ณต์ฅ์ ์๊ฒฉํ ๋ถ๋ฆฌํ์ฌ, ์์ง๋ถํฐ ์ ์ ยท์ถ๋ ฅ๊น์ง ์์ ํ๊ฒ ์ ์ดํ๋ ํ์ดํ๋ผ์ธ์ ๋๋ค.
โ ์ค๋ฌด ์ฒดํฌ
Vercel๊ณผ ๋ก์ปฌ Mac์ ์ญํ ๊ฒฝ๊ณ๋ฅผ ๊ตฌ๋ถํด ์คํ์ผ ์ ์ฅ ์์ ์ Mac ํ๊ฒฝ์์๋ง ๋์ํ๋๋ก ๊ฐ๋๋ฅผ ์ค์ ํฉ๋๋ค.
'๋ง์ด ๋ชจ์ ๋ฐ์ดํฐ'์ '์ค์ ๊ณต๊ฐํ ๋ฐ์ดํฐ'์ ์งํ๋ฅผ ๋ถ๋ฆฌํ์ฌ ํ์ดํ๋ผ์ธ ์ง๋ ํต๊ณ์ ๊ฐ์์ฑ์ ๋์ ๋๋ค.
์คํ ์ dry-run๊ณผ ๊ฒฐ๊ณผ(RESULT) ํ์ธ ์ ์ฐจ๋ฅผ ๊ฑฐ์ณ ์๊ธฐ์น ์์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ด๋ ๋ฐฐํฌ ์ฌ๊ณ ๋ฅผ ์๋ฐฉํฉ๋๋ค.
๋ฐ๋ณต ์ค์ผ์คํธ๋ ์ด์ ์์ ์ Cursor Skill ๋ ์ํผ๋ก ๊ท๊ฒฉํํ์ฌ ์คํ ์ผ๊ด์ฑ์ ์ ์งํฉ๋๋ค.
๐ ์๊ฐ
์๋ํ๊ณ ์ ํ๋ ๊ฒ๊ณผ ๊ทธ ์ด์ ๋ฅผ ์๋ ค์ฃผ์ธ์.
๋ฌ๋์ปจํธ๋กค(Learning Control)๋ก ์๋ณธ์ ๋ชจ์ผ๊ณ , ์ฌ๋์ด ์น์ธํ๋ ๋ฌธ(Gate) ์ ๋ง๋ ๋ค์๋ ํ ๊ฐ์ง๊ฐ ๋จ์์ต๋๋ค.
์น์ธ๋ง ํ๋ฉด ๋์ธ๊ฐ?
๊ทธ๋ค์์ ํ์ต ๋ฌธ์๋ก ๋ค๋ฌ๊ณ , ๊ฒฝ๋ก๋ฅผ ์ ํ๊ณ , ํจํค์ง๋ก ์ถ๋ ฅํ๋ ๊ณต์ฅ์ ์ด๋์ ๋์ง?
์ฒ์์๋ โ๊ณต๊ฐ ์น์ธ = ์์ฑโ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
์ค์ ๋ก๋ ๊ทธ๋ ์ง ์์์ต๋๋ค.
์๋ณธ 1,200๊ฑด์ด ์์ด๋, ํ์ต์๊ฐ ๋ณผ ๊ณต๊ฐ ๋ฌธ์๋ ๋ช ๊ฑด๋ฟ ์ผ ์ ์๋ค
โ์ ์ โ๋ผ๊ณ ๋ถ๋ฅด๋ฉด ์ฌ๋๋ง๋ค ๋ป์ด ๋ค๋ฅด๋ค (ํ์ง? ๊ฒฝ๋ก? ํ ๋ง? ๊ณต๊ฐ?)
์น Admin์์ ๋ฒํผ์ ๋๋ ๋ค๊ณ ํด์, Mac ๋์คํฌ์ ํ์ผ์ ์จ๋ ๋๋ ๊ฒ์ ์๋๋ค
๊ทธ๋์ ๋ง๋ ๊ฒ์ด Admin ๋ฌ๋์คํ๋์ค(Learning Studio) ์
๋๋ค.
์ด ๊ธ์ LC์ โ์น์ธ ๊ณต์ฅโ ๋ค์์ ๋ถ๋ ์ ์ ยทํจํค์งยท์ธ๋ถ์ฃผ์ ์์ง ๊ณต์ฅ์, ์บก์ฒ ์์๋๋ก ํ์ด ์๋๋ค.
ํ ์ค๋ก ๋งํ๋ฉด:
Learning Studio๋ โAI๊ฐ ์์์ ๋ค ๊ณต๊ฐโ๊ฐ ์๋๋ผ,
์์งยท์ ์ ยท๋ฌธ์์ถ๋ ฅยท์ธ๋ถ์ฃผ์ (์ ํ๋ธ/๊นํ๋ธ) ๋ฅผ ๋ฌธ๋ณ๋ก ๋๋๊ณ ,
Vercel์์๋ ๋ณด๊ณ , Mac์์๋ง ์ฐ๋ ๊ฒฝ๊ณ๋ฅผ ์งํค๊ฒ ๋ง๋ ์กฐ์ข ์์ ๋๋ค.
๐ ๏ธ ์งํ ๋ฐฉ๋ฒ
์ด๋ค ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๊ณ , ์ด๋ป๊ฒ ํ์ฉํ์ จ๋์?
๐บ๏ธ ํฐ ๊ทธ๋ฆผ โ 3์ถ ํต๊ณ๋ถํฐ ๋ณด๊ธฐ
040-attachments/ยง79-learning-studio-case-260813-01-3axis.png
์บก์ฒ ์: ์ ์ฒด 1212 ยท ์์ค ๋ ํผ๋ฐ์ค 1208 ยท ๊ณต๊ฐ ๋ฌธ์ 4 ยท ์ ์ ํ 1106 ยท ๋ฌ๋ํ๋ธ 4
์ถ
ํ๋ฉด์์ ๋ณด์ด๋ ๊ฒ
์ฝ๊ฒ ๋งํ๋ฉด
์ ์ฒด ์ ๋ณด ์ถ
์์ค ๋ ํผ๋ฐ์ค + ๊ณต๊ฐ ๋ฌธ์
์ฐฝ๊ณ ์ ์๋ ์ + ์ด๋ฏธ ๋ด๋ณด๋ธ ์
๊ด๋ฆฌ์ ๋ถ๋ฅ ์ถ
๋ฌ๋์ปจํธ๋กค + ๋ฌ๋์คํ๋์ค
๊ด๋ฆฌ์๊ฐ ๋ค๋ฃจ๋ ์์ ๋ (์ค๋ณต ํฌํจ ๊ฐ๋ฅ)
์ฌ์ฉ์ ์ถ
๊ณต๊ฐ ๋ฌธ์
ํ์ต์์๊ฒ ์ค์ ๋ก ๋ณด์ด๋ ์
์ด๋ณด ๊ฟํ:
โ์ ์ ํ 1106โ์ด ์ปค ๋ณด์ฌ๋ ์ ์์ ๋๋ค.
๋ง์ด ๋ชจ์๋ค โ ๋ง์ด ๊ณต๊ฐํ๋ค.
์ด ์ซ์๋ฅผ ํ ์นธ์ ์์ผ๋ฉด ํต๊ณ๊ฐ ๋ฐ๋ก ๊ฑฐ์ง๋ง์ด ๋ฉ๋๋ค.
์ฐ์ธก โPlaywright๋ฅผ ํ์ฉํ ์ํฌํ๋ก์ฐโ ์นด๋๋,
์ ํ๋ธยท๊นํ๋ธ ๊ฐ์ ์ธ๋ถ ์ฃผ์ ์์ง์ด ๊ฐ์ Admin ์์ ๋ถ์ด ์๋ค๋ ์ ํธ์
๋๋ค.
(๋ธ๋ผ์ฐ์ ์๋ํ = Playwright)
๐งฐ ์ฌ์ฉํ ๋๊ตฌ
๋๊ตฌ
์ญํ
Cursor + Skills
ํ์ดํ๋ผ์ธ ์ค๊ณยท๊ตฌํยท์ฌ๋์๋ก ์ฌ์คํ
Next.js Admin (/admin/learning-studio)
์ฌ๋์ด ๋๋ฌ ๋ณด๋ ์กฐ์ข ์
Playwright
YouTube ๊ฒ์ ๊ฒฐ๊ณผยท(API ์คํจ ์) GitHub README ๋ณด์กฐ ์์ง
GitHub REST API
๊ณต์ ์ ์ฅ์ stars/topics/description ์์ง
Supabase
Vercel์์ ์คํ ์ด๋ ฅยท์ฌ์ ๊ฒ์ฌ ๋ฆฌํฌํธ ์ ์ฅ
Mac repo (๋ก์ปฌ)
ํ์งยท์ฃผ์ ยท๊ฒฝ๋ก ์ด๊ด ๋ฑ ์คํ์ผ write
Vercel
Admin UI ๋ฐฐํฌ ยท ์ฝ๊ธฐ/๋ถ๋ถ ์คํ (ํ์ผ write ์ฐจ๋จ)
Obsidian EXTERNAL DATA
์ ํ๋ธ/๊นํ๋ธ ์์ง๋ณธ ๋ณด๊ด ๊ฒฝ๋ก
ํต์ฌ ์์น:
Admin = ์กฐ์ข
์ (์ํยท๋ฒํผยทRESULT)
Mac repo = ์ค์ ํ์ผ ๊ณต์ฅ
Vercel = ํ๋ฉด + ๊ธฐ๋ก (ํ ์ผ ์ ์ฅ ๊ธ์ง ๊ตฌ๊ฐ ์์)
Skills = ๊ฐ์ ์ผ์ ๋ด์ผ๋ ๊ฐ์ ์์๋ก
๐ข 1๋จ๊ณ โ ํ์ดํ๋ผ์ธ ๋ฌธ์ ๋จผ์ ์ฐ๋ค
040-attachments/ยง79-learning-studio-case-260813-02-pipeline-toggles.png
๋ฌ๋์คํ๋์ค ์๋จ์๋ ๋ฌธ์ด ๋ค์ฏ ๊ฐ ์์ต๋๋ค.
๋ฌธ
ํ๋ ์ผ
์์ง์์ง[INGEST]
ํํฐยท์ค์บยท๋์๋ชฉ๋ก ยท ์์ง ์ ์ฉ
์ ์ ์์ง[REFINE]
ํ์งยท์ฃผ์ โ ์ฌ์ ๊ฒ์ฌยท๊ฒฝ๋ก
๋ฌธ์์ถ๋ ฅ[Document Registry]
์คํ ์ /ํ ยท ๊ฒํ ยทPUBLISH
์ ํ๋ธ ํต์ฌ์ฃผ์ ์์ง
Playwright๋ก ํธ๋ ๋ ์ฃผ์ โ 2์ฐจ ์ ์
๊นํ๋ธ ํต์ฌ์ฃผ์ ์์ง
API(+Playwright fallback) โ 2์ฐจ ์ ์
์ด๋ณด ๊ฟํ:
๋ฌธ์ ๋จผ์ ๋ง๋ค๊ณ , ์์ง์ ๋์ค์ ๋ถ์ด์ธ์.
โ์ ์ โ ํ ๋จ์ด์ ํ์งยท๊ฒฝ๋กยท๊ณต๊ฐยท๋ฐฐํฌ๋ฅผ ๋ค ๋ฃ์ผ๋ฉด,
ํ์ด ์ปค์ง์๋ก ๋ํ๊ฐ ์ ๋ถ ์ด๊ธ๋ฉ๋๋ค.
ํ๋กฌํํธ ์์:
Learning Studio Admin์ ํ์ดํ๋ผ์ธ ๋ฌธ 5๊ฐ๋ฅผ ๋ง๋ค์ด์ค.
1) ์์ง์์ง INGEST
2) ์ ์ ์์ง REFINE
3) ๋ฌธ์์ถ๋ ฅ Document Registry
4) ์ ํ๋ธ ํต์ฌ์ฃผ์ ์์ง
5) ๊นํ๋ธ ํต์ฌ์ฃผ์ ์์ง
์กฐ๊ฑด:
- ๊ฐ ๋ฌธ์ ์ ์๋ค ํผ ์ ์๊ฒ
- INGEST๋ ์ ์ ยทํจํค์งยทํ
๋ง์ ์์ ํ ๋ถ๋ฆฌ
- ์ค๋์ UI ๋ฌธ + ํ ์ค ์ค๋ช
๋ง. ๋ฐฐํฌ/Hub ๋ณธ๋ฌธ ๊ฒ์๋ ๊ธ์ง
๐ข 2๋จ๊ณ โ ์์ง์์ง[INGEST]: ์ฌ๋ฃ๋ง ๋ชจ์๋ค
040-attachments/ยง79-learning-studio-case-260813-03-ingest-engine.png
ํ๋ฉด์์ ๋ณด์ด๋ ๊ฒ:
์์ง[INGEST] ํฐ ๋ฒํผ
๋ชฉ๋ก ์: 1,209 / ์ด 1,215
7์นธ strip: ์๋ณธ โ ์ค๋น โ ๊ณต๊ฐํ๋ณด โ ๊ณต๊ฐ โ ํ๋ธ โ ์์ โ ํผ๋ธ๋ฆฌ์
์นด๋๋ง๋ค ์ถ(๋ฌ๋์คํ๋์ค/๋ฌ๋์ปจํธ๋กค) ยท ๋จ๊ณ ยท ๊ณต๊ฐ์ฑ ยท ์น์ธ
์ค์ ๊ตฌ๋ถ (์ฌ๊ธฐ์ ๋ง์ด ํท๊ฐ๋ฆฝ๋๋ค):
UI strip 7์นธ = ์ ํ์ด โ์ด๋๊น์ง ์๋์งโ ๋ณด์ฌ์ฃผ๋ ์ง๋ํ
Factory ์์ง 6-phase = ์ค์ ๋ก ์๋ ๋๋ ๊ณต์ฅ ๋ผ์ธ
scan โ refine_inspect โ hold โ publish โ theme โ tier_migrate
์ฆ, strip์ โ๊ณต๊ฐยทํ๋ธยท์์ยทํผ๋ธ๋ฆฌ์โ๋ ์๋์ ์๋ ๊ฒ์ดํธ์
๋๋ค.
โ์ ๊ณผ์ ์๋ํโ๋ฅผ ๋๋ ๋ค๊ณ ํด์ Vercel์ ๋ฐ๋ก ์ฌ๋ฆฌ๋ ๊ตฌ์กฐ๊ฐ ์๋๋๋ค.
ํ๋กฌํํธ ์์:
์์ง์์ง INGEST๋ฅผ ์ ์ ยทํจํค์งยทํ
๋ง์ ๋ถ๋ฆฌ๋ ๋ธ๋ก์ผ๋ก ์ ์งํด์ค.
๊ท์น:
1) ํํฐ-์ค์บ-๋์๋ชฉ๋ก-์ ๊ณผ์ (์งํ strip) UI
2) ์คํ๊ฒฐ๊ณผ[RESULT]์ ์ต๊ทผ ์๋ํ๊ฐ ๋จ๊ฒ
3) strip 4~7(๊ณต๊ฐยทํ๋ธยท์์ยทํผ๋ธ๋ฆฌ์)์ manual_gate๋ก ํ์
4) ์ค๋์ ์์ง ์ ์ฉ. ํ์ผ ์ญ์ ยทcanonical mergeยทprod ๋ฐฐํฌ ๊ธ์ง
์ํ์ฐฉ์ค:
โ์ ๊ณผ์ โ์ด๋ผ๋ ๋ง์ ์์ ๋ฐฐํฌ๊น์ง ํ ๋ฒ์ ๋๋ฆฌ๋ ค๋ค ์คํจํ์ต๋๋ค.
์งํ๋ฅ 0%์ธ๋ฐ๋ ๋ชฉ๋ก์ด 1,200๊ฑด์ธ ์ํ๊ฐ ์ ์์ ๋๋ค.
๋ชฉ๋ก์ด ๋ง๋ค = ์๋ํ๊ฐ ๋๋ฌ๋ค๊ฐ ์๋๋ ๋ค.
๐ข 3๋จ๊ณ โ ์ ์ ์์ง 1๋จ๊ณ: ํ์งยท์ฃผ์ (Mac only)
040-attachments/ยง79-learning-studio-case-260813-04-refine-step1-theme.png
ํ๋ฉด ํ๋จ์ ์ฃผํฉ์ ๊ฒฝ๊ณ ๊ฐ ์ด ๊ธ์ ํต์ฌ์ ๋๋ค.
ํ์งยท์ฃผ์ ์ฐ์ถ๋ฌผ ์ ์ฅ์ Mac repo root์์๋ง ๊ฐ๋ฅํฉ๋๋ค.
Vercel Admin์์๋ ์คํ์ด ์ฐจ๋จ๋ฉ๋๋ค.
์ ์ด๋ ๊ฒ ํ์๊น์?
Vercel์๋ Mac์
~/Documents/...L0 ๊ฒฝ๋ก๊ฐ ์๋คํด๋ผ์ฐ๋์์ โํ์ผ ์ ์ฅ ์ฑ๊ณตโ์ฒ๋ผ ๋ณด์ด๊ฒ ๋ง๋ค๋ฉด, ๊ฐ์ง ์ฑ๊ณต(mock) ์ด ๋๋ค
๊ทธ๋์ UI๋ ์ด์ด ๋๋, ์ฐ๊ธฐ๋ Mac์์๋ง ํ์ฉํ๋ค
ํ๋กฌํํธ ์์:
์ ์ ์์ง 1๋จ๊ณ(ํ์งยท์ฃผ ์ )๋ฅผ ๊ตฌํํด์ค.
๊ท์น:
1) Vercel Admin์์๋ ์คํ ๋ฒํผ์ ๋นํ์ฑ + ์๋ด ๋ฌธ๊ตฌ
2) Mac repo writable์ผ ๋๋ง ์ฐ์ถ๋ฌผ ์ ์ฅ
3) ๋ฌธ์ ์ ํ โ EXECUTION / RESULT 2์นธ ๋ ์ด์์ ์ ์ง
4) mockยท๊ฐ์ง ์ฑ๊ณตยท์ฝ๊ธฐ ์ ์ฉ bypass ๊ธ์ง
์ด๋ณด ๊ฟํ:
โ์น์์ ์ ๋๋คโ๊ฐ ๋ฒ๊ทธ๊ฐ ์๋๋ผ ์ค๊ณ์ผ ์ ์์ต๋๋ค.
ํ์ผ์ด ์ง์ง๋ก ์์ด์ผ ํ๋ ๋จ๊ณ๋, ํด๋ผ์ฐ๋ ๋ฒํผ๋ง์ผ๋ก ๋๋ด๋ฉด ์ ๋ฉ๋๋ค.
๐ข 4๋จ๊ณ โ ์ ์ ์์ง 2๋จ๊ณ: ์ฌ์ ๊ฒ์ฌยท๊ฒฝ๋ก
040-attachments/ยง79-learning-studio-case-260813-05-refine-step2-path.png
1๋จ๊ณ(ํ์งยท์ฃผ์ )๊ฐ ๋๋ ๋ฌธ์๋ง ์ฌ๊ธฐ๋ก ์ต๋๋ค.
ํ๋ฉด์์ ๋ณด์ด๋ ๊ฒ:
ํ์งยท์ฃผ์ ์๋ฃ ์: 483๊ฑด
์ฌ์ ๊ฒ์ฌยท์ด๊ด ๋๊ธฐ ์: 23๊ฑด
๋ ธ๋ ์๋ด: ๋ณธ๋ฌธ ํ์ง์ด ๋ถ์กฑํ๋ฉด ๊ฒฝ๋ก๊ฐ ๋ง์๋ ๊ณต๊ฐํ๋ณด๋ก ์ฌ๋ฆฌ์ง ๋ง ๊ฒ
Vercel์์๋ ์คํ์ผ์ด๊ด ๋์ ์ฌ์ ๊ฒ์ฌ ๋ฆฌํฌํธยท์ด๋ ฅ์ Supabase์ ์ ์ฅ
์คํ ๋ฒํผ ์:
์ ํ ๋ฌธ์ ๊ฒ์ฌยท๊ฒฝ๋ก ์ฐ์ถ
์ ํ ์ผ๊ด ์ฌ์ ๊ฒ์ฌ (๋ฐฐ์น 50)
ํ๋กฌํํธ ์์:
์ ์ ์์ง 2๋จ๊ณ(์ฌ์ ๊ฒ์ฌยท๊ฒฝ๋ก)๋ฅผ ๋ถ์ฌ์ค.
๊ท์น:
1) 1๋จ๊ณ ๋ฏธ์๋ฃ ๋ฌธ์๋ ๊ถ์ฅํ์ง ์์(์๋ด ๋ฌธ๊ตฌ)
2) ์ค๋ณต ๊ฒ์ฌ + factory tier ๊ฒฝ๋ก ์ ์
3) Mac์์๋ ์ด๊ด ๊ฐ๋ฅ, Vercel์์๋ ๋ฆฌํฌํธ/์ด๋ ฅ๋ง Supabase
4) RESULT์ ์ด๊ฑด์ยท๊ฒฝ๋ก์ฐ์ถยท์ฌ์ ๊ฒ์ฌ ๊ฑด์๋ฅผ ๋จ๊ธธ ๊ฒ
๋ฐฐ์ด ์ :
๊ฒฝ๋ก๊ฐ ์์๋ค๊ณ ๊ณต๊ฐ ํ๋ณด๊ฐ ์๋๋๋ค.
ํ์ง ๊ฒ์ดํธ๋ฅผ ํต๊ณผํ ๋ค์์ผ ๊ฒฝ๋ก๊ฐ ์๋ฏธ๊ฐ ์์ต๋๋ค.
๐ข 5๋จ๊ณ โ ๋ฌธ์์ถ๋ ฅ[Document Registry]: ์คํ ์ /ํ
040-attachments/ยง79-learning-studio-case-260813-06-document-registry.png
์ฌ๊ธฐ๋ โ๊ณต์ฅ ์ถ๊ณ ์ฐฝ๊ตฌโ์ ๋๋ค.
์ผ์ชฝ ์คํ ์ : ์์ง ์๋ณผ ๋ฌธ์ (๋ณด๋ฅยท๊ฒํ ยท๊ฒฉ๋ฆฌ ํ๊ทธ)
์ค๋ฅธ์ชฝ ์คํ ํ: ํ์ดํ๋ผ์ธ ๊ฒฐ๊ณผ๊ฐ prepared ๋ฑ์ผ๋ก ๋์จ ๋ฌธ์
ํ๋จ ์คํ๋ฐ: ์ ์ ๋จ๊ณ ๊ฒํ ยท ๋ณด๋ฅ ๊ฒํ ยท ์ถ๊ฐ PUBLISH
ํํฐ๊ฐ 1,500๊ฑด์ ๋์ด๋, ์ ํ 0๊ฑด์ด๋ฉด ์คํํ์ง ์๋ ์ต๊ด์ด ์์ ํฉ๋๋ค.
ํ๋กฌํํธ ์์:
Document Registry์ ์คํ ์ /ํ 2์ด๊ณผ ํ๋จ ์คํ๋ฐ๋ฅผ ๋ง๋ค์ด์ค.
์คํ๋ฐ:
- ์ ์ ๋จ๊ณ ๊ฒํ
- ๋ณด๋ฅ ๊ฒํ
- ์ถ๊ฐ PUBLISH
๊ท์น:
- ๋ฌธ์๋ฅผ ์ ํํ ๋ค์๋ง ์คํ
- RESULT์ ๊ฒํ ยท์คํ ๊ฒฐ๊ณผ ํ์
- ์ค๋์ Registry UI + ๊ธฐ๋ก. production ๋ฌด๋จ ๊ณต๊ฐ ๊ธ์ง
๐ข 6๋จ๊ณ โ ์ธ๋ถ ์ถ: YouTube ํต์ฌ์ฃผ์ โ 2์ฐจ ์ ์
040-attachments/ยง79-learning-studio-case-260813-07-youtube-external.png
๋ด๋ถ ๋ฌธ์๋ง ๋ค๋ฌ์ผ๋ฉด, ์ฃผ์ ๊ฐ ๊ธ๋ฐฉ ๋ก์ต๋๋ค.
๊ทธ๋์ ์ธ๋ถ ์ ํธ๋ฅผ ๊ฐ์ Admin์ ๋ถ์์ต๋๋ค.
ํ๋ฆ:
ํค์๋ ์ ๋ ฅ (์:
Cursor AI, Claude Code, Remotionโฆ)Playwright๋ก YouTube ๊ฒ์ ๊ฒฐ๊ณผ์ ์ธ๊ธฐ ์ ๋ชฉยท์ฃผ์ ์์ง
Obsidian EXTERNAL DATA/youtube/์ ์ ์ฅ๋ด๋ถ ๋ฌธ์์ ๋์กฐยท์ถ์ฒ โ 2์ฐจ ์ ์ (theme signal ๋ฐ์)
ํ๋กฌํํธ ์์:
์ ํ๋ธ ํต์ฌ์ฃผ์ ์์ง ํจ๋์ Learning Studio์ ์ถ๊ฐํด์ค.
๊ท์น:
1) Playwright๋ก ๊ฒ์ ๊ฒฐ๊ณผ์ ์ ๋ชฉยทํต์ฌ ์ฃผ์ ๋ง ์์ง
2) ์ ์ฅ ๊ฒฝ๋ก: Obsidian EXTERNAL DATA/youtube/
3) ์์ง ์์ด ๋์กฐ ๋จ๊ณ๋ก ๊ฑด๋๋ธ ์ ์๊ฒ
4) 2๋จ๊ณ ๋ฌธ์์ ์ ์คํ ๋ฒํผ๊ณผ RESULT ์นธ ๋ถ๋ฆฌ
5) EXTERNAL DATA๋ ๊ธฐ๋ณธ read-only ์ ์ฑ
๋ฌธ์ํ (์ฐ๊ธฐ Phase๋ ๋ช
์ ์์๋ง)
๐ข 7๋จ๊ณ โ ์ธ๋ถ ์ถ: GitHub ํต์ฌ์ฃผ์ ์์ง
040-attachments/ยง79-learning-studio-case-260813-08-github-external.png
GitHub๋ API๋ฅผ ๋จผ์ ์๋๋ค.
์
๋ ฅ ์: vercel/ai, anthropics/claude-code, remotion-dev/remotion
โ GitHub REST API๋ก stars / topics / description
โ ์คํจ ์ Playwright๋ก README ํ์ด์ง ๋ณด์กฐ ์์ง
โ Obsidian EXTERNAL DATA/github/official/
โ ๋์กฐยท์ถ์ฒ โ 2์ฐจ ์ ์
ํ๋กฌํํธ ์์:
๊นํ๋ธ ํต์ฌ์ฃผ์ ์์ง์ ์ถ๊ฐํด์ค.
์ฐ์ ์์:
1) GitHub REST API
2) ์คํจ ์ Playwright README fallback
3) ์ ์ฅ: Obsidian EXTERNAL DATA/github/official/
4) ์์ง ์์ด ๋์กฐ ๋จ๊ณ๋ก ์ด๋ ๊ฐ๋ฅ
5) 2๋จ๊ณ ๋ฌธ์์ ์ ์ RESULT๋ฅผ YouTube ํจ๋๊ณผ ๊ฐ์ UX๋ก
๐ข 8๋จ๊ณ โ ๋ฐ๋ณต ์คํ์ Skills๋ก ๋ ์ํผํ
ํ๋ฉด๋ง ์์ผ๋ฉด ๋ด์ผ ์ ์ฑํ
์์ ๋ ์ค๋ช
ํด์ผ ํฉ๋๋ค.
๊ทธ๋์ Cursor Skills๋ก ๋ฌถ์์ต๋๋ค.
Skill
์ฝ๊ฒ ๋งํ๋ฉด
/learning-studio-3rd-edit-plus
Factory ์ ๊ณผ์ (ํ ๋ง์ ์ ๊น์ง) ์ค์ผ์คํธ๋ ์ดํฐ
/studio-pipeline-plus-auto
AskQuestion ์์ด ๊ฐ์ ์์ง ๋ฌด์ธ ์คํ
/youtube-harvest-plus
YouTube ๋ฉํ ์์ง CLI ๊ณ์ด
/edit-pipeline-plus
LC/LS/Wiki ํธ์ง hop ํตํฉ
ํฐ๋ฏธ๋์์ ์ํ๋ง ๋จผ์ ๋ณด๊ธฐ:
cd CLAUDE/PROJECTS/OpenClaw
pnpm learning-studio:pipeline-plus
์์ ํ ์คํ ์ต๊ด:
# 1) dry-run ๋จผ์
pnpm learning-studio:pipeline-plus --dry-run --limit=10
# 2) golden 1๊ฑด๋ง run
pnpm learning-studio:pipeline-plus --run --document-id doc_4a2f4c96effc
# 3) ๋จ์ผ phase
pnpm learning-studio:pipeline-plus --run --phase=theme --document-id doc_4a2f4c96effc
Skills์ฉ ํ๋กฌํํธ ์์:
/learning-studio-3rd-edit-plus
Learning Studio Factory ์ํ๋ฅผ ์ ๊ฒํ๊ณ ,
์ง๊ธ ์์ ํ ๋ค์ ๋จ๊ณ ํ๋๋ง ์ถ์ฒํด์ค.
theme / tier_migrate ๋ Mac writable์ผ ๋๋ง.
Vercel์์๋ dry-run ๋๋ partial๋ก ์ค๋ช
.
์ ๊ณผ์ ์คํ์ ๋ด๊ฐ โ์คํโ์ด๋ผ๊ณ ํ ๋๋ง.
/learning-studio-3rd-edit-plus --dry-run --limit=10
ํ์ผ ์ฐ์ง ๋ง๊ณ , ์ํฅ ๋ฐ๋ ๋ฌธ์ ๋ชฉ๋ก๊ณผ skip ์ฌ์ ๋ง ๋ณด์ฌ์ค.
๐ ์ ๊ณผ์ ํ์๋ผ์ธ (๊ตฌ์ถ ์์)
์ฉ์ด ๊ณ ์ : ์์ง / ์ ์ 1(ํ์งยท์ฃผ์ ) / ์ ์ 2(๊ฒฝ๋ก) / ๋ฌธ์์ถ๋ ฅ / ์ธ๋ถ์ฃผ์
Admin์ ๋ฌธ 5๊ฐ
INGEST + strip + RESULT
์ ์ 1ยท2๋จ๊ณ + Mac only write ๊ฐ๋
Document Registry ์คํ ์ /ํ
YouTube ยท GitHub ์ธ๋ถ ์์ง + 2์ฐจ ์ ์
Skills๋ก ์ฌํ ๊ฐ๋ฅํ ๋ ์ํผํ
LC(์น์ธ) โ LS(๊ณต์ฅ) ์ซ์ ์ถ์ ์์ง ์๊ธฐ
๐ก ๊ฒฐ๊ณผ์ ๋ฐฐ์ด ์
๋ฐฐ์ด ์ ๊ณผ ๋๋ง์ ๊ฟํ์ ์๋ ค์ฃผ์ธ์.
๐น ๊ฒฐ๊ณผ (์ด ๊ธ ์์ ์ ์ด์ ๊ฐ๊ฐ)
Admin์์ ์์ง โ ์ ์ โ ๋ฌธ์์ถ๋ ฅ โ ์ธ๋ถ์ฃผ์ ๋ฅผ ํ ํ๋ฉด ๊ฐ์กฑ์ผ๋ก ๋ณผ ์ ์๊ฒ ๋จ
์์ค ๋ ํผ๋ฐ์ค ์ฒ ๋จ์ / ๊ณต๊ฐ ๋ฌธ์ ์์ / ์ ์ ํ ์ฒ ๋จ์๋ฅผ ์๋ก ๋ค๋ฅธ ์งํ๋ก ์ ์ง
Vercel์์๋ ์กฐ์ข ์ด ๋๊ณ , Mac์์๋ง ํ์ผ write๊ฐ ๋๋ ํ๊ฒฝ ๊ฒฝ๊ณ๊ฐ UI ๋ฌธ๊ตฌ๋ก ๊ณ ์ ๋จ
PlaywrightยทGitHub API๋ก ์ธ๋ถ ํธ๋ ๋๋ฅผ Obsidian EXTERNAL DATA์ ๋ถ์ฌ, ๋ด๋ถ ๋ฌธ์ 2์ฐจ ์ ์ ์ ์ฐ๊ฒฐ
โ ๏ธ ์ํ์ฐฉ์ค
โ์ ๊ณผ์ ์๋ํ = ๋ฐฐํฌ๊น์งโ๋ก ์คํด
โ strip 4~7์ ์๋ ๊ฒ์ดํธ๋ก ๋ค์ ๋ชป ๋ฐ์Vercel์์ ํ์งยท์ฃผ์ ์ ์ฅ์ด ์ ๋๋ค๊ณ ๋ฒ๊ทธ ํฐ์ผ์ ๋
โ ์ฌ์ค์ HARD-GATE. ๊ฐ์ง ์ฑ๊ณต์ ๋ง๊ธฐ ์ํ ์ค๊ณ๊ฒฝ๋ก๋ง ๋ง์ผ๋ฉด ๊ณต๊ฐํ๋ณด๋ก ์ฌ๋ฆผ
โ ํ์ง ๊ฒ์ดํธ ์๋ ๊ฒฝ๋ก๋ ์ฌ๊ณ . 1๋จ๊ณ ์๋ฃ ํ 2๋จ๊ณํต๊ณ๋ฅผ DocReader ๊ธธ์ด๋ก ํต์ง ์นํ
โ โ์์ค ๋ ํผ๋ฐ์ค = 0โ ๊ฐ์ Production ์ฌ๊ณ ์ ํ. ์ถ๋ณ SSOT ๊ณ ์ LC์ LS๋ฅผ ๊ฐ์ ๋ฒํผ์ผ๋ก ์์
โ LC๋ ์น์ธ ๋ฌธ, LS๋ ๊ณต์ฅ. ์ฌ๋์ Skill๋ ๊ฐ์กฑ๋ง ๋ค๋ฅด๊ฒ ์ ์ง
๐น ๋๋ง์ ๊ฟํ
๋ฒํผ์ ๋ง๋ค๊ธฐ ์ ์ ๋ฌธ ์ด๋ฆ์ ๋จผ์ ๋ฐ๋๋ค
dry-run / RESULT ์๋ ์คํ์ ํ์ง ์๋๋ค
โ์น์์ ๋๋คโ์ โํ์ผ์ด ์๊ธด๋คโ๋ฅผ ๊ฐ์ ๋ฌธ์ฅ์ ์ฐ์ง ์๋๋ค
์ธ๋ถ ์์ง(YouTube/GitHub)์ ๋ด๋ถ Factory์ ๋ฌธ๋ง ๊ณต์ ํ๊ณ , ์ ์ฅ์(EXTERNAL DATA)๋ ๋ถ๋ฆฌํ๋ค
๋ด์ผ์ ๋๋ฅผ ์ํด
/learning-studio-3rd-edit-plusํ ์ค์ ๋จ๊ธด๋ค
๐ ๋์์ด ํ์ํ ๋ถ๋ถ
YouTube/GitHub ์์ง๋ณธ โ wiki/๊ณต๊ฐ ๋ฌธ์๋ก ๊ฐ๋ ์ถ์ฒ ํ์ง ๊ธฐ์ค์ ์ปค๋ฎค๋ํฐ์ ๋ ๋ค๋ฌ๊ณ ์ถ์ต๋๋ค
๋ฐฐ์น 50 ๋จ์ ์ฌ์ ๊ฒ์ฌ์ ์ ์ ํฌ๊ธฐ(์๋์ ์์ ) ๊ฒฝํ๋ด์ด ๊ถ๊ธํฉ๋๋ค
๐ ์์ผ๋ก์ ๊ณํ
Factory 6-phase์ ์คํจ ์ resume / partial report ๋ณด๊ฐ
์ธ๋ถ ์ฃผ์ 2์ฐจ ์ ์ ์๋ฃ ๊ฑด์๋ฅผ ๊พธ์คํ ์ฌ๋ ค, โ์์ง๋ง ํ๊ณ ์ ์ฐ๋โ ํ๋ฅผ ์ค์ด๊ธฐ
LC ์ฌ๋ก๊ธ(ยง31)๊ณผ ์ด LS ์ฌ๋ก๊ธ์ ํ ์๋ฆฌ์ฆ๋ก ๋ฌถ์ด, ์ด๋ณด์๊ฐ ๊ณต์ฅ ์ ์ฒด ์ง๋๋ฅผ ๋ฐ๋ผ์ค๊ฒ ํ๊ธฐ
ํ์ ์ voice briefing / ํฌ์คํฐ๋ก ๊ฐ์ ๋ด์ฉ์ ๋ค๋ฅธ ํฌ๋งท์ผ๋ก ๋ด๋ณด๋ด๊ธฐ
๐ ๋์ ๋ฐ์ ๊ธ (์ต์ )
์ฐธ๊ณ ํ ์งํผํฐ์ค ๊ธ์ด๋ ์ธ๋ถ ์ฌ๋ก๋ฅผ ์๋ ค์ฃผ์ธ์.
์์ฒด ์ ํ ์ฌ๋ก: Learning Control ์ ๊ณผ์ ๊ตฌ์ถ๊ธฐ (๊ฐ์ SaaS Admin ๊ณต์ฅ์ ์น์ธ ๋ผ์ธ)
Admin ์ค์ต ํ๋ฉด: Learning Studio
Playwright ๊ณต์ ๋ฌธ์ (๋ธ๋ผ์ฐ์ ์๋ํ)
GitHub REST API ๋ฌธ์ (์ ์ฅ์ ๋ฉํ๋ฐ์ดํฐ)
๐ ๋ณต๋ถ์ฉ โ GPTERS ๊ฒ์ ๋ณธ๋ฌธ (๋งํฌ๋ค์ด ๋จ์ํ)
์๋๋ ์ปค๋ฎค๋ํฐ ์๋ํฐ์ ๊ทธ๋๋ก ๋ถ์ฌ๋ฃ๊ธฐ ์ฌ์ด ๋ฒ์ ์
๋๋ค.
์ด๋ฏธ์ง๋ ์ ์บก์ฒ 8์ฅ์ ์์๋๋ก ์
๋ก๋ํ์ธ์.
๐น ์ ๋ชฉ
์์ง์ ํด๋ผ์ฐ๋์์, ํ์ผ ์ฐ๊ธฐ๋ Mac์์ โ Learning Studio ํต์ฌ ํ์ดํ๋ผ์ธ ๊ตฌ์ถ๊ธฐ
๐น ์๊ฐ
๋ฌ๋์ปจํธ๋กค๋ก ์๋ณธ ์์งยท์น์ธ ๋ฌธ(Gate)์ ๋ง๋ ๋ค์๋ โ๊ทธ๋ค์ ๊ณต์ฅโ์ด ํ์ํ์ต๋๋ค.
์น์ธ๋ง์ผ๋ก๋ ํ์ต ๋ฌธ์๊ฐ ์์ฑ๋์ง ์์๊ณ , ์ ์ ยท๊ฒฝ๋กยทํจํค์งยท์ธ๋ถ์ฃผ์ (์ ํ๋ธ/๊นํ๋ธ)๊ฐ ๋จ์ ์์์ต๋๋ค.
Learning Studio Admin์ ๊ทธ ๊ณต์ฅ์ ๋ฌธ๋ณ๋ก ๋๋๊ณ , Vercel์์๋ ๋ณด๊ณ Mac์์๋ง ํ์ผ์ ์ฐ๋๋ก ๊ฒฝ๊ณ๋ฅผ ์งํจ ์กฐ์ข ์์ ๋๋ค.
Admin: https://saas-engine-xi.vercel.app/admin/learning-studio
๐น ์งํ ๋ฐฉ๋ฒ
3์ถ ํต๊ณ๋ก โ๋ชจ์ ์ / ๊ด๋ฆฌ ์ / ๊ณต๊ฐ ์โ์ ๋ถ๋ฆฌ
๋ฌธ 5๊ฐ: INGEST ยท REFINE ยท Document Registry ยท YouTube ยท GitHub
INGEST๋ ์์ง ์ ์ฉ, strip 4~7์ ์๋ ๊ฒ์ดํธ
์ ์ 1๋จ๊ณ(ํ์งยท์ฃผ์ )๋ Mac only write
์ ์ 2๋จ๊ณ(์ฌ์ ๊ฒ์ฌยท๊ฒฝ๋ก)๋ ํ์ง ํต๊ณผ ํ
Document Registry์์ ์คํ ์ /ํ + PUBLISH
PlaywrightยทGitHub API๋ก ์ธ๋ถ ์ฃผ์ ์์ง ํ 2์ฐจ ์ ์
/learning-studio-3rd-edit-plus๋ก ๋ ์ํผํ
(ํ๋กฌํํธยท์ฝ๋ ์์๋ ๋ณธ๋ฌธ ์๋จ Vault ๋ ธํธ์ ๋์ผ)
โจ ๊ฒฐ๊ณผ์ ๋ฐฐ์ด ์
์๋ํ์ ๋ฏธ๋์ โ๋ค ๋ฐ์ด ๋ฃ๋ ๊ฒโ์ด ์๋๋ผ โ์ํํ ์ฐ๊ธฐ๋ฅผ ๋ฉ์ถ๋ ๊ฒโ์ด๊ธฐ๋ ํ์ต๋๋ค.
์น ๋ฒํผ๊ณผ ํ์ผ ๊ณต์ฅ์ ๊ฐ์ ๋ฌธ์ฅ์ผ๋ก ์ทจ๊ธํ์ง ์๋ ๊ฒ์ด ๊ฐ์ฅ ํฐ ๊ตํ์
๋๋ค.