GitHub Copilot์ ํน์ ๋ชจ๋ธ์ ์ข ์๋์ง ์๋ ๊ณ ์ฑ๋ฅ ์์ง๋์ด๋ง ์์ด์ ํธ๋ก ํ์ฅํ๋ ๊ฒฝ๋ ์ปค์คํฐ๋ง์ด์ง ํท์ ๋๋ค. ๋จ์ผ ์ง์นจ ํ์ผ๊ณผ ์จ๋๋งจ๋ ์คํฌ, ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์์ฑ ์์ง์ผ๋ก ์ฌ๊ณ ยท์ํตยท์์ ยท์ฝ๋ฉยทGitยทํฉํธ์ฒดํฌยท์น ์กฐ์ฌยท๊ณ ๊ฐ ๋ฐ๋ชจยทPPTX ์ ์ ์ํฌํ๋ก๋ฅผ ์ ๊ณตํ๋ฉฐ, ๋ชจ๋ ๊ฒฐ๊ณผ๋ ๊ฒฐ๋ก ๊ณผ ๋ค์ ํ๋์ด ๋จผ์ ๋ณด์ด๋ Straightforward ํ์์ ์ฐ์ ํฉ๋๋ค.
์ด ๋ฆฌํฌ์ .github/ ํด๋๋ฅผ ํ๋ก์ ํธ์ ๋๋ฉด GitHub Copilot(VS Code Chat์ Agent modeยทํฐ๋ฏธ๋ CLI)์ด
์ง์นจ๊ณผ ์คํฌ์ ์๋์ผ๋ก ์ฝ์ต๋๋ค. .vscode/mcp.json๊น์ง ์ ์ฉํ๋ฉด VS Code Agent mode์์๋
Microsoft Learn MCP๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Augment๋ GitHub Copilot์ ์ญ๋์ ์ง์นจยท์คํฌยทMCP๋ก ๋ณด๊ฐํ๋ค๋ ๋ป์ ๋๋ค. ํน์ ๋ชจ๋ธ๋ช ์ ์ ์ฅ์ ์ ์ฒด์ฑ์ ํฌํจํ์ง ์์ผ๋ฉฐ,
/model๋๋ ๋ชจ๋ธ ์ ํ๊ธฐ์์ ํ์ฌ ์์ ์ ๊ฐ์ฅ ์ ํฉํ ๋ชจ๋ธ๋ก ์ธ์ ๋ ๊ต์ฒดํ ์ ์์ต๋๋ค.ํ์ฌ ๊ฒ์ฆ ๊ธฐ์ค(2026-07-15): ์ด ๋ฒ์ ์ ์ง์นจยท์คํฌยท์์ ์ํฌํ๋ก๋ GPT-5.6 Sol๋ก ์ต์ข end-to-end ํ ์คํธ์ ํ์ง ๊ฒ์ฆ์ ์ํํ์ต๋๋ค. GPT-5.6 Sol์ ๊ณ ์ ๋ฐํ์ ์์กด์ฑ์ด ์๋๋๋ค. ๋ ์ ํฉํ ์ต์ ๋ชจ๋ธ์ด ์ ๊ณต๋๋ฉด ๊ณ์ ์ฌ๊ฒ์ฆยท์ ๋ฐ์ดํธํ๋, ์ง์นจยทSkillsยทMCP ์ํฌํ๋ก๊ฐ ํน์ ๋ชจ๋ธ์ ์ข ์๋์ง ์๋ ์ค๊ณ ์์น์ ์ ์งํฉ๋๋ค.
- ๋ฌด์: GitHub Copilot์ ์ ํ ์ ์๋ ๋จ์ผ ์ง์นจ + ์ ๋ฌธ ์คํฌ ๋ชจ์์ ๋๋ค.
- ์: ๊ธฐ๋ฐ ๋ชจ๋ธ์ด ๋ฐ๋์ด๋ Straightforwardํ ๊ฒฐ๊ณผ์ ์ผ๊ด๋ ํ์งยท์์ ยท์ ๋ฌธ ์ํฌํ๋ก๋ฅผ ์ ์งํ๋๋ก Copilot์ ์คํ ๋ฐฉ์์ ๋ณด๊ฐํฉ๋๋ค.
- ์ด๋ป๊ฒ:
.github/๋ฅผ ๋๋ฉด ์ง์นจยท์คํฌ์ด ์๋ ๋ก๋๋๊ณ , ์์ฑ ์คํฌ์ ์ค์๊ฐ ์กฐ์ฌยท์คํ ๋ฆฌ๋ผ์ธ ๊ฐ์ ์๋ฏธ ๊ณ์ธต๊ณผ Golden Runtimeยทํตํฉ QA Runner ๊ฐ์ ๊ฒ์ฆ ์์ง์ ์กฐํฉํด ๋ฐ๋ณต ๊ตฌํ ์๊ฐ์ ์ค์ ๋๋ค.
| ๋ธ๋ก | ์์น | ๋์ ๋ฐฉ์ | ๋ด์ฉ |
|---|---|---|---|
| Instructions | .github/copilot-instructions.md |
๋งค ๋ํ ์๋ ๋ก๋ | Straightforward ๊ฒฐ๊ณผ ยท ํ๋ฅด์๋ ยท ์ฌ๊ณ ยท ์ํต ยท ์์ ยท ์ฝ๋ฉ ยท Git ยท MS/GitHub ๊ฐ์น ยท ํฉํธ์ฒดํฌ ยท ์ถ์ฒ |
| Skills | .github/skills/ |
๊ด๋ จ ์ง๋ฌธ ์ ์๋ ํ์ฑํ ๋๋ /skill-name |
๊ฒฐ๋ก ์ฐ์ ์ค์๊ฐ ๊ฒ์ ยท ๊ณ ๊ฐยท์ฐ์ ๋ณ AI/App Platform ๋ฐ๋ชจ ยท ์ ์ํ PPTX ์์ฑ |
| MCP (์ฌ์ ๋ฒ๋ค) | .github/mcp.json ยท .vscode/mcp.json |
clone ํ ์ ๋ขฐ/Start ์น์ธ ์ ํ์ฑํ | Microsoft Learn MCP โ ๊ณต์ ๋ฌธ์ยท์ฝ๋ ์ํ ๊ฒ์ (Azureยท์ฌ๋ด MCP๋ ์ ํ ์ฐ๊ฒฐ) |
์์ ์ ์ฉ ์์น์ ๋จ์ผ ํ์ผ๋ก ํตํฉํด ์ค๋ณต์ ์ค์ด๊ณ , ์์ธ ์ํฌํ๋ก๋ ๊ด๋ จ ์์ ์์๋ง ์คํฌ๋ก ๋ถ๋ฌ์ต๋๋ค.
git clone https://github.com/junwoojeong100/github-copilot-augment-kit.git
cd github-copilot-augment-kit
code .VS Code์์ Copilot Chat์ Agent mode๋ก ์ด๊ณ ๋ชจ๋ธ ์ ํ๊ธฐ(Model Picker) ์์ ์์ ์ ์ ํฉํ ๋ชจ๋ธ์ ์ ํํฉ๋๋ค. ๋ชจ๋ธ์ด ๋ฐ๋์ด๋ ๋์ผํ ์ง์นจ๊ณผ ์คํฌ์ด ์ ์ฉ๋ฉ๋๋ค.
์ ์ฒด ํท์ ์ ์ฉํ๋ ค๋ฉด **.github/์ .vscode/mcp.json**์ ํ๋ก์ ํธ ๋ฃจํธ์ ๋ณต์ฌํฉ๋๋ค.
์๋ ๋ช
๋ น์ ๋์ ํ๋ก์ ํธ์ ๊ฐ์ ์ด๋ฆ์ ์ค์ ํ์ผ์ด ์์ ๋๋ง ์ฌ์ฉํ์ธ์.
cp -R github-copilot-augment-kit/.github /path/to/my-project/
mkdir -p /path/to/my-project/.vscode
cp github-copilot-augment-kit/.vscode/mcp.json /path/to/my-project/.vscode/mcp.json๊ธฐ์กด ํ๋ก์ ํธ ์ฃผ์:
.github/copilot-instructions.md,.github/mcp.json,.vscode/mcp.json๋๋ ๊ฐ์ ์ด๋ฆ์ ์คํฌ์ด ์ด๋ฏธ ์์ผ๋ฉด ์ ๋ช ๋ น์ ๊ทธ๋๋ก ์คํํ์ง ๋ง๊ณ ๋ด์ฉ์ ๊ฒํ ํด ๋ณํฉํ์ธ์. repository-widecopilot-instructions.md๋ ํ๋์ง๋ง,.github/instructions/**/*.instructions.md์AGENTS.md๋ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ด ํท์ VS Code Copilot Chat์ Agent mode์ ํฐ๋ฏธ๋์ฉ GitHub Copilot CLI ์์ชฝ์์ ๋์ํฉ๋๋ค.
ํ์ฑ GitHub Copilot ๊ตฌ๋ ์ด ํ์ํฉ๋๋ค. ๊ณต์ ์ค์น ๋ฐฉ๋ฒ์ GitHub Docs๋ฅผ ๊ธฐ์ค์ผ๋ก ํ์ธํ์ธ์.
# macOS / Linux (Homebrew)
brew install --cask copilot-cli
# ํฌ๋ก์ค ํ๋ซํผ (npm, Node.js 22+)
npm install -g @github/copilot์ค์น ํ ๋ฆฌํฌ ๋๋ ํ ๋ฆฌ์์ copilot์ ์คํํ๊ณ , ์ฒซ ์คํ ์ /login์ผ๋ก ์ธ์ฆํฉ๋๋ค.
| ๋ช ๋ น | ์ค๋ช |
|---|---|
/model |
์์ ์ ์ฌ์ฉํ AI ๋ชจ๋ธ ์ ํ ๋๋ Auto ์ค์ |
/diff |
๋ณ๊ฒฝ์ฌํญ ๋ฆฌ๋ทฐ |
/plan |
๊ตฌํ ๊ณํ ์๋ฆฝ |
/help |
์ ์ฒด ๋ช ๋ น ๋ณด๊ธฐ |
| ํญ๋ชฉ | VS Code Copilot Chat (Agent mode) | GitHub Copilot CLI |
|---|---|---|
copilot-instructions.md |
โ ์๋ ์ ์ฉ | โ ์๋ ์ ์ฉ |
skills/ |
โ
์๋ ํ์ฑํ ยท /skill-name |
โ
์๋ ํ์ฑํ ยท /skill-name |
| Microsoft Learn MCP | .vscode/mcp.json์์ Start |
.github/mcp.json์ ์ ๋ขฐ ํ ์๋ ๋ก๋ |
| ๋ฒ์ฉ ์ต์ ์น ๊ฒ์ | ๊ณต์ ๋๋ฉ์ธ ๊ฒ์ โ Copilot web search โ broad Research | ๊ณต์ ๋๋ฉ์ธ ๊ฒ์ โ ๋ด์ฅ web search โ broad Research |
์ด ํท์ ์ง์นจยท์คํฌ์ ์ฃผ๋ก ๋ฐฉํฅ(๋ฌด์์ ๋ค๋ฃฐ์ง), ํ์(์ด๋ป๊ฒ ์ ๋ฆฌํ ์ง), ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ํฌํ๋ก๋ฅผ ์ ์ํฉ๋๋ค. ์๋น์ค๋ช ๊ณผ ์์๋ ํฌํจํ์ง๋ง, ์์ฃผ ๋ฐ๋๋ ๊ธฐ๋ฅ ์ํยท๊ฐ๊ฒฉยท์์นยท๊ท์ ์กฐํญ์ ๊ฐ๋ฅํ ํ ๊ณ ์ ํ์ง ์์ต๋๋ค.
- ์? ํด๋ผ์ฐ๋ยทAIยท๊ท์ ๋ ๋น ๋ฅด๊ฒ ๋ณํฉ๋๋ค. ๋ฐ์ ๋ ๋ด์ฉ์ ๊ธ๋ฐฉ ๋ก๊ณ ํ ํฐ๋ง ์๋ชจํฉ๋๋ค.
- ๋์ ๋ต๋ณ ์์ ์ ๊ณต์ ๋ฌธ์(
learn.microsoft.comยทdocs.github.com)์ client๊ฐ ์ ๊ณตํ๋ web search/Research ๋๊ตฌ ๋๋ ์น์ธ๋ search MCP๋ก ์ต์ ์ ๋ณด๋ฅผ ํ์ธํฉ๋๋ค. - ํจ๊ณผ: ์ต์ ์ฑ ์ค๋ฅ์ ์ ์ง๋ณด์ ๋ถ๋ด์ ์ค์ ๋๋ค. ๊ฒ์ ๊ฐ๋ฅ ์ฌ๋ถ์ ์๋ฌธ ๊ฐฑ์ ์์ ์ ๋ฐ๋ผ ์ต์ ์ฑ์๋ ํ๊ณ๊ฐ ์์ ์ ์์ต๋๋ค.
.github/
โโโ copilot-instructions.md # ๋จ์ผ ํต์ฌ ์ง์นจ (๋งค ๋ํ ์๋ ๋ก๋)
โโโ mcp.json # Microsoft Learn MCP ์ฌ์ ๋ฒ๋ค (CLI ์ํฌ์คํ์ด์ค ์๋ ๋ก๋)
โโโ mcp.enghub.example.json # Microsoft ์ฌ๋ด EngHub MCP ์์ (์์ง์์ด ๋ณต์ฌํด์ ์ฌ์ฉ)
โโโ skills/ # ์ ๋ฌธ ์คํฌ (์จ๋๋งจ๋)
โโโ web-search/ # ์ค์๊ฐ ์นยท๊ณต์ ๋ฌธ์ ๊ฒ์๊ณผ ๊ตฌ์กฐํ ์์ง
โ โโโ SKILL.md
โ โโโ schema/ # machine-readable Fact Ledger ๊ณ์ฝ
โ โโโ scripts/ # Fact Ledger schemaยทsemantic validator
โ โโโ examples/ # Fact Ledger JSON ์์
โ โโโ tests/ # ๊ฒ์ยท์์ง ์ ์ฑ
๊ณ์ฝ ํ
์คํธ
โโโ ai-platform-demo/ # ๊ณ ๊ฐยท์ฐ์
๋ณ AIยทApp Platform ๋ฐ๋ชจ(๋จ์ผ HTML) ์์ฑ๊ธฐ
โ โโโ SKILL.md # ์ค์๊ฐ ๋ฆฌ์์นโ๋ฉ๋ดยท๋ฐ์ดํฐ ๋งคํโOverlay ํฉ์ฑโ๊ฒ์ฆ
โ โโโ runtime/ # ๊ฒ์ฆ๋ SPA shellยทCSSยทJavaScript Golden Runtime
โ โโโ packs/ # ๋์์ธยท๊ณ ๊ฐ ์ฌ์ค์ ๊ณ ์ ํ์ง ์๋ ์ฐ์
๋ณ ๊ธฐ๋ณธ ๊ตฌ์กฐ
โ โโโ schema/ # ๊ณ ๊ฐ๋ณ demo-spec JSON Schema
โ โโโ scripts/ # Overlay ComposerยทSpec Rendererยท๋ธ๋ผ์ฐ์ ๊ฒ์ฆ๊ธฐ
โ โโโ tests/ # Compositionยทdesign ๊ณ ์ ๊ฒ์ฌ ํ๊ท ํ
์คํธ
โ โโโ examples/ # ์ ์ฒด Specยทcompact Customer Overlay ๊ตฌ์กฐ ์์
โ โโโ reference/ # soft-dark ๊ธฐ๋ณธ ๋์์ธยทํ๋ฉด archetypeยทRuntimeยท๊ฒ์ฆ ์ ์ฐจ
โโโ adaptive-presentation/ # ์ฃผ์ ยท์ฒญ์ค๋ณ PPTX ์์ฑ๊ธฐ(์กฐ์ฌยท์คํ ๋ฆฌ๋ผ์ธ ์ค์ฌ)
โโโ SKILL.md # ์กฐ์ฌโDeck Specโ์์ ์ ์โrevision-bound ๊ฒ์ฆ
โโโ schema/ # Deck Specยทtemplateยทfinding ์์ธยท์๊ฐ ๊ฒํ ๊ณ์ฝ
โโโ reference/ # ์คํ ๋ฆฌ๋ผ์ธยท์ ์ยท๊ฒ์ฆยทDeck Spec ๊ฐ์ด๋
โโโ scripts/ # template/font adapterยทํตํฉ QAยท๋ ๋๋ง
โโโ tests/ # ๊ณ์ฝยทadapterยท๊ฒ์ฆ Runner ํ๊ท/E2E ํ
์คํธ
.vscode/
โโโ mcp.json # VS Code Copilot Agent์ฉ MCP ๋ฒ๋ค
๋งค ๋ํ์ ์๋ ๋ก๋๋๋ ๋จ์ผ ์ง์นจ. ์๋ ์์น์ ์์ถํด ๋ด์ต๋๋ค.
| ์น์ | ํต์ฌ |
|---|---|
| ํ๋ฅด์๋ & ์ฌ๊ณ | ์ง์ ๊ฒธ์, ๋จ๊ณ์ ์ถ๋ก , ๋ถํ์ค์ฑ ํ๊ธฐ |
| ์ปค๋ฎค๋์ผ์ด์ | Straightforward ๊ฒฐ๊ณผ, ๊ฒฐ๋ก ์ฐ์ (BLUF), ์ ์์ ์ํต, ํ๊ตญ์ด ์กด๋๋ง+์๋ฌธ ๋ณ๊ธฐ |
| ์์ & ์ค๋ฆฌ | ํด๋ก์ด ์ฝํ ์ธ ๊ฑฐ๋ถ, PII/์ํฌ๋ฆฟ ๋ณดํธ |
| ์ฝ๋ฉ | ๊ฐ๋ ์ฑยท๋ณด์(OWASP) ์ฐ์ , ์ธ์ด๋ณ ๋ฒ ์คํธ ํ๋ํฐ์ค |
| Git ์ํฌํ๋ก์ฐ | ์์ด ์ปค๋ฐ, Conventional Commits, PR ๊ท์น |
| MS/GitHub ๊ฐ์น | ๊ตฌ์ฒด ์๋น์ค๋ก ํต์ ยท๊ฐ์น ๋งคํ(FoundryยทAgent FrameworkยทGitHub PlatformยทAKSยทACA ๋ฑ) |
| ํฉํธ์ฒดํฌ ยท ์ถ์ฒ | ์ต์ ยท์์นยท๋ ผ์ยท์์ฌ๊ฒฐ์ ํต์ฌ ์ฃผ์ฅ๋ง ๊ฒ์ฆ ํ, ์ค์ ์ฐธ์กฐํ ์ถ์ฒ ๋ช ์ |
Skills โ ์์ฐ์ด ๋๋ /skill-name
| ์คํฌ | ํธ๋ฆฌ๊ฑฐ ์์ | ๊ธฐ๋ฅ |
|---|---|---|
| web-search | "์ต์ ๋ฒ์ ์๋ ค์ค", "๊ณ ๊ฐยท์ฐ์ ๊ธฐ์ด์๋ฃ ์์งํด์ค" | ์ ์ฉ ๊ฒ์ ๋๊ตฌยท๊ณต์ ๋ฌธ์ ๊ฒ์์ผ๋ก ์๋ฌธ์ ๊ฒ์ฆํ๊ณ Markdown/JSON Fact Ledger๋ก ๊ตฌ์กฐํํด downstream ์คํฌ์ ์ ๋ฌ |
| ai-platform-demo | "โโ ๊ณ ๊ฐ AI ๋ฐ๋ชจ", "AKS/ACA App Platform ๋ฐ๋ชจ", "CI/CD ์์ ๋ฐ๋ชจ" | ์ค์๊ฐ ์กฐ์ฌ + focus๋ณ ์คํ ๋ฆฌ๋ผ์ธ + ์ ์ฐํ route Overlay โ 5~8ํ๋ฉด soft-dark ๋จ์ผ HTML SaaS ๋ฐ๋ชจ ์์ฑยท์ ์ฒด QA |
| adaptive-presentation | "๋ณ์ ๊ฒฝ์์ง ๋์ ์๋ฃ AI ์ ๋ต PPT 20์ฅ", "๊ธฐ์ ๋ฐํ์๋ฃ ๋ง๋ค์ด์ค", "์ ํ ์๊ฐ ์ฌ๋ผ์ด๋" | ๊ฒฐ๋ก ยท๋ค์ ํ๋ ์ฐ์ ์คํ ๋ฆฌ๋ผ์ธ + ํ์ํ ์ธ๋ถ ์กฐ์ฌ + python-pptx ์์ ์ ์ + ํตํฉ QA Runner โ ํธ์ง ๊ฐ๋ฅํ PPTX |
๊ณ ๊ฐ์ฌ ์์ ๋ณด๊ณ ยท์์ ์ฉ "์ค์ ๋ก ๋์ํ๋" AIยทApp Platform ์ด์ ๋ฐ๋ชจ๋ฅผ ๋จ์ผ HTML ํ๋๋ก ์์ฑํฉ๋๋ค. AI ์ค์ฌ, App PlatformยทCI/CD ์ค์ฌ, ๊ท ํํ focus๋ฅผ ์ง์ํ๋ฉฐ ์ฌ๋ผ์ด๋๊ฐ ์๋๋ผ ์์์ด ์ง์ ํด๋ฆญยท์ง๋ฌธยท์กฐ์ํ๋ SaaS ์ฑ์ ๋๋ค.
๋ฌด์์ ๋ง๋๋ โ ์ฌ์ด๋๋ฐ + ์ค์๊ฐ ๋์๋ณด๋ + ๋๋ฉ์ธ/App Platform ์ด์ ์ฝ์ + GitHub ๊ธฐ๋ฐ
๊ฐ๋ฐยท๋ฐฐํฌ + AI ์์ด์ ํธ ์ฑํ
+ ํตํฉ ๊ฑฐ๋ฒ๋์ค ์ค ๋ชฉ์ ์ ๋ง๋ 5~8๊ฐ ํ๋ฉด SPA. ๊ณ ๊ฐ ์
๋ฌด
35๊ฐ์ ํ๋ซํผ ํ๋ฉด 23๊ฐ๋ฅผ ์ ํํ๊ณ 4~6๊ฐ ํต์ฌ ์์ฐ ์ฅ๋ฉด์ผ๋ก ๋์ ์ ์์ถํฉ๋๋ค. ์ฒซ ํ๋ฉด์์ ๊ณ ๊ฐ ๊ฒฐ๊ณผยทKPIยทprimary action์ด ๋ณด์ด๊ณ , ์ค์๊ฐ
KPIยท์คํธ๋ฆฌ๋ฐ ์ฐจํธยท์์ง์ด๋ ๊ฐ์ฒดยทํ ์คํธยท๋ฉํฐ์์ด์ ํธ ํ์
๊น์ง ๋์ํฉ๋๋ค.
์ฌ์ฉ๋ฒ โ ์์ฐ์ด๋ก ๊ณ ๊ฐ๊ณผ ์ฐ์ ์ ์๋ ค์ฃผ๊ณ , ํ์ํ๋ฉด AI ์ค์ฌ ๋๋ App PlatformยทCI/CD ์ค์ฌ focus๋ฅผ ์ง์ ํ๋ฉด ๋ฉ๋๋ค.
> ํ๋์ ์ฒ ๋์์ผ๋ก ์ฒ ๊ฐ ์ ์กฐ AI ์ด์ ํ๋ซํผ ๋ฐ๋ชจ ๋ง๋ค์ด์ค. ์ฒญ์ค์ CDOยท์์ฐ๋ณธ๋ถ์ฅ.
> OO์ฌ ๋์์ผ๋ก GitHub Actions์ AKS/ACA ์ด์์ ๊ฐ์กฐํ App Platform ์์ ๋ฐ๋ชจ ๋ง๋ค์ด์ค.
์คํฌ์ด ์๋ ๋ก๋๋์ด โ ๋งค ์์ฒญ ์ค์๊ฐ ๊ณ ๊ฐยท์ฐ์
๋ฆฌ์์น โ โก Storylineยท๋ฉ๋ด/๋ฐ์ดํฐ ๋งคํ(58๊ฐ
route, 46๊ฐ guided journey) โ
โข compact customer-overlay.json ์์ฑ โ โฃ Industry Pack๊ณผ ํฉ์ฑํด SpecยทHTML ์์ฑ โ โค Puppeteer ์ ์ฒด QA๊น์ง
์ํํฉ๋๋ค. ๋์์ธ์ GitHub Primer Dark Dimmed ๊ณ์ด soft-dark๋ฅผ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ฌ์ฉํ๊ณ ๊ณ ๊ฐ๋ณ
brandยทaccent token๋ง ์์ ํ๊ฒ ๋ฐ๊ฟ ์ ์์ต๋๋ค.
๊ฒ์ backend์ ์๋ฌธ ๊ฒ์ฆ์ web-search ๊ณ์ฝ์ด ๊ฒฐ์ ํฉ๋๋ค. ๋ฒ์ฉ web search, CLI์ /research ๋๋
Research agent, ๊ณต์ ๋ฌธ์ ๊ฒ์์ ๊ฐ์ฉ์ฑ๊ณผ ์ง๋ฌธ ๋ฒ์์ ๋ง๊ฒ ์ฌ์ฉํ๊ณ , ๋ฉ์ธ ์์ด์ ํธ๊ฐ ๊ฒฐ๊ณผ๋ฅผ ํ๋์
Fact Ledger๋ก ๋ณํฉํด StorylineยทOverlayยท์ต์ข
HTML๊น์ง ์ผ๊ด๋๊ฒ ์ฐ๊ฒฐํฉ๋๋ค.
์ค์๊ฐ Fact Ledger + Storyline + routeยท๋ฉ๋ดยท๋ฐ์ดํฐ(soft-dark ๊ธฐ๋ณธ ๋์์ธ)
โ Customer Overlay + Industry Pack
โ validated demo-spec.json
โ Golden Runtime (shell.tmpl + runtime.css + runtime.js)
โ ๊ณ ๊ฐ๋ณ ๋จ์ผ HTML
โ ์ ํ๋ 5~8๊ฐ ํ๋ฉดยทํต์ฌ ์ธํฐ๋์
๋ธ๋ผ์ฐ์ QA
Golden Runtime์ ๊ฒ์ฆ๋ ๋์ ์์ง์ ๋๋ค. ๋ผ์ฐํฐ, timer/listener ์ ๋ฆฌ, ์ค์๊ฐ ์ฐจํธ, ์๋ฎฌ๋ ์ดํฐ, ์์ด์ ํธ ์ฑํ , HTML escaping, ์์ ์ ์ธ QA ID๋ฅผ ์ฌ์ฌ์ฉํฉ๋๋ค. layoutยทtypeยทmotion์ Runtime์ด ์ ์งํ๊ณ ๊ณ ๊ฐ๋ณ route ๊ตฌ์ฑยทKPIยท๊ณต์ยท์์ด์ ํธยท์์ฌ์ ์ ํ์ brand/accent๋ฅผ Spec์์ ๊ฒฐ์ ํฉ๋๋ค.
Industry Pack์ ์ฐ์ terminologyยทKPI ๊ณต์ยทAgent/Platform ์ญํ ์ ์ถ๋ฐ์ ๋ง ์ ๊ณตํ๋ฉฐ ๊ณ ๊ฐ๋ช ยทStoryline์ ํฌํจํ ์ ์์ต๋๋ค. Composer๋ Customer Overlay๊ฐ ํ์ฉ๋์ง ์์ design key๋ฅผ ์ ์ํ๊ฑฐ๋ Fact Ledger๊ฐ ์ค๋๋๊ฑฐ๋ canonical Fact source๊ฐ 2๊ฐ ๋ฏธ๋ง์ด๊ฑฐ๋ ํต์ฌ ๊ณ ๊ฐ path๊ฐ ๋น ์ง๋ฉด ์คํจํฉ๋๋ค. ๋ฐ๋ผ์ ๊ฐ์ ์ฐ์ ์ด๋ผ๋ ๊ณ ๊ฐ๋ณ ์ด์ flowยทKPIยท์์ด์ ํธยทclimax๊ฐ ๋ฌ๋ผ์ง๊ณ soft-dark ๊ธฐ๋ณธ๊ฐ ์์ brand/accent๋ฅผ ์ ํ ์ ์ฉํ ์ ์์ต๋๋ค.
python3 -B .github/skills/ai-platform-demo/scripts/compose_demo_spec.py \
--base .github/skills/ai-platform-demo/examples/precision-manufacturing.example.json \
--pack .github/skills/ai-platform-demo/packs/renewable-energy-holdings.pack.json \
--customer <session>/<app>-work/customer-overlay.json \
--fact-ledger <session>/<app>-work/fact-ledger.json \
--output <session>/<app>-work/demo-spec.json \
--html-output <session>/<app>-work/<app>.html์ ํฉํ Industry Pack์ด ์์ผ๋ฉด ์ ์ฒด demo-spec.json์ ์ง์ ์์ฑํ๋ ๊ธฐ์กด ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์๋๋ฅผ
์ํด ๊ณ ๊ฐ๊ณผ ๋ง์ง ์๋ Pack์ ์ฌ์ฉํ์ง ์์ผ๋ฉฐ ์ต์ข
QA๋ ๋
ธ์ถ๋ ๋ชจ๋ ํ๋ฉด์ ์ ์ฉํฉ๋๋ค.
| ์ ๋ ฅ | ์์ |
|---|---|
| ๊ณ ๊ฐ๋ช / ์ฐ์ | "์ผํ์ฐ์ / ๋ ๋ฏธ์ฝยท๊ณจ์ฌยท์๋ฉํธ" |
| ์ฒญ์ค(์์) | "CIO, ์ฌ๋ฌดํ์ฅ, CIํ์ฅ" |
| ๋ฐ๋ชจ focus | ๊ท ํํ / AI ์ค์ฌ / App PlatformยทCI/CD ์ค์ฌ |
| ๊ฐ์กฐ ์๋น์ค | Microsoft Foundry ยท Microsoft Agent Framework ยท GitHub Copilot ยท GitHub Platform ยท AKS ยท Azure Container Apps |
์ฐ์ถ๋ฌผ์ ๋จ์ผ
.html(์ธ๋ผ์ธ CSS/JS, ์คํ๋ผ์ธ ๋์). ๋ชจ๋ ํ๋ฉด์โ DEMO DATA๋ฐฐ์ง๋ก ์์ฐ ๋ฐ์ดํฐ์์ ๋ช ์ํฉ๋๋ค.
# ํ ๊ณต์ โ ๊ฐ์ ์ด๋ฆ์ ์คํฌ์ด ์์ ๋
mkdir -p /path/to/my-project/.github/skills
cp -R github-copilot-augment-kit/.github/skills/ai-platform-demo \
/path/to/my-project/.github/skills/
# ๊ฐ์ธ โ ๊ฐ์ ์ด๋ฆ์ ์คํฌ์ด ์์ ๋, ๋ชจ๋ ํ๋ก์ ํธ์์ ์ฌ์ฉ
mkdir -p ~/.copilot/skills
cp -R .github/skills/ai-platform-demo ~/.copilot/skills/๊ฐ์ ์ด๋ฆ์ ์คํฌ์ด ์ด๋ฏธ ์์ผ๋ฉด ๋ฎ์ด์ฐ์ง ๋ง๊ณ ๋ด์ฉ์ ๋น๊ตํด ๋ณํฉํ์ธ์.
ํ์ธ: CLI์์ /skills list ยท /skills info ai-platform-demo ยท /env.
์์ ๋ณด๊ณ , ๊ณ ๊ฐ ์ ์, ์ ํ ์๊ฐ, ๊ธฐ์ ์ํคํ
์ฒ, ๊ต์กยท์ธ๋ฏธ๋ ๋ฑ ๋ค๋ฅธ ์ฃผ์ ์ ์ฒญ์ค์๋ ์ค์ .pptx๋ฅผ
์์ฑํฉ๋๋ค.
์ด ์คํฌ์ ๋ฌด๊ฒ ์ค์ฌ์ โ ํ์ํ ๊ทผ๊ฑฐ ์์ง(Fact Ledger) ๊ณผ โก ๋ชฉ์ ์ ๋ง๋ ์คํ ๋ฆฌ๋ผ์ธ ์ค๊ณ์
๋๋ค.
์ฌ๋ผ์ด๋ ์๊ฐํ๋ ๊ณ ์ ํ
ํ๋ฆฟ์ด๋ ๊ณ ์ ์์ฑ ํ๋ ์์ํฌ์ ์์กดํ์ง ์๊ณ , ๋งค ์์ฒญ๋ง๋ค ์ฃผ์ ์ ๋ง๊ฒ
์์ ๋กญ๊ณ ๋ค์ํ๊ฒ python-pptx๋ก ์ง์ ๊ตฌ์ฑํ๋ ์ ์ยท๊ฒ์ฆ ์๊ฐ์ ์ต์ํํฉ๋๋ค. ํ์ง์ ์ฒซ ๋ณธ๋ฌธ
์ฌ๋ผ์ด๋์์ ๊ฒฐ๋ก ยท๊ฐ์นยท๋ค์ ํ๋์ด ๋ณด์ด๊ณ , ์ดํ ์ฅ์ ๊ทธ ๊ฒฐ๋ก ์ ํ์ํ ๊ทผ๊ฑฐ๋ง ์๋ Straightforward
๊ตฌ์ฑ์ ์ต์ฐ์ ์ผ๋ก ํฉ๋๋ค.
์งํ ์์: โ ํ์ํ ๊ณต์ ์๋ฃ ์กฐ์ฌยทFact Ledger โ โก Deck Spec๊ณผ Storyline ์ค๊ณ โ
โข ํ
ํ๋ฆฟ profileยท์ค์น ํฐํธ๋ฅผ ๋ฐ์ํ python-pptx ์ ์ โ โฃ capability-aware QA์ revision-bound
์๊ฐ ๊ฒํ ์์
๋๋ค.
ํ์ํ ๊ฒฝ์ฐ Fact Ledger
โ Deck Spec + Storyline(์ฌ๋ผ์ด๋๋ณ ๊ฒฐ๋ก ยทFact IDยท์๊ฐ ํํ)
โ python-pptx ์์ ์ ์(์ ๊ณต ํ
ํ๋ฆฟ์ masterยทlayoutยทthemeยทcanvas ๋ณด์กด)
โ ํธ์ง ๊ฐ๋ฅํ PPTX
โ ํตํฉ QA Runner + finding ๋จ์ ์์ธ + SHA-256 ์๊ฐ ๊ฒํ ์ฆ๊ฑฐ
์ฌ๋ผ์ด๋๋ ๊ณ ์ ์์ฑ ์์ง ์์ด python-pptx๋ก ์ง์ ๋ง๋ญ๋๋ค. ์ ๋ณด ๊ด๊ณ(์ซ์ยทํ๋ฆยท๋น๊ตยท๊ณ์ธตยท์ฌ๋ก)์
๋ง๋ ์๊ฐ ํํ๋ฅผ ์ฌ๋ผ์ด๋๋ง๋ค ์์ ๋กญ๊ฒ ์ ํํ๊ณ , ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ๊ธฐ๊ณ์ ์ผ๋ก ๋ฐ๋ณตํ์ง ์์ต๋๋ค. ํ
ํ๋ฆฟ์ด
์์ผ๋ฉด profile์ ์ถ์ถํด ์๋ณธ master์ theme์ ๋ณด์กดํ๊ณ , ์์ผ๋ฉด ํ๊ฒฝ์์ ํ์ธํ ์ธ์ด๋ณ ์ค์น ํฐํธ๋ฅผ
์ ํํฉ๋๋ค. ๋ณธ๋ฌธ ๋๋น ์ต์ 4.5:1, ์ฃผ์ ๋ณธ๋ฌธ 16pt ๊ถ์ฅยท15pt ํํ, [Fact ID] ์ถ์ฒ footer ํ๊ธฐ ๋ฑ
๊ฐ๋
์ฑยทํธ์ง์ฑ ๊ธฐ์ค์ ์งํต๋๋ค. ์์ด๋์ด๊ฐ ํ์ํ๋ฉด reference/slide-blueprints.md์ ๊ด๊ณํ ํจํด์
์ ํ์ ์ผ๋ก ์ฐธ๊ณ ํ๋ ๊ทธ๋๋ก ๋ณต์ ํ์ง ์์ต๋๋ค.
์ธ๋ถ ์ฌ์ค ์กฐ์ฌ์ backend์ ์๋ฌธ ๊ฒ์ฆ์ web-search ๊ณ์ฝ์ ๋ฐ๋ฆ
๋๋ค. ์ด์ Fact Ledger์ URL์ ๊ฒ์
์ถ๋ฐ์ ์ผ๋ก๋ง ์ฌ์ฉํ๋ฉฐ, ๊ธฐ๋ฅ ์ํยท๊ฐ๊ฒฉยท๊ท์ ยท๊ณ ๊ฐ ์ฑ๊ณผ๋ ๋ฐํ ์์ฒญ๋ง๋ค ํ์ฌ ๊ณต์ ์๋ฌธ์ผ๋ก ๋ค์
ํ์ธํฉ๋๋ค. ์ฌ์ฉ์ ์ ๊ณต ์๋ฃ๋ง ์ฌ๊ตฌ์ฑํ๊ฑฐ๋ ์ธ๋ถ ์ฌ์ค์ด ์๋ ์ฐฝ์ํ ๋ฑ์๋ ์น ์กฐ์ฌ๋ฅผ ๊ฐ์ ํ์ง
์์ต๋๋ค.
์ฌ์์ฑ Python ์คํฌ๋ฆฝํธ์ QA ํ์ผ์ ์ธ์ ์์ ํด๋์ ๊ฒฉ๋ฆฌํ๋ฉฐ ์ ์ฅ์์ ์ต์ข ์ถ๋ ฅ ํด๋์๋ ์ฌ์ฉ์๊ฐ ์์ฒญํ ์ต์ข ํ์ผ ์ธ ์ค๊ฐ ์์ฐ์ ๋จ๊ธฐ์ง ์์ต๋๋ค. ์ค๊ฐ PDF๋ manifest์ PPTXยทPDF SHA-256์ด ๋ชจ๋ ์ผ์นํ ๋๋ง ์์ธ ์ฌ๋ผ์ด๋ ๋ ๋์ ์ฌ์ฌ์ฉํฉ๋๋ค. ์์ ํ์๋ ๋ณ๊ฒฝ ๋ถ๋ถ์ ๋จผ์ ํ์ธํ๋ ์๋ฃ ์ ์๊ตฌ๋๋ ๊ตฌ์กฐยท์๊ฐ ๊ฒ์ฆ์ ๋ค์ ์ํํฉ๋๋ค.
> ๋ณ์ ๊ฒฝ์์ง ๋์ ์๋ฃ AI ์ ๋ต ๋ฐํ์๋ฃ 20์ฅ ๋ง๋ค์ด์ค.
> ์ฒญ์ค์ ๊ฐ๋ฐ์์ผ. ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ํคํ
์ฒ๋ฅผ ๊ต์กํ๋ ๊ธฐ์ PPT 15์ฅ์ผ๋ก ๋ง๋ค์ด์ค.
> ์ด ๊ธฐ์กด PPT๋ ๋ด์ฉ์ ์ ์งํ๊ณ , ํฌ์์์ํ ๋์์ ์ ์ ๋ ๋์์ธ์ผ๋ก ์ฌ๊ตฌ์ฑํด์ค.
์ฌ๋ผ์ด๋ ์๊ฐํ๋ ์ฃผ์ ยท๋ด์ฉ์ ๋ฐ๋ผ ๋งค๋ฒ ๋ค๋ฅด๊ฒ ๊ตฌ์ฑํ๋ฉฐ ์ ํด์ง ํ ํ๋ฆฟยท์์ยท์นด๋ ์คํ์ผ์ ๋ณต์ ํ์ง ์์ต๋๋ค.
ํตํฉ ๊ฒ์ฆ:
python3 -B .github/skills/adaptive-presentation/scripts/verify_deck.py \
deck.pptx --out <session>/<deck>-work \
--deck-spec <session>/<deck>-work/deck-spec.jsonRunner๋ ๊ตฌ์กฐ ๊ฐ์ฌ์ ์ ์ฒด ๋ ๋๋ฅผ ๋ณ๋ ฌ ์คํํ๊ณ ๊ทธ๋ฃน ์์ยทํ ์
์ semantic frame์ผ๋ก ๋งคํํฉ๋๋ค.
chartยทSmartArtยทunmapped textยทoverflow๋ ์ฑ๊ณต์ผ๋ก ์จ๊ธฐ์ง ์๊ณ finding ID๋ฅผ ๋ฐ๊ธํฉ๋๋ค. ํ๋ ๊ฒํ ํ
์๋์ ์์ธ๋ง ID์ ์ด์ ๋ฅผ manifest์ ๋จ๊ธฐ๋ฉฐ, ์ต์ข
contact sheet ๊ฒํ ๋ ํ์ฌ PPTX SHA-256๊ณผ ์ฐ๊ฒฐ๋
visual-review.json์ผ๋ก ์ฆ๋ช
ํฉ๋๋ค. QA Runner๋ ๋น์ด ์์ง ์์ ์ผ๋ฐ ์ถ๋ ฅ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ฎ์ด์ฐ์ง ์์ต๋๋ค.
๊ฐ์ธ ์ค์น(๊ฐ์ ์ด๋ฆ์ ์คํฌ์ด ์์ ๋):
mkdir -p ~/.copilot/skills
cp -R .github/skills/adaptive-presentation ~/.copilot/skills/๊ธฐ์กด ์คํฌ์ด ์์ผ๋ฉด ๋ฎ์ด์ฐ์ง ๋ง๊ณ ๋ด์ฉ์ ๋น๊ตํด ๋ณํฉํ์ธ์. ์ค์น ํ
/skills info adaptive-presentation์ผ๋ก ๋ก๋ ์์น๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
๋ ์์ฑ ์คํฌ์ ๊ธฐ๋ณธ์ ์ผ๋ก FULL-OPTIMIZED ์ ์ฑ ์ ์ฌ์ฉํฉ๋๋ค. ์กฐ์ฌยท์คํ ๋ฆฌ๋ผ์ธยท์ ์ยท์ ์ฒด QA๋ฅผ ์๋ตํ๋ ๋์ , ์์ ํ ๋ณ๋ ฌํยท์บ์ยท์ค๊ฐ ์ฐ์ถ๋ฌผ ์ฌ์ฌ์ฉ๊ณผ ๊ฒฐํจ ์ผ๊ด ์์ ์ผ๋ก ์ค๋ณต ์์ ๊ณผ wall-clock time์ ์ค์ ๋๋ค.
| ์ต์ ํ | ai-platform-demo |
adaptive-presentation |
|---|---|---|
| ์์ฑ ๋ฉ์ปค๋์ฆ ์ฌ์ฌ์ฉ | Golden Runtime์ SPA lifecycleยทinteractionยทQA hook ์ฌ์ฌ์ฉ | ๊ณ ์ ์์ฑ ์์ง ๋์ python-pptx๋ก ์ง์ ์ ์ํ๊ณ ์กฐ์ฌยท๊ฒ์ฆยท๋ ๋ ์คํฌ๋ฆฝํธ๋ง ์ฌ์ฌ์ฉ |
| ์์ฒญ๋ณ ๋ณ๊ฒฝ surface ์ถ์ | ๋งค๋ฒ ์ค์๊ฐ ์กฐ์ฌ ํ Industry Pack์๋ ์๋ ๊ณ ๊ฐ ์ฌ์คยท๋ฉ๋ดยท๋ฐ์ดํฐ(ํต์ฌ route)๋ง Customer Overlay์ ์์ฑ | ์ธ๋ถ ์กฐ์ฌ๊ฐ ํ์ํ๋ฉด Fact Ledger๋ฅผ ๋ง๋ค๊ณ , ์คํ ๋ฆฌ๋ผ์ธ์ ๋จผ์ ํ์ ํ ๋ค ์ฌ๋ผ์ด๋๋ ์ฃผ์ ์ ๋ง๊ฒ ์์ ์ ์ |
| ์์ ํ ๋ณ๋ ฌ ์คํ | ๋ฉ์ธ ์์ด์ ํธ๊ฐ ๊ณต์ ์กฐ์ฌ ๋๊ตฌ๋ฅผ ๋ณ๋ ฌ ํธ์ถํ๊ณ ์ต์ข SpecยทHTML๋ ์ง์ ์์ | ๋ฉ์ธ ์์ด์ ํธ๊ฐ ๊ณต์ ์กฐ์ฌ ๋๊ตฌ๋ฅผ ๋ณ๋ ฌ ํธ์ถํ๊ณ ๋์ผ immutable PPTX์ ๊ตฌ์กฐ ๊ฐ์ฌยท์ ์ฒด ๋ ๋๋ง ์ฝ๊ธฐ ์ ์ฉ ๋ณ๋ ฌ ์คํ |
| ๋๊ตฌ ์บ์ | ์ ์ฅ์ ๋ฐ ๊ณต์ฉ PuppeteerยทChromium ์บ์๋ฅผ ์ฌ์ฌ์ฉ | ์ ์ฅ์ ๋ฐ Pythonยท๋ ๋๋ง ๋๊ตฌยทํฐํธ ํ์ ์บ์๋ฅผ ์ฌ์ฌ์ฉ |
| ์ค๊ฐ ์ฐ์ถ๋ฌผ ์ฌ์ฌ์ฉ | ํ browser/page ์ธ์ ์์ ์ ํ๋ 5~8๊ฐ route์ ํต์ฌ ์ธํฐ๋์ ์ ์ฐ์ ๊ฒ์ฆ | PPTX SHA-256์ด ๊ฐ์ ๋ฆฌ๋น์ ์์๋ง ์ค๊ฐ PDF๋ฅผ ์์ธ ๋ ๋์ ์ฌ์ฌ์ฉ |
| ์์ ๋ฃจํ ๋จ์ถ | ๊ฒฐํจ์ ๋ชจ์ ์ผ๊ด ์์ โ ์ํฅ route ํ์ธ โ ์ต์ข ์ ์ฒด QA | ๊ฒฐํจ์ ๋ชจ์ ์ผ๊ด ์์ โ ์ํ ์ฌ๋ผ์ด๋ ํ์ธ โ ๋ณ๊ฒฝ ์์๋ง ์ต์ข ์ ์ฒด render |
| ์ธก์ | ๋จ๊ณ๋ณ ์๊ฐยทcache hitยทrepair cycle์ ์ธ์
metrics.json์ ๊ธฐ๋ก |
๋จ๊ณ๋ณ ์๊ฐยทPDF reuseยทcache hitยทrepair cycle์ ์ธ์
metrics.json์ ๊ธฐ๋ก |
๊ณต์ฉ ์บ์์๋ ๊ณ ๊ฐ ๋ฐ์ดํฐยท์ํฌ๋ฆฟยท์์ฑ ๊ฒฐ๊ณผ๋ฅผ ๋ฃ์ง ์์ผ๋ฉฐ, ๊ฒ์ฆ ์คํฌ๋ฆฝํธ์ QA ํ์ผ์ ์ธ์
์์
ํด๋์ ๊ฒฉ๋ฆฌํฉ๋๋ค. ์ต์ข
์ฐ์ถ๋ฌผ ํด๋์๋ ์ฌ์ฉ์๊ฐ ์์ฒญํ .html ๋๋ .pptx๋ง ๋จ๊น๋๋ค.
์ฌ๊ธฐ์ <session>์ ํด๋ผ์ด์ธํธ๊ฐ ์ ๊ณตํ๋ ์ธ์
artifact ๊ฒฝ๋ก๋ฅผ ๋ปํฉ๋๋ค. ๊ทธ๋ฐ ๊ฒฝ๋ก๊ฐ ์๋
VS Code ํ๊ฒฝ์์๋ ์ ์ฅ์์ ์ต์ข
์ถ๋ ฅ ํด๋ ๋ฐ์ OS ์์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
MCP(Model Context Protocol) ์๋ฒ๋ Copilot์ ๊ตฌ์กฐํ๋ ์ธ๋ถ ๋๊ตฌ ์ ๊ทผ(๊ณต์ ๋ฌธ์ยทGitHub ์ด์/PR/์ฝ๋)์ ๋ถ์ฌ ์ค๋๋ค. ์ด ํท์ Microsoft Learn MCP๋ฅผ ์ฌ์ ๋ฒ๋คํ๋ฉฐ, clone ํ ํด๋ ์ ๋ขฐ ๋๋ ์๋ฒ Start๋ฅผ ์น์ธํ๋ฉด ํ์ฑํ๋ฉ๋๋ค. ์ฐ๊ฒฐ ์ค์ ๋ง ์ ์ฅํ๊ณ ๋ฌธ์ ๋ด์ฉ์ ์ ์ฅ์์ ๋ณต์ ํ์ง ์์ต๋๋ค.
๋ฒ์ฉ ์ต์ ์น ๊ฒ์์ MCP๊ฐ ์๋๋ผ GitHub Copilot CLI์ /researchยทResearch agent ๋๋ VS Code Copilot์
web search capability๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ํท์ web-search ์คํฌ์ ๊ฒ์ ์ ๋ตยท๊ฒ์ฆยทFact Ledger ๊ณ์ฝ์ ๋งก๊ณ
๊ฒ์ backend ์์ฒด๋ ์ ๊ณตํ์ง ์์ต๋๋ค.
| ์๋ฒ | ์ญํ | ์ธ์ฆ | ์ด๋ป๊ฒ ์ฐ๊ฒฐ๋๋ |
|---|---|---|---|
| GitHub MCP | ์ด์ยทPRยท์ฝ๋ยท๋ฆด๋ฆฌ์ค ์กฐํ/์์ฑ | GitHub ๋ก๊ทธ์ธ | Copilot CLI์ ๋ด์ฅ โ ์ค์ ๋ถํ์ |
| Microsoft Learn MCP | learn.microsoft.com ๊ณต์ ๋ฌธ์ยท์ฝ๋ ์ํ ์กฐํ |
๋ถํ์ ยท ๋ฌด๋ฃ ๊ณต๊ฐ ์๋ํฌ์ธํธ | ๋ฆฌํฌ์ ๋ฒ๋ค โ ํด๋ผ์ด์ธํธ ์น์ธ ํ ํ์ฑํ |
์ ํ ์ฐ๊ฒฐ: Azure ๋ฆฌ์์ค ์์ ์ Azure MCP(ํ๋ฌ๊ทธ์ธ), Microsoft ์ฌ๋ด ๋๊ตฌ๋ EngHub MCP(์์ ํ์ผ)๋ฅผ ์๋ ์ ์์ ๊ฐ๊ฐ ์ฐ๊ฒฐํฉ๋๋ค.
- Copilot CLI โ ๋ฆฌํฌ์
.github/mcp.json์ ์ํฌ์คํ์ด์ค ์๋ฒ๋ก ์๋ ๋ก๋. ์ฒซ ์คํ ์ ํด๋ ์ ๋ขฐ(trust)์ ๋์ํ๋ฉด ํ์ฑํ๋ฉ๋๋ค.- ํ์ธ:
copilot mcp listโWorkspace servers: microsoft-learn (http)
- ํ์ธ:
- VS Code (Copilot Chat ยท Agent) โ ๋ฆฌํฌ์
.vscode/mcp.json์ ์ธ์. ํ์ผ ์๋จ Start ๋๋ ๋ช ๋ น ํ๋ ํธ โ MCP: List Servers๋ก ์์.- ํ์ธ: Agent ๋๊ตฌ ๋ชฉ๋ก์
microsoft_docs_search๋ฑ์ด ๋ณด์ด๋ฉด ์ ์์ ๋๋ค.
- ํ์ธ: Agent ๋๊ตฌ ๋ชฉ๋ก์
- CLI:
/mcp add(๋ํํ) ๋๋ ์ ์ญ~/.copilot/mcp-config.json(๋ฃจํธ ํคmcpServers). ๊ด๋ฆฌ๋copilot mcp list//mcp show//mcp disable <์ด๋ฆ>. - VS Code:
.vscode/mcp.json(๋ฃจํธ ํคservers). - ํ๋ฌ๊ทธ์ธ ๊ฒฝ์ : ์ผ๋ถ ํ๋ฌ๊ทธ์ธ์ ์์ฒด MCP ์๋ฒ๋ฅผ ํจ๊ป ์ค์นํฉ๋๋ค. ์ด ๊ฒฝ์ฐ
mcp-config.json์๋ ๋ณด์ด์ง ์๊ณ ํ๋ฌ๊ทธ์ธ ์ค์ ์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค(์๋ Azure MCP ์ฐธ๊ณ ).
๋ณด์: MCP ์๋ฒ๋ ์ธ๋ถ ๋๊ตฌ๋ฅผ ์คํํฉ๋๋ค. ์ ๋ขฐํ ์ ์๋ ์๋ฒ๋ง ์ถ๊ฐํ๊ณ , ์ถ์ ๋๋
.github/mcp.json์ด๋.vscode/mcp.json์ ๋ฆฌํฐ๋ด ํค๋ฅผ ์ ์ฅํ์ง ๋ง์ธ์. ํด๋ผ์ด์ธํธ๊ฐ ์ง์ํ๋ ํ๊ฒฝ๋ณ์/secret/input ์นํ ๋๋ ์ฌ์ฉ์ ์ ์ญ ์ค์ ์ ์ฌ์ฉํ๊ณ , ๊ตฌ์ฒด ๋ฌธ๋ฒ์ ํด๋น ํด๋ผ์ด์ธํธ์ ๊ณต์ ๋ฌธ์๋ฅผ ๋ฐ๋ฅด์ธ์.
Azure ๋ฆฌ์์ค๋ฅผ ์ค์ ๋ก ์กฐํยท์ง๋จยท๋ฐฐํฌํ๋ ค๋ฉด Azure Skills ํ๋ฌ๊ทธ์ธ ์ ์ค์นํฉ๋๋ค. ์ด ํ๋ฌ๊ทธ์ธ์ Azure ์คํฌ๊ณผ ํจ๊ป Azure MCP Server(+ Foundry MCP)๋ฅผ ์ฐ๊ฒฐํ๋ฏ๋ก, ์ด ํท์ MCP ํ์ผ์๋ ๋ณ๋ ํญ๋ชฉ์ ์ถ๊ฐํ์ง ์์ต๋๋ค.
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ์ฉ๋ | ๋ฆฌ์์ค ์กฐํ, ๋ชจ๋ํฐ๋งยท๋ก๊ทธ ์ง์, ๊ฐ๊ฒฉ ํ์ธ, ๋ฐฐํฌยท์ง๋จ ์ํฌํ๋ก ์คํ |
| ์ค์น ๋จ์ | Copilot CLI ํ๋ฌ๊ทธ์ธ (์ฌ์ฉ์ ์ ์ญ) |
| MCP ์ ์ ์์น | ํ๋ฌ๊ทธ์ธ ๋ด๋ถ .mcp.json โ npx -y @azure/mcp@latest server start |
| ์ฌ์ ์กฐ๊ฑด | Node.js 18+, Azure CLI az login(๋ฐฐํฌ ์ํฌํ๋ก๋ azd auth login) |
| ์ธ์ฆ | ๋ก์ปฌ Azure ์๊ฒฉ ์ฆ๋ช ์ฌ์ฉ โ ๋ฆฌํฌ์ ํค๋ฅผ ์ ์ฅํ์ง ์์ |
์ฐ๊ฒฐ ์ ์ฐจ (Copilot CLI)
/plugin์ผ๋ก ๋ง์ผํ๋ ์ด์คmicrosoft/azure-skills๋ฅผ ์ถ๊ฐํ๊ณazureํ๋ฌ๊ทธ์ธ์ ์ค์นํฉ๋๋ค.az login์ผ๋ก ๋์ ๊ตฌ๋ ์ ๋ก๊ทธ์ธํฉ๋๋ค.- CLI๋ฅผ ์ฌ์์ํ ๋ค
azure-๊ณ์ด ๋๊ตฌ(์: ๋ฆฌ์์ค ๊ทธ๋ฃน ์กฐํ)๊ฐ ๋ก๋๋๋์ง ํ์ธํฉ๋๋ค.
ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉ์ ์ ์ญ์ ์ค์น๋๋ฏ๋ก ์ ์ฅ์๋ง๋ค ๋ค์ ์ค์ ํ ํ์๊ฐ ์์ต๋๋ค. ํ์ ์์ ๋๋
~/.copilot/settings.json์enabledPlugins์์ ๋นํ์ฑํํฉ๋๋ค.
EngHub MCP(https://mcp.eng.ms)๋ Microsoft ์์ง์์ด ์ฌ์ฉํ ์ ์๋ ์ฌ๋ด Engineering Hub MCP
์๋ฒ์
๋๋ค. ๊ฐ์ธ์ด ๋ง๋ ์๋ฒ๊ฐ ์๋๋ผ ์ฌ๋ด ๊ณตํต ์๋ํฌ์ธํธ์ด๋ฉฐ, corporate ๊ณ์ ๊ณผ ์ฌ๋ด ์ธ์ฆ์ด ์์ด์ผ
์ฐ๊ฒฐ๋ฉ๋๋ค.
์ด ํท์ EngHub๋ฅผ ๊ธฐ๋ณธ ๋ก๋ ๋์์ ๋ฃ์ง ์๊ณ ์์ ํ์ผ๋ก๋ง ๋ฒ๋คํฉ๋๋ค. ์ธ๋ถ ์ฌ์ฉ์๊ฐ cloneํ์ ๋ ๋ถํ์ํ ์ธ์ฆ ์คํจ์ ์์ ์ง์ฐ์ด ์๊ธฐ์ง ์๊ฒ ํ๊ธฐ ์ํด์์ ๋๋ค.
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ์ฉ๋ | ์ฌ๋ด ์์ง๋์ด๋ง ํฌํธยท๋ด๋ถ ๋ฌธ์ยท๋ด๋ถ ์๋น์ค ๋๊ตฌ๋ฅผ Copilot ์ธ์ ์์ ์ง์ ํธ์ถ |
| ์ฌ์ฉ ๋์ | Microsoft ์์ง์ (corporate ๊ณ์ ํ์) |
| ์ธ๋ถ ์ฌ์ฉ์ | ์ฌ์ฉ ๋ถ๊ฐ โ ๊ณต๊ฐ ๋ฌธ์ ์กฐํ๋ Microsoft Learn MCP๋ฅผ ์ฌ์ฉ |
| ๋ฒ๋ค ํ์ผ | .github/mcp.enghub.example.json (์์ ยท ์๋ ๋ก๋๋์ง ์์) |
| ์ ์ฉ ์์น | ์ํฌ์คํ์ด์ค .github/mcp.json ๋๋ VS Code .vscode/mcp.json |
| ์ธ์ฆ | ๋ธ๋ผ์ฐ์ OAuth + corporate ์ธ์ฆ (์ฌ๋ด๋งยทVPN ์ฐ๊ฒฐ์ด ํ์ํ ์ ์์) |
์ฐ๊ฒฐ ์ ์ฐจ
-
์ฌ๋ด ๋คํธ์ํฌ ๋๋ VPN์ ์ฐ๊ฒฐํ๊ณ corporate ๊ณ์ ๋ก๊ทธ์ธ ์ํ๋ฅผ ํ์ธํฉ๋๋ค.
-
์์ ํ์ผ์
EngHubํญ๋ชฉ์ ์ํฌ์คํ์ด์ค.github/mcp.json์ ๋ณํฉํฉ๋๋ค.cd <์ด ํท์ ์ ์ฉํ ํ๋ก์ ํธ ๋ฃจํธ> cp .github/mcp.json .github/mcp.json.bak python3 - <<'PY' import json base = json.load(open(".github/mcp.json")) extra = json.load(open(".github/mcp.enghub.example.json")) base["mcpServers"].update(extra["mcpServers"]) json.dump(base, open(".github/mcp.json", "w"), indent=2, ensure_ascii=False) open(".github/mcp.json", "a").write("\n") PY
๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. VS Code์์ ์ฐ๋ ค๋ฉด
.vscode/mcp.json์servers์ ๊ฐ์ ํญ๋ชฉ์ ์ถ๊ฐํฉ๋๋ค.{ "mcpServers": { "microsoft-learn": { "type": "http", "url": "https://learn.microsoft.com/api/mcp", "tools": ["*"] }, "EngHub": { "type": "http", "url": "https://mcp.eng.ms", "tools": ["*"] } } } -
CLI๋ฅผ ์ฌ์์ํ๋ฉด OAuth ์ธ์ฆ์ด ์งํ๋ฉ๋๋ค. ์น์ธ ํ
copilot mcp list๋๋/mcp show์์EngHub๊ฐ ์ฐ๊ฒฐ ์ํ๋ก ๋ณด์ด๊ณ ๋๊ตฌ ๋ชฉ๋ก์ด ๋ก๋๋๋์ง ํ์ธํฉ๋๋ค.
์๋ณต (์ฌ์ฉ์ ๋ง์ณค๊ฑฐ๋ ์ปค๋ฐ ์ ์ ๋๋๋ฆด ๋)
git checkout -- .github/mcp.json # ์ ์ฅ์ ๊ธฐ๋ณธ ์ํ๋ก ๋ณต๊ตฌ
# ๋๋ ๋ฐฑ์
์ฌ์ฉ: mv .github/mcp.json.bak .github/mcp.json์์๋ก๋ง ๋๋ ค๋ฉด /mcp disable EngHub๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ฌ๋ด ์ ์ฉ ์๋ฒ๋ฅผ ์ถ๊ฐํ
.github/mcp.json๋ณ๊ฒฝ์ ๊ณต๊ฐ ์ ์ฅ์์ ์ปค๋ฐํ์ง ๋ง์ธ์. ์ธ๋ถ ์ฌ์ฉ์ ํ๊ฒฝ์์๋ ์ธ์ฆ์ด ์คํจํ๊ณ ์์๋ง ๋๋ ค์ง๋๋ค. ์ปค๋ฐ ์ ์git status๋ก ํ์ธํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
๋ฌธ์ ํด๊ฒฐ
| ์ฆ์ | ์์ธ | ์กฐ์น |
|---|---|---|
| ์์์ด ์ค๋ ๊ฑธ๋ฆฌ๊ณ EngHub ๋๊ตฌ๊ฐ ๋ณด์ด์ง ์์ | ์ฌ๋ด๋ง ๋ฐ์์ ์ธ์ฆ ์คํจ | ์ฌ๋ด๋งยทVPN ์ฐ๊ฒฐ ํ CLI ์ฌ์์ |
๋ก๊ทธ์ HTTP 403 Forbidden ยท Failed to discover authorization server metadata |
corporate ์ธ์ฆ์ด ์๊ฑฐ๋ ๋ง๋ฃ | ์ฌ๋ก๊ทธ์ธ ํ ์ฌ์๋. ๋ก๊ทธ๋ ~/.copilot/logs/์์ ํ์ธ |
| ์ฌ์ธ์ฆ์ด ๊ณ์ ์คํจ | ๋ง๋ฃ๋ OAuth ์บ์ ์ฌ์ฌ์ฉ | ~/.copilot/mcp-oauth-config/์ ํด๋น ํญ๋ชฉ์ ์ญ์ ํ๊ณ ๋ค์ ์ธ์ฆ |
| ๋น์ฅ ํ์ ์์ | โ | /mcp disable EngHub ๋๋ ์ค์ ์์ ์ ๊ฑฐ |
EngHub ์ฐ๊ฒฐ ์คํจ๋ ๋ค๋ฅธ ์์ ์ ๋ง์ง ์์ต๋๋ค. Microsoft Learn MCP, GitHub MCP, ์คํฌ, ์ ธยทํ์ผ ์์ ์ ๊ทธ๋๋ก ๋์ํ๋ฉฐ ์ธ์ ์์๋ง ์ง์ฐ๋ฉ๋๋ค.
๋ณด์: ์ฌ๋ด ๋ฐ์ดํฐยท์๋ณ์ยท๋ด๋ถ URL์ ์ธ๋ถ ์๋น์ค๋ ๊ณต๊ฐ ์ฐ์ถ๋ฌผ๋ก ์ฎ๊ธฐ์ง ๋ง์ธ์.
Q. ์ด๋ค Copilot ํ๋์ด ํ์ํ๊ฐ์? ์ด ํท์ ํน์ ๋ชจ๋ธ์ ์๊ตฌํ์ง ์์ต๋๋ค. ์ฌ์ฉํ๋ ค๋ GitHub Copilot ChatยทAgentยทCLI ๊ธฐ๋ฅ์ ์ง์ํ๋ ํ๋๊ณผ ์ต์ ํด๋ผ์ด์ธํธ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
Q. ๋ด ํ๋ก์ ํธ์ ์ด๋ป๊ฒ ์ ์ฉํ๋์?
์ง์นจยท์คํฌ์ .github/์, VS Code MCP ์ค์ ์ .vscode/mcp.json์ ๋ก๋๋ค. ๊ธฐ์กด ์ค์ ์ด๋ ๊ฐ์
์ด๋ฆ์ ์คํฌ์ด ์์ผ๋ฉด ๋ณต์ฌ ๋ช
๋ น์ผ๋ก ๋ฎ์ด์ฐ์ง ๋ง๊ณ ๋ด์ฉ์ ๋ณํฉํ์ธ์.
Q. ์คํฌ์ด ๋์ํ์ง ์์์.
์ต์ VS Code + GitHub Copilot Chat์ Agent mode๋ฅผ ์ฌ์ฉํ๊ณ , SKILL.md์ name์ด ํด๋๋ช
๊ณผ
์ผ์นํ๋ฉฐ description์ ํธ๋ฆฌ๊ฑฐ ํค์๋๊ฐ ์๋์ง ํ์ธํ์ธ์.
Q. ์ง์นจ์ด ๋ก๋๋์ง ์์์.
.github/copilot-instructions.md ๊ฒฝ๋ก๊ฐ ๋ง๋์ง, ํ๋ก์ ํธ ๋ฃจํธ์ .github/๊ฐ ์๋์ง ํ์ธํ์ธ์. Copilot CLI๋ ์ด ํ์ผ์ ์๋์ผ๋ก ์ฝ์ต๋๋ค.
Q. MCP ์๋ฒ๋ ์ด๋ป๊ฒ ๋ถ์ด๋์?
Microsoft Learn MCP ์ค์ ์ CLI์ .github/mcp.json๊ณผ VS Code์ .vscode/mcp.json์ ๋ฒ๋ค๋์ด ์์ผ๋ฉฐ,
ํด๋ ์ ๋ขฐ ๋๋ Start ์น์ธ ํ ํ์ฑํ๋ฉ๋๋ค. GitHub MCP๋ Copilot CLI์ ๋ด์ฅ๋ผ ์์ต๋๋ค. Azure MCP๋
Azure Skills ํ๋ฌ๊ทธ์ธ์ผ๋ก, Microsoft ์ฌ๋ด EngHub MCP๋ .github/mcp.enghub.example.json ์์๋ก
์ฐ๊ฒฐํฉ๋๋ค. ๋ฒ์ฉ ์ต์ ์น ๊ฒ์์ GitHub Copilot์ web search ๋๋ Research capability๋ฅผ ์ฌ์ฉํฉ๋๋ค.