skills
π οΈ μμ΄μ νΈ μ€ν¬
100
Install command
npx skhub add --skillset @dalestudy/skillsIncluded Skills
Node.js λμ Bun λ°νμ μ¬μ©μ μν μ€ν¬. λ€μ μν©μμ μ¬μ©: (1) μ JavaScript/TypeScript νλ‘μ νΈ μμ± μ, (2) package.json λλ μμ‘΄μ± κ΄λ ¨ μμ
μ, (3) μ€ν¬λ¦½νΈ μ€ν λλ κ°λ° μλ² μμ μ, (4) Node.js νλ‘μ νΈλ₯Ό BunμΌλ‘ μ ν μ, (5) 'bun', 'bunx', 'bun.lockb' ν€μλκ° ν¬ν¨λ μμ
μ
00
Git λ²μ κ΄λ¦¬ λͺ¨λ² κ΄λ‘ λ° μν¬νλ‘μ° κ°μ΄λ. λ€μ μν©μμ μ¬μ©: (1) Git μ»€λ° λ©μμ§ μμ± μ (Conventional Commits κ·μΉ μ μ©), (2) λΈλμΉ μμ± λ° κ΄λ¦¬ μ (GitHub Flow κΈ°λ°), (3) PR μμ± λ° λ³ν© μ λ΅ μ ν μ, (4) Git νμ€ν 리 μ 리 μμ
μ (rebase, squash, cherry-pick), (5) Merge conflict ν΄κ²° μ, (6) 'git', '.git', 'commit', 'branch', 'merge', 'rebase' ν€μλκ° ν¬ν¨λ μμ
μ
00
GitHub CLI(gh)λ₯Ό νμ©ν GitHub νλ«νΌ μνΈμμ© κ°μ΄λ. λ€μ μν©μμ μ¬μ©: (1) GitHub μ΄μ μμ±, μ‘°ν, μμ μ, (2) Pull Request μμ±, 리뷰, λ³ν© μ, (3) GitHub λ¦΄λ¦¬μ€ μμ± λ° κ΄λ¦¬ μ, (4) λ μ΄λΈ, λ§μΌμ€ν€ λ± νλ‘μ νΈ κ΄λ¦¬ μ, (5) GitHub Actions μν¬νλ‘μ° μ€ν λ° κ²°κ³Ό μ‘°ν μ, (6) 'gh', 'issue', 'pull request', 'PR', 'release', 'label', 'workflow', 'run' ν€μλκ° ν¬ν¨λ μμ
μ
00
GitHub Actions μν¬νλ‘μ° μμ±, 보μ λ° λ²μ κ΄λ¦¬ μ€ν¬. λ€μ μν©μμ μ¬μ©: (1) μ μν¬νλ‘μ° νμΌ(.yml) μμ± μ, (2) κΈ°μ‘΄ μν¬νλ‘μ° μμ μ, (3) μ‘μ
λ²μ κ²ν λλ μ
λ°μ΄νΈ μ, (4) CI/CD 보μ κ°μ¬ μ, (5) 'actions/', 'uses:', 'workflow', '.github/workflows' ν€μλκ° ν¬ν¨λ μμ
μ
00
mcp μλ² μ°κ²° λ¬Έμ λ₯Ό λΆμνκ³ μ΅μ specification κΈ°μ€μΌλ‘ ꡬνμ κ²μ¦νλ€. tools/list λλ tools/call μ€λ₯, stdio sse http transport μ΄μ, resources prompts λΌμ°ν
λ¬Έμ , inspector κΈ°λ° μ¬ν ν
μ€νΈκ° νμν λ μ¬μ©νλ€.
00
React μ±λ₯ μ΅μ ν λ° λ² μ€νΈ νλν°μ€ μ€ν¬. Vercel Engineering κ°μ΄λ κΈ°λ°, νλ μμν¬ λΉμ’
μ. λ€μ μν©μμ μ¬μ©: (1) React μ»΄ν¬λνΈ(.tsx, .jsx) μμ± λλ μμ μ, (2) μν κ΄λ¦¬, hooks, 리λ λλ§ μ΅μ ν μμ
μ, (3) λΉλκΈ° λ°μ΄ν° νμΉ λλ Suspense ν¨ν΄ μμ
μ, (4) λ²λ€ μ¬μ΄μ¦ μ΅μ ν λλ μ½λ μ€ν리ν
μ, (5) 'react', 'useState', 'useEffect', 'useMemo', 'useCallback', 'memo', 'Suspense', 'lazy' ν€μλκ° ν¬ν¨λ μμ
μ
00
DaleStudy/skills μ μ₯μμ μ€ν¬ μμ±, μμ , κ²μ¦ μ μ¬μ©. λ€μ μν©μμ νμ±ν: (1) μ μ€ν¬ μμ± μμ² μ, (2) skills/ λλ ν 리 λ΄ SKILL.md νμΌ μμ μ, (3) SKILL.md λ³κ²½ κ²ν λλ 리뷰 μ, (4) μ€ν¬ frontmatter λλ λ©νλ°μ΄ν° μμ
μ, (5) 'skill', 'SKILL.md', 'frontmatter', 'version', 'metadata', 'review', 'skills/' ν€μλκ° ν¬ν¨λ μμ
μ
00
Storybook μ€ν 리 μμ± λ° CSF 3.0 λ² μ€νΈ νλν°μ€ μ€ν¬. λ€μ μν©μμ μ¬μ©: (1) μ μ€ν 리 νμΌ(.stories.tsx, .stories.ts) μμ± μ, (2) κΈ°μ‘΄ μ€ν 리 μμ μ, (3) Args, Decorators, Parameters μ€μ μ, (4) Storybook μ€μ νμΌ(.storybook/) μμ
μ, (5) 'story', 'stories', 'storybook', 'CSF' ν€μλκ° ν¬ν¨λ μμ
μ
00
React Testing Library λ° Vitest κΈ°λ° ν
μ€ν
λͺ¨λ² κ΄λ‘. λ€μ μν©μμ μ¬μ©: (1) .test.tsx, .test.ts, .spec.tsx, .spec.ts νμΌ μμ
μ, (2) μ»΄ν¬λνΈ ν
μ€νΈ μμ± λλ 리ν©ν λ§ μ, (3) 'test', 'testing', 'vitest', 'RTL', 'getByRole', 'userEvent', 'waitFor', 'expect' ν€μλ ν¬ν¨ μμ
μ, (4) λΉλκΈ° λ‘μ§ λλ μ¬μ©μ μνΈμμ© ν
μ€νΈ μμ± μ
00
TypeScript νμ
μ μ λ° λ² μ€νΈ νλν°μ€ μ€ν¬. λ€μ μν©μμ μ¬μ©: (1) TypeScript νμΌ(.ts, .tsx) μμ± λλ μμ μ, (2) νμ
μ μ(interface, type) μμ
μ, (3) tsconfig.json μ€μ λλ μ»΄νμΌλ¬ μ΅μ
μ‘°μ μ, (4) νμ
μλ¬ ν΄κ²° λλ νμ
μμ μ± κ°μ μ, (5) μ λ€λ¦, μ νΈλ¦¬ν° νμ
, νμ
μ‘°μ μμ
μ, (6) 'typescript', 'ts', 'type', 'interface', 'generic' ν€μλκ° ν¬ν¨λ μμ
μ
00