insipidityincus22/golf-testing

๐Ÿงช AI ์—์ด์ „ํŠธ์™€ LLM ํ‰๊ฐ€์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ MCP ์„œ๋ฒ„๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์ž์—ฐ์–ด ์ƒํ˜ธ์ž‘์šฉ ๋ฐ ์„ฑ๋Šฅ ํ‰๊ฐ€์˜ ํšจ์œจ์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

golf-testing๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

์ด ์Šคํ‚ฌ์€ AI ์—์ด์ „ํŠธ(Claude Code, Cursor, Codex ๋“ฑ)์™€ LLM ํ‰๊ฐ€์ž๋ฅผ ํ™œ์šฉํ•˜์—ฌ MCP(Model Context Protocol) ์„œ๋ฒ„์˜ ์ž์—ฐ์–ด ์ƒํ˜ธ์ž‘์šฉ์„ ์ž๋™์œผ๋กœ ํ…Œ์ŠคํŠธํ•˜๊ณ  ํ‰๊ฐ€ํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์ด ์Šคํ‚ฌ์„ ํ†ตํ•ด MCP ์„œ๋ฒ„๊ฐ€ ๋‹ค์–‘ํ•œ ํ”„๋กฌํ”„ํŠธ์™€ ๋ช…๋ น์— ๋Œ€ํ•ด ์ ์ ˆํžˆ ์‘๋‹ตํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ์„ฑ๋Šฅ ์ €ํ•˜๋‚˜ ์˜ค๋ฅ˜๋ฅผ ์‚ฌ์ „์— ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์š” ํ”Œ๋žซํผ์œผ๋กœ๋Š” Claude Code, Cursor, Codex์™€ ๊ฐ™์€ AI ์ฝ”๋”ฉ ์–ด์‹œ์Šคํ„ดํŠธ๊ฐ€ ์ง€์›๋˜๋ฉฐ, SKILL.md ๋ฌธ์„œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์‹คํ–‰, ํ‰๊ฐ€ ๊ธฐ์ค€ ์„ค์ •, ๊ฒฐ๊ณผ ๋ฆฌํฌํŠธ ์ƒ์„ฑ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ˆ˜๋™ ํ…Œ์ŠคํŠธ์˜ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ณ , AI ๊ธฐ๋ฐ˜ ์›Œํฌํ”Œ๋กœ์šฐ์˜ ์‹ ๋ขฐ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€์› ๋Œ€์ƒ~Claude Code~Codex CLI~Cursor
npx skills add insipidityincus22/golf-testing

Installed? Explore more ์ฝ”๋”ฉ & ๊ฐœ๋ฐœ skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli ยท View all 6 โ†’

์ฆ๊ฒจ ์‚ฌ์šฉํ•˜๋Š” AI์—๊ฒŒ ๋ฌผ์–ด๋ณด๊ธฐ

์ด ์—์ด์ „ํŠธ ์Šคํ‚ฌ์ด ๋ฏธ๋ฆฌ ๋กœ๋“œ๋œ ์ƒˆ ์ฑ„ํŒ…์„ ์—ฝ๋‹ˆ๋‹ค.

๋ฌธ์„œ

golf-testing์€(๋Š”) ๋ฌด์—‡์„ ํ•˜๋‚˜์š”?

๐Ÿงช AI ์—์ด์ „ํŠธ์™€ LLM ํ‰๊ฐ€์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ MCP ์„œ๋ฒ„๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์ž์—ฐ์–ด ์ƒํ˜ธ์ž‘์šฉ ๋ฐ ์„ฑ๋Šฅ ํ‰๊ฐ€์˜ ํšจ์œจ์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ์š”

์ด ์Šคํ‚ฌ์€ MCP(Model Context Protocol) ์„œ๋ฒ„์˜ ๊ธฐ๋Šฅ์„ ์ž๋™์œผ๋กœ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. AI ์—์ด์ „ํŠธ(Claude Code, Cursor, Codex ๋“ฑ)์™€ LLM ํ‰๊ฐ€์ž๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ž์—ฐ์–ด ๊ธฐ๋ฐ˜ ์ƒํ˜ธ์ž‘์šฉ์˜ ์ •ํ™•์„ฑ๊ณผ ์ผ๊ด€์„ฑ์„ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ

  • ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์‹คํ–‰: ์‚ฌ์ „ ์ •์˜๋œ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋”ฐ๋ผ MCP ์„œ๋ฒ„์˜ ์‘๋‹ต์„ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.
  • LLM ํ‰๊ฐ€: GPT-4, Claude ๋“ฑ์˜ LLM์„ ํ‰๊ฐ€์ž๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์‘๋‹ต ํ’ˆ์งˆ์„ ์ธก์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ์„ฑ๋Šฅ ๋ฉ”ํŠธ๋ฆญ: ์‘๋‹ต ์‹œ๊ฐ„, ์ •ํ™•๋„, ์ผ๊ด€์„ฑ ๋“ฑ์„ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณด๊ณ ์„œ ์ƒ์„ฑ: ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋ฅผ ์š”์•ฝํ•œ ๋ฆฌํฌํŠธ๋ฅผ Markdown ํ˜•์‹์œผ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ง€์› ํ”Œ๋žซํผ

  • Claude Code
  • Cursor
  • Codex
  • ๊ธฐํƒ€ AI ์ฝ”๋”ฉ ์–ด์‹œ์Šคํ„ดํŠธ

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

  1. MCP ์„œ๋ฒ„ ์„ค์ • ํŒŒ์ผ(mcp.json ๋˜๋Š” mcp.yaml)์ด ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์— ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  2. ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค:
test-mcp --server <server-name> --cases ./test-cases
  1. ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋Š” ./reports/ ๋””๋ ‰ํ† ๋ฆฌ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ ๋ณ€์ˆ˜

๋ณ€์ˆ˜๋ช…์„ค๋ช…๊ธฐ๋ณธ๊ฐ’
MCP_SERVERํ…Œ์ŠคํŠธํ•  MCP ์„œ๋ฒ„ ์ด๋ฆ„์—†์Œ
LLM_JUDGEํ‰๊ฐ€์— ์‚ฌ์šฉํ•  LLM ๋ชจ๋ธgpt-4
REPORT_PATH๊ฒฐ๊ณผ ๋ณด๊ณ ์„œ ์ €์žฅ ๊ฒฝ๋กœ./reports

ํ…Œ์ŠคํŠธ ์˜ˆ์ œ

# test-cases/weather.yaml
name: weather-query
description: ์‚ฌ์šฉ์ž๊ฐ€ ๋‚ ์”จ๋ฅผ ๋ฌผ์„ ๋•Œ ์˜ฌ๋ฐ”๋ฅธ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธ
prompt: "์„œ์šธ์˜ ํ˜„์žฌ ๋‚ ์”จ๋Š”?"
expected:
  - ์‘๋‹ต์— ์˜จ๋„ ์ •๋ณด ํฌํ•จ
  - ์‘๋‹ต์— ๋‚ ์”จ ์ƒํƒœ(๋ง‘์Œ, ํ๋ฆผ ๋“ฑ) ํฌํ•จ

๋ผ์ด์„ ์Šค

MIT

๊ด€๋ จ ์Šคํ‚ฌ