#1 ๊ฐ์: "assess"
v0.13.0์์ ์ถ๊ฐ๋ Spec Kit์ ๊ณต์ ํ์ฅ "assess". "assess"๋ ์ด๋ค ์์ด๋์ด(feature ํ๋ณด)๋ฅผ ๋ช ์ธํ ์ง ๋ง์ง๋ฅผ ๋จผ์ ํ๋จํ๋ค.
"assess"๋ ์ฝ๋๋ฅผ ๊ตฌํํ๋ ๊ธฐ๋ฅ์ด ์๋์ง๋ง, ๊ทธ๋ ๋ค๊ณ ๋ช ์ธ ๊ทธ ์์ฒด์ ํฌํจ๋๋ ๋จ๊ณ ๋ํ ์๋๋ค. ์ด๋ค ๊ธฐ๋ฅ์ ๋ช ์ธํ๊ธฐ ์ , ๊ทธ ๊ธฐ๋ฅ ์์ฒด๊ฐ ๋ช ์ธํ ๊ฐ์น๊ฐ ์๋์ง ์ฌ์ฌํ๋ ๋ณ๋์ ๊ณผ์ ์ด๋ค. ๊ณต์ ๋ฌธ์์์๋ assess๊ฐ ๊ธฐ์กด์ ๋ช ์ธ ํ์ดํ๋ผ์ธ์ ํฌํจ๋์ง ์๋, ๋ ๋ฆฝ์ ์ธ ๋จ๊ณ๋ผ ์ค๋ช ํ๋ค.
#2 ํ์ฌ๋ฆผ ๋ฐ "assess" ํ์ฑํ
#2-1 v0.13.0์ผ๋ก ํ์ฌ๋ฆผ
Spec Kit ์์ฒด์ ํ์ฌ๋ฆผ
# in ํฐ๋ฏธ๋
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@v0.13.0
๊ตฌ๋ฒ์ Spec Kit์ด ์ ์ฉ๋ ํ๋ก์ ํธ์ ํ์ฌ๋ฆผ
# in ํฐ๋ฏธ๋
# ํด๋น ํ๋ก์ ํธ์ ๊ฒฝ๋ก์์
specify init --here
#2-2 "assess" ํ์ฑํ
"assess"๋ ์ธ๋ถ ๊ฐ๋ฐ์๊ฐ ์ปค๋ฎค๋ํฐ ์นดํ๋ก๊ทธ์ ์ฌ๋ฆฐ ํ์ฅ์ด ์๋๋ค. ๊ณต์์์ ๋ง๋ ํ์ฅ์ด๋ฉฐ, Spec Kit v0.13.0 ์ค์น ์ ์๋์ผ๋ก ํฌํจ๋๋ค. ํ์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ง ์๋๋ค. ์ด ๋ง์, v0.13.0 ๋ฒ์ ์ Spec Kit์ ์ฌ์ฉํ๋ค๊ณ ํ๋ค, "assess"์์ ์ ๊ณตํ๋ ๋ช ๋ น์ด๋ฅผ ๋ฐ๋ก ์ธ ์๋ ์๋ค๋ ์๋ฆฌ๋ค. "assess" ์ฌ์ฉ์ ์ํด์ ํฐ๋ฏธ๋์ ์๋์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด ์ฃผ์ด์ผ ํ๋ค.
# in ํฐ๋ฏธ๋
# Spec Kit v0.13.0 ์ด์์ด ์ค์น๋, ํ๋ก์ ํธ ๊ฒฝ๋ก์์ ์ ๋ ฅ
specify extension add assess
Spec Kit v0.13.0์ ์ด๋ฏธ ํฌํจ๋ ์ํ์ด๊ธฐ์, ์์ ๋ช ๋ น์ด๊ฐ ์ธํฐ๋ท์ผ๋ก๋ถํฐ ๋ฌด์ธ๊ฐ๋ฅผ ์ถ๊ฐ ๋ค์ด๋ก๋ํ๋ ๊ฒ์ ์๋๋ค. ๋ง ๊ทธ๋๋ก 'ํ์ฑํ'๋ค.
#3 "assess" ๋ถ์์ ์์ ์์๋๊ธฐ
#3-1 ํธ์ถ ์์
๊ณต์ ๋ฌธ์๊ฐ ๊ถ์ฅํ๋ ํธ์ถ ์์ ์ ์์ด๋์ด๊ฐ ์๊ธด ๋ค, ๊ทธ ์์ด๋์ด๋ฅผ ๋ช ์ธ(/speckit.specify)ํ๊ธฐ๋ก ๊ฒฐ์ ํ๊ธฐ ์ ์ด๋ค. ์๋์ ๊ฐ์ ์ง๋ฌธ์ ํ์คํ ๋ตํ๊ธฐ ์ด๋ ค์ธ ๋ ์ฌ์ฉํ๋ค.
- ์ค์ ๋ก ํด๊ฒฐํ ๊ฐ์น๊ฐ ์๋ ๋ฌธ์ ์ธ๊ฐ?
- ์์ด๋์ด๋ฅผ ๋ท๋ฐ์นจํ๋ ๊ทผ๊ฑฐ๊ฐ ์ถฉ๋ถํ๊ฐ?
- ์๋ฌด๊ฒ๋ ํ์ง ์๋ ๊ฒ๋ณด๋ค ๋ง๋ค์์ ๋์ ๊ฐ์น๊ฐ ํฐ๊ฐ? (= ๊ตณ์ด ๋ง๋ค์ด์ผ ํ๋๊ฐ?)
- ๊ฐ๋นํ ์ ์๋ ๋น์ฉ ์์์ ๊ตฌํํ ๋ฐฉ๋ฒ์ด ์๋๊ฐ?
#3-2 "slug"
slug๋ ํ๊ฐํ ์์ด๋์ด ํ๋๋ฅผ ๊ตฌ๋ถํ๋ ์งง์ ์๋ฌธ ์๋ณ์(ID)๋ค. ๊ฐ๋ น, "๋คํฌ ๋ชจ๋ ๊ธฐ๋ฅ" ์์ด๋์ด์ slug๋ "dark-mode"๋ก ์ ํ ์ ์๋ค.
#3-3 '์ฌ์ฌ'์ 3๊ฐ์ง ๊ฒฐ๊ณผ
assess๋ ์ฌ์ฌ ๋จ๊ณ๋ผ ํ๋ค. ๊ทธ๋ ๋ค๋ฉด ๊ทธ ์ฌ์ฌ์ ๊ฒฐ๊ณผ๋ ์ด๋ป๊ฒ ํ์ ๋๋๊ฐ?
1. go: ํต๊ณผ. ๊ธฐ์กด์ ๋ช ์ธ ํ์ดํ๋ผ์ธ์ ๋ฐ๋ผ๊ฐ๋ฉด ๋๋ค.
2. needs-clarification: ํ๋จ์ ํ์ํ ๋ด์ฉ์ด ๋ถ์กฑ.
3. kill: ๊ฐ์น ์์. AI ์์ด์ ํธ๊ฐ ๋ณด๊ธฐ์ ๊ตณ์ด ๋ง๋ค ํ์๊ฐ ์๋ ๊ธฐ๋ฅ์ด๋ผ๋ ์๋ฆฌ๋ค.
"assess"์ ๊ฒฐ๊ณผ๋ ์์ 3๊ฐ์ง ๊ฒฝ์ฐ ์ค ํ๋๋ก ๊ฒฐ์ ๋๋ค.
#4 "assess" ๋ถ์
#4-1 ์ ์ฉ ๋๋ ํ ๋ฆฌ
.specify/assessments/example-slug-name/...
์์ด๋์ด ํ๋๋น, ".specify/assessments/"์ ์๋ ํ๋์ ํด๋์ ๋์ํ๋ค.
#4-2 5๊ฐ์ง ๋ช ๋ น์ด
assess๋ ํ์ฅ ์ด๋ฆ์ด์ง, ํธ์ถํ ์ ์๋ ๋จ์ผ ๋ช ๋ น์ด ์๋๋ค. assess๋ก ์ถ๊ฐ๋๋ ๊ฐ์ฉ ๋ช ๋ น์ด๋ ์๋์ ์๋ 5๊ฐ์ง๋ค. assess ๊ณ์ด ๋ช ๋ น์ด ํ๋๋ ํ๋์ ํ์ผ์ ๊ฒฐ๊ณผ๋ก ๋ฑ๋๋ค.
#4-3 /speckit-assess-intake
์ด ๋ช ๋ น์ด๋ก ์์ฑ๋๋ ํ์ผ:
.specify/assessments/example-slug-name/intake.md
์ต์ด์ ์์ด๋์ด์ ์ถ์ฒ๋ฅผ ์์งํ๋ค. ์์ง ํ๊ฐํ๊ฑฐ๋ ํด๊ฒฐ์ฑ ์ ์ค๊ณํ์ง ์๋๋ค.
#4-4 /speckit-assess-research
์ด ๋ช ๋ น์ด๋ก ์์ฑ๋๋ ํ์ผ:
.specify/assessments/example-slug-name/research.md
์ฌ์ฉ์·์์ฅ·์ ํ ์ฌ๋ก·๋ฐ์ดํฐ์ ์์ด๋์ด์ ๋ฐ๋๋๋ ๊ทผ๊ฑฐ๋ฅผ ์กฐ์ฌํ๋ค.
#4-5 /speckit-assess-define
์ด ๋ช ๋ น์ด๋ก ์์ฑ๋๋ ํ์ผ:
.specify/assessments/example-slug-name/problem.md
์ฌ์ฉ์, ๋ฌธ์ , ๋ชฉํ·๋น๋ชฉํ, ์ฑ๊ณต ์งํ, ์๋ฌด๊ฒ๋ ํ์ง ์์ ๋์ ๋น์ฉ์ ์ ์ํ๋ค.
#4-6 /speckit-assess-shape
์ด ๋ช ๋ น์ด๋ก ์์ฑ๋๋ ํ์ผ:
.specify/assessments/example-slug-name/concept.md
๊ฐ๋ ์์ค ํด๊ฒฐ์ฑ 2~3๊ฐ์ ๋น์ฉ ํ๋(appetite)·์ ์ถฉ์ ์ ๋น๊ตํ๋ค.
#4-7 /speckit-assess-decide
์ด ๋ช ๋ น์ด๋ก ์์ฑ๋๋ ํ์ผ:
.specify/assessments/example-slug-name/decision.md
์์ ๋ฌธ์๋ฅผ ์ฑ์ ํด ์ต์ข ํ์ ๊ณผ ์ด์ ๋ฅผ ๊ธฐ๋กํ๋ค. ๋ฌธ์์ ํํ๋ ์๋์ ๊ฐ๋ค.
# Decision: <์งง์ ์ ๋ชฉ>
- **Slug**: <์์ด๋์ด ์๋ณ์>
- **Decided**: <ํ์ ๋ ์ง>
- **Verdict**: go | needs-clarification | kill
- **Artifacts reviewed**: intake.md? | research.md? | problem.md | concept.md?
...
์ค์ ํ์ ์ ๊ทธ ์๋ ๋ฉํ๋ฐ์ดํฐ์ Verdict ํญ๋ชฉ์์ ํ์ธํ๋ค. Artifacts reviewed๋ ํ์ ์ ๊ทผ๊ฑฐ๋ก ์ฌ์ฉํ ๋ฌธ์์ ๋ชฉ๋ก์ด ์ ํ๋ค. ๊ทธ ๋ค์๋ ์ฌ์ฏ ํ๊ฐ ๊ธฐ์ค์ ์ ์ํ์ ์ต์ข ํ์ ์ด์ ๊ฐ ์ด์ด์ง๋ค. ์ฌ์ฏ ํ๊ฐ ๊ธฐ์ค์ ์๋์ ๊ฐ์ผ๋ฉฐ, ๊ฐ ํญ๋ชฉ์ strong, adequate, weak, unknown ์ค ํ๋์ ์ ์๋ก ํ์ ๋๋ค.
- Problem validity (๋ฌธ์ ์ ์ ํจ์ฑ)
- Evidence strength (๊ทผ๊ฑฐ์ ๊ฐ๋)
- Value vs. inaction (ํด๋น ๊ธฐ๋ฅ์ผ๋ก ์ป์ด์ง ๊ฐ์น์ ๊ธฐํ๋น์ฉ์ ์ ์ธ์ง)
- Feasibility / appetite (์คํ ๊ฐ๋ฅ์ฑ๊ณผ ๋น์ฉ์ ํ๊ณ ๊ณ ๋ ค)
- Strategic fit (ํ๋ก์ ํธ ๋ชฉํ์์ ์ ํฉ์ฑ)
- Risk posture (ํด๋น ๊ธฐ๋ฅ์ ์ ์ฌ์ ๋ฆฌ์คํฌ)
#4-8 ๋ช ๋ น์ด ๊ฐ ์ ํ ๊ด๊ณ?
#4-3 ~ #4-7์ ์์๋ก ์ ๋ฆฌํ ์์๊ฐ ์๋๋ผ ๊ณต์์์ ๊ถ์ฅํ๋ ์์๋ค. ํ์ง๋ง, ์ด ์์๊ฐ ์๊ฒฉํ ๊ฐ์ ๋์ง ์๋๋ค. ์๋์ ๊ท์น์ ์งํค๋ ์ ์์ ๋ช ๋ น์ด ์์๋ฅผ ์ ์ฐํ๊ฒ ๋ฐ๊ฟ ์ ์๋ค๋ ๋ง์ด๋ค. ๋ฌผ๋ก , ๊ตณ์ด ๋ฐ๊ฟ ์ผ์ด ์์๊น ์ถ๋ค.
- define์ ์ต์ ์คํ ๋จ๊ณ์ด๋ฏ๋ก ์์ ์ ๋ ฅ๋ง์ผ๋ก ๋ฐ๋ก ์์ํ ์ ์๋ค.
- intake์ research๋ ์๋ต ๊ฐ๋ฅํ๋ค.
- shape๋ problem.md๊ฐ ์์ด์ผ ํ๋ค.
- decide๋ problem.md๊ฐ ์์ด์ผ ํ๋ค.
- concept.md ์์ด decide๋ฅผ ์คํํ ์๋ ์์ง๋ง go ํ์ ์ ๋ฐ์ ์ ์๋ค. ์ด ๊ฒฝ์ฐ needs-clarification์ผ๋ก ํ์ ๋๋ค.
#5 "assess"์ go ํ์ ์ดํ
go ํ์ ์ด ๋์๋ค๊ณ /speckit.specify๊ฐ ์๋ ์คํ๋์ง๋ ์๋๋ค. ๋์ decision.md์ ๋ค์ ๋ด์ฉ์ด ์ ๋ฆฌ๋๋ค.
- Problem (ํด๊ฒฐํ ๋ฌธ์ )
- Chosen approach (์ ํํ ์ ๊ทผ๋ฒ)
- In scope / out of scope (ํฌํจํ ๋ฒ์์ ์ ์ธํ ๋ฒ์)
- Success metrics (์ฑ๊ณต ํ๋จ ๊ธฐ์ค)
- Carried-forward open questions (๋ช ์ธ ๋จ๊ณ๋ก ๊ฐ์ ธ๊ฐ ๋ฏธํด๊ฒฐ ์ง๋ฌธ)
์ด์ ์๋์ ๊ฐ์ ๋ช ๋ น์ด๋ก, ๊ธฐ์กด ๋ช ์ธ ํ์ดํ๋ผ์ธ์ ์์ํ๋ฉด ๋๋ค.
/speckit.specify .specify/assessments/example-slug-name/decision.md์ handoff ๋ด์ฉ์ ๋ฐํ์ผ๋ก ๊ธฐ๋ฅ ๋ช ์ธ๋ฅผ ์์ฑํด์ค.
handoff์ ์ด๋ค ํน๋ณํ ์๋ฏธ๊ฐ ์๋ ๊ฒ์ ์๋๊ณ , ๊ทธ๋ฅ '์ธ๊ณ', '์ ๋ฌด ๋๊ฒจ์ฃผ๊ธฐ'์ ๋ป์ ์ง๋ ํ๋ฒํ ์์ด ๋จ์ด๋ค.
#6 ์ค์ต
#6-1 ์งํ ์์
/speckit.assess.intake "์ธํฐ๋ท์ด ๋๊ฒจ๋ ์์ ํ๊ณ , ์ฐ๊ฒฐ๋๋ฉด ๋๊ธฐํํ์" slug=offline-mode
/speckit.assess.research slug=offline-mode
/speckit.assess.define slug=offline-mode
/speckit.assess.shape slug=offline-mode
/speckit.assess.decide slug=offline-mode
์ดํ ".specify/assessments/offline-mode/decision.md"์์ ํ์ ์ ํ์ธํด ๋ณธ๋ค.
#6-2 ์ค์ต์ฉ ๋ ํฌ์งํ ๋ฆฌ
GitHub - Kanmanemone/keenel-codelab at simple-first-practice-v0.13.0
Contribute to Kanmanemone/keenel-codelab development by creating an account on GitHub.
github.com
Spec Kit ์ค์ต์ฉ ๋ ํฌ์งํ ๋ฆฌ์์ ์ค์ ๋ก ์งํํด ๋ดค๋ค.
'๊นจ์ ๊ฐ๋ ๐ > Agentic Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Spec Kit - ๊ฐ์ (0) | 2026.07.17 |
|---|---|
| ํ๋ค์ค ์์ง๋์ด๋ง ์ค์ต (0) | 2026.06.27 |
| 2023 ~ 2026๋ AI ์ฌ์ฉ๋ฒ์ ์งํ (0) | 2026.05.01 |
| AI ํ์ ๋ค์ ๋จ๋ ๊ฒ (0) | 2026.02.18 |