| name | stand-on-shoulders |
| description | Surveys established design patterns, framework conventions, and idioms before designing anything from scratch. When the user is about to structure a new module, service, or feature, this skill names the underlying problem type (state management, caching, async handling, etc.) and points to the canonical solution before falling back to bespoke construction. ๋ฌด์ธ๊ฐ๋ฅผ ์๋ก ์ค๊ณยท๊ตฌํยท๊ตฌ์กฐํํ๊ธฐ ์ ์ ์ด๋ฏธ ์ ๋ฆฝ๋ ๋์์ธ ํจํด์ด ์๋์ง ๋จผ์ ์ดํผ๋ ์์ง๋์ด๋ง ์ฒ ํ ์คํฌ. |
| when_to_use | Use whenever the user is about to design, structure, or begin building something โ phrases like "์ด๊ฑฐ ์ด๋ป๊ฒ ์ง์ง", "๊ตฌ์กฐ ์ด๋ป๊ฒ ์ก์ง", "์ค๊ณํด์ค", "์ํคํ
์ฒ", "design", "architect", "structure this", "์ฒ์๋ถํฐ ์ง์ผ ํ๋", "ํํ ์ด๋ป๊ฒ ํด", "best practice" โ and especially for recurring problem types like state management, authentication, caching, queues, async handling, error handling, API design, form processing, routing, and data flow. Strongest against the vibe-coding urge to start from a blank file. |
| allowed-tools | Read WebSearch WebFetch |
ํ ์ค. ์๋ก ์ง๊ธฐ ์ ์, ์์ ๊ฐ๋ฐ์๋ค์ด ์ด๋ฏธ ๋ฆ์๋ ๊ธธ์ ๋จผ์ ๋ณธ๋ค.
Why this mindset
์๋ก์ด ๋ฌด์ธ๊ฐ๋ฅผ ๋ง๋๋ ๊ฒ๋ ์ข์ง๋ง, ์ด๋ฏธ ์ ๋์ ๊ฐ๋ฐ์๋ค์ด ์ ๋ฆฝํ ๋์์ธ ํจํด์ ์ ํ์ฉํ๋ ๊ฒ๋ ํ๋์ ๋ฐฉ๋ฒ์
๋๋ค.
์ด๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋, ๊ทธ ๋ฌธ์ ๋ฅผ ๊ฐ์ฅ ์ ํด๊ฒฐํ๋ค๊ณ ์๋ ค์ง โ ์ด๋ฏธ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๊ท๊ฒฉํ๋ ๋์์ธ ํจํด์ด ์๋ค๋ฉด, ๊ทธ ์์์ ์์ํด๋ณด์ธ์.
Instructions
๋ฌธ์ ์์์ ๋ฐฑ์ง๋ฅผ ๋ง์ฃผํ๊ธฐ ์ ์, ๊ทธ ๋ฌธ์ ๋ฅผ ๋จผ์ ๋ง๋ ์ฌ๋๋ค์ ๊ฒฐ๋ก ์ ํ ๋ฒ ๋ณธ๋ค. ๋ฒ ๋ผ๋ผ๋ ๊ฒ ์๋๋ค โ ๊ทธ ์์์ ์ถ๋ฐํ๋ผ๋ ๊ฑฐ๋ค.
-
๋ฌธ์ ์ ์ ํ๋ถํฐ ๋ช
๋ช
ํ๋ค.
"์ด๊ฑธ ์ง๊ณ ์ถ๋ค"๊ฐ ์๋๋ผ "์ด๊ฑด ์ด๋ค ์ข
๋ฅ์ ๋ฌธ์ ๋ค"๋ฅผ ๋จผ์ ๋งํ๋ค.
- "์ฌ์ฉ์ ์
๋ ฅ์ ๋ฐ์ ๊ฒ์ฆํ๊ณ ์๋ฒ์ ๋ณด๋ด๋ ๊ฒ" โ ํผ ์ฒ๋ฆฌ ๋ฌธ์ .
- "์ฌ๋ฌ ํ๋ฉด์ด ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ " โ ์ํ ๊ด๋ฆฌ ๋ฌธ์ .
- "๊ฐ์ ์์ฒญ์ด ๋ฐ๋ณต โ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ดํด๋๊ธฐ" โ ์บ์ฑ ๋ฌธ์ .
์ ํ์ด ์กํ๋ฉด, ๊ทธ ์ ํ์ ๋ํ ์ ๋ต์ ๊ฐ๊น์ด ๋ต๋ค์ ์ด๋ฏธ ์ธ์์ ์๋ค.
-
๊ธฐ์กด ํจํด์ 1~2๊ฐ ์งง๊ฒ ์๊ฐํ๋ค.
๊ฐ ํจํด๋ง๋ค ์ด๋ฆยทํด๊ฒฐํ๋ ํต์ฌยท์ธ์ ์ ๋ง๋์ง๋ฅผ 1~2๋ฌธ์ฅ์ผ๋ก. ์:
- Repository ํจํด โ ๋ฐ์ดํฐ ์ ๊ทผ์ ํ ๊ณณ์ ๋ชจ์ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๋ถ๋ฆฌ. DBยทAPI๊ฐ ๋ฐ๋ ๊ฐ๋ฅ์ฑ์ด ์์ ๋ ๋น๋๋ค. 1ํ์ฉ ์คํฌ๋ฆฝํธ์ ๊ณผํจ.
์ฌ์ฉ์๊ฐ ๋น๊ฐ๋ฐ์๋ผ๋ฉด ํจํด ์ด๋ฆ๋ณด๋ค "์ด๋ฐ ์์ผ๋ก ์ ๋ฆฌํ๋ ํํ ๋ฐฉ๋ฒ์ด ์์ด" ์์ ์ผ์์ด๋ก ํ์ด์ค๋ค.
-
ํ๋ ์์ํฌ๊ฐ ์ด๋ฏธ ๋ต์ ๊น์๋๋์ง ๋จผ์ ํ์ธํ๋ค.
React์ useState/useContext, Next์ ๋ผ์ฐํ
ยท๋ฏธ๋ค์จ์ด, Django์ ORMยทํผ, Rails์ ActiveRecord โ ํ๋ ์์ํฌ๊ฐ ์๋ํ ๊ธธ์ ๊ฑฐ์ค๋ฅด์ง ์๋๋ค. "ํ๋ ์์ํฌ์ ์ธ์ฐ์ง ์๊ธฐ" ๊ฐ ์ด ์คํฌ์ ํต์ฌ ์์ฉํธ.
-
์ ํํ์ง ์๋ ๊ฒ๋ ๊ฒฐ๊ณผ๋ค.
์๊ฐํ ํจํด์ด ์ด ์ํฉ์๋ ๊ณผํ๋ค๋ฉด ๋ช
ํํ ๊ทธ ์ด์ ๋ฅผ ๋งํ๊ณ , ๋ ๊ฐ๋ฒผ์ด ๊ธธ์ ๊ถํ๋ค. ํจํด์ ์ํด ์ฝ๋๋ฅผ ๋๋ฆฌ๋ ๊ฑด ๋ณธ๋ง์ ๋๋ค. (โ keep-it-small๊ณผ ํธ์)
- "Repository ๊น์๋ ํ์ผ์ด ๋ ๊ฐ๋ผ ๊ณผํด. ๊ทธ๋ฅ ํจ์ ๋ ๊ฐ๋ก ์ถฉ๋ถํด. ๋ฐ์ดํฐ ์์ค๊ฐ ์
์ด์ ๋๋ฉด ๊ทธ๋ ๋์
ํ์."
-
์ด๋ฆ์ ๊ฐ๋ณ๊ฒ ๋จ๊ธฐ๋, ๊ถ์๋ก ๋๋ฅด์ง ์๋๋ค.
"์ด๊ฑด ํํ Strategy ํจํด์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ตฌ์กฐ์ผ" ์ ๋ ํ ์ค. ์ฌ์ฉ์๊ฐ ๋์ค์ ๊ฒ์ํด๋ณผ ๋จ์ด๋ฅผ ์์ ์ฅ์ด์ฃผ๋ ๊ฑฐ๋ค. ๋น๊ฐ๋ฐ์์๊ฒ๋ ์ด๋ฆ์ ์จ๊ธธ ํ์๋ ์๋ค โ ๋ค๋ง ์ด๋ฆ โ ํ ์ค ์ค๋ช
โ ์ผ์ ๋น์ ์์๋ก ํ์ด์ค๋ค.
- "์ด๊ฑธ Observer ํจํด์ด๋ผ๊ณ ๋ถ๋ฅด๋๋ฐ, ์ฝ๊ฒ ๋งํ๋ฉด '๊ตฌ๋
ํ๋ฉด ์ ๊ธ ์๋ฆผ ์ค๋ ๊ทธ๊ฑฐ'์ผ. ์ฐ๋ฆฌ ๊ฒฝ์ฐ์ โฆ"
Examples
๋ฌธ์ ์ ํ๋ถํฐ ๋ช
๋ช
:
- ์ฌ์ฉ์: "์ฌ์ฉ์๊ฐ ๊ธ ์ฐ๋ฉด ๋ค๋ฅธ ํ๋ฉด์์๋ ๋ฐ๋ก ๋ณด์ด๊ฒ ํ๊ณ ์ถ์ด."
- Claude: "์ด๊ฑด ์ํ ๋๊ธฐํ ๋ฌธ์ ์ผ. ํํ ํด๋ฒ ๋ ๊ฐ์ง๊ฐ ์์ด โ (a) ์๋ฒ์์ ๋ค์ ๋ฐ์์ค๊ธฐ (revalidation), (b) ํด๋ผ์ด์ธํธ์์ ์ตํฐ๋ฏธ์คํฑ ์
๋ฐ์ดํธ. ๋ค ๊ฒฝ์ฐ์ ๊ธ์ด ์งง๊ณ ์ฌ์ฉ์ ํ ๋ช
์ด๋ผ (b)๊ฐ ๋ถ๋๋ฌ์. ์ฐ๋ฆฌ ์คํ์ React Query๋ฅผ ์ฐ๋๊น ๊ทธ ์์
setQueryData๋ก 1์ค์ด๋ฉด ๋ผ."
๊ณผํ ํจํด ๊ฑฐ์ :
- ์ฌ์ฉ์: "์ด์ฐธ์ ํด๋ฆฐ ์ํคํ
์ฒ๋ก ๋ค์ ์งค๊น?"
- Claude: "์ง๊ธ ํ์ผ 12๊ฐ์ง๋ฆฌ ํ๋ก์ ํธ์ ํด๋ฆฐ ์ํคํ
์ฒ ํ์ธํธ๋ ๋ฌด๊ฒ๊ฐ ์ ๋ง์. ๋น์ฆ๋์ค ๋ก์ง๋ง ํ ํด๋๋ก ๋นผ๋ ์ ๋(๋ณดํต service layer๋ผ๊ณ ๋ถ๋ฌ)๋ฉด ๊ฐ์ ํจ๊ณผ์ 80%๊ฐ ๋์. ๊ทธ๊ฑธ ๋จผ์ ํด๋ณด๊ณ ๋ ํ์ํด์ง๋ฉด ๊ทธ๋ ๋๋ฆฌ์."
์ผ์์ด๋ก ํ๊ธฐ:
- ๋น๊ฐ๋ฐ์ ์ฌ์ฉ์: "์ฃผ๋ฌธ ์ํ๊ฐ ๋ง ๋ฐ๋์ด. ์ด๋ป๊ฒ ๊ด๋ฆฌํ์ง?"
- Claude: "์ด๊ฑด ํํ *์ํ ๋จธ์ (state machine)*์ด๋ผ๊ณ ๋ถ๋ฅด๋ ๊ทธ๋ฆผ์ด ์ ๋ง์. ์ฝ๊ฒ ๋งํด โ '์ฃผ๋ฌธ์ ์ ์โ๊ฒฐ์ โ๋ฐฐ์กโ์๋ฃ ์ด ๊ธธ๋ก๋ง ๊ฐ ์ ์๊ณ , ๊ฑฐ๊พธ๋ก๋ ๋ชป ๊ฐ๋ค' ๊ฐ์ ๊ธธ ํ์งํ์ ์ฝ๋๋ก ๋ฐ์๋๋ ๊ฑฐ์ผ. xstate ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์์ง๋ง, ์ํ๊ฐ 4~5๊ฐ๋ฉด ๊ทธ๋ฅ
switch ๋ฌธ ํ๋๋ก ์ถฉ๋ถํด."
Pitfalls
- ๋งค๋ฒ ๋ฐฑ์ง์์ ์ถ๋ฐํ๊ธฐ โ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋งค๋ฒ ์๋ก ํ์ด๋ณด๊ณ ๊ฐ์ ์ค์๋ฅผ ๋ ๋ฐ๊ฒฌํ๊ธฐ
- ๋ค์ด๋ณธ ์ ์๋ ํจํด์ด๋ผ ์๋ค๊ณ ๊ฐ์ ํ๊ณ ์ง๊ธฐ (์๋๋ฐ ๋ชป ์ฐพ์ ๊ฑฐ๋ค)
- ๋ฐ๋๋ก, ํจํด ์ด๋ฆ๊ฐ์ ๋๋ ค ๊ณผํ๊ฒ ๋์
ํ๊ธฐ (Factory์ Factory์ Factory โฆ)
- ํ๋ ์์ํฌ๊ฐ ์ด๋ฏธ ๊น์๋ ๊ธธ์ ๋๊ณ ์์ ์ง์ ๊น๊ธฐ
- ํจํด ์ด๋ฆ์ ๊ถ์๋ก ์ฌ์ฉํด์ ๋น๊ฐ๋ฐ์๋ฅผ ์์ถ์ํค๊ธฐ
ํจํด์ ์ ๋ต์ง์ด ์๋๋ค. ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋จผ์ ๋ง๋ ์ฌ๋๋ค์ด ๋จ๊ธด ์์์ ์ด๋ค. ๊ทธ ์์์ ์์ํ๊ณ , ์ ๋ง์ผ๋ฉด ๊ฑฐ๊ธฐ์ ๋ฐ๊ฟ๊ฐ๋ค. ๊ทธ๊ฒ ๊ฐ์ฅ ๋น ๋ฅด๊ณ , ๊ฐ์ฅ ์ธ๋กญ์ง ์์ ๊ธธ์ด๋ค.