一键导入
test-writer
Vitest 기반 단위 테스트 자동 작성·실행. "테스트 작성", "test 추가", "테스트 코드 만들어줘", "spec 파일 만들어줘", "write tests", "add test coverage" 요청 시 사용.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Vitest 기반 단위 테스트 자동 작성·실행. "테스트 작성", "test 추가", "테스트 코드 만들어줘", "spec 파일 만들어줘", "write tests", "add test coverage" 요청 시 사용.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Git 브랜치 작업 완료 후 커밋, push, GitHub PR 생성/업데이트를 자동화하는 skill. gh CLI를 사용하여 GitHub과 직접 통신한다. 커밋 컨벤션(.claude/rules/commit-convention.md)을 따르고, AS-IS/TO-BE 비교 구조의 PR description을 생성한다. Use when: (1) 작업 완료 후 커밋+push+PR 한번에 처리, (2) PR 내용 작성/업데이트, (3) "PR 만들어", "push하고 PR 작성해", "커밋하고 PR 올려줘" 등의 요청. Triggers: PR, pull request, 커밋하고 push, PR 만들어, PR 작성, finalize, ship, push하고 PR, 커밋하고 PR, PR 올려, PR 생성, PR 업데이트
Nuxt SEO·AEO 감사 및 적용. Robots, Sitemap, Schema.org, AI Ready, useAppSeo. "SEO", "AEO", "robots", "sitemap", "schema", "llms.txt", "메타태그", "canonical", "noindex", "seo-audit", "seo 적용" 요청 시 사용.
운영 배포(develop → main) 이후 develop 브랜치를 origin/main와 동일하게 최신화한다. reset --hard + force-with-lease push, prune, (선택) merged feature 브랜치 정리. rebase origin/main는 사용하지 않는다. Use when: 운영 배포 후 develop 동기화, develop 최신화, main 반영 develop, develop reset main, 배포 후 develop 맞추기, sync develop from main.
커밋 → push → GitHub PR(develop base) 생성/업데이트 자동화. "PR 만들어", "push하고 PR 작성", "커밋하고 PR 올려줘" 요청 시 사용.
Nuxt SEO·AEO 감사·적용. SEO, AEO, robots, sitemap, schema, llms.txt, canonical, noindex 요청 시 사용.
운영 배포(develop → main) 후 develop을 origin/main와 동기화. reset --hard + force-with-lease + prune + (선택) merged feature 브랜치 정리. "develop 최신화", "배포 후 develop", "sync develop" 요청 시 사용.
| name | test-writer |
| description | Vitest 기반 단위 테스트 자동 작성·실행. "테스트 작성", "test 추가", "테스트 코드 만들어줘", "spec 파일 만들어줘", "write tests", "add test coverage" 요청 시 사용. |
Nuxt 4 + Vue 3 + Vitest + @vue/test-utils + bun 프로젝트용 테스트 코드를 자동으로 작성·실행한다. describe/it는 한국어, Given-When-Then 구조로 작성하고 bun run test로 검증한다.
.claude/rules/ 확인 (한국어 작성·test: 커밋 컨벤션)*.test.ts / *.spec.ts 패턴 참고bun run test <test-file-path> 실행<source>.test.ts 또는 <source>.spec.tsdescribe / it 본문은 한국어, 함수·식별자는 영어// Given, // When, // Then 주석import { describe, it, expect } from 'vitest'
describe('함수/컴포넌트 이름', () => {
it('정상 입력 시 기대값을 반환해야 한다', () => {
// Given
const input = 'hello'
// When
const result = stringify(input)
// Then
expect(result).toBe('hello')
})
})
import { mockNuxtImport } from '@nuxt/test-utils/runtime'
mockNuxtImport('useRoute', () => () => ({ path: '/', fullPath: '/' }))
mockNuxtImport('useI18n', () => () => ({ t: (key: string) => key }))
import { mount } from '@vue/test-utils'
import Component from './Component.vue'
describe('Component', () => {
it('렌더링되어야 한다', () => {
const wrapper = mount(Component, { props: { title: 'test' } })
expect(wrapper.text()).toContain('test')
})
})
import { setActivePinia, createPinia } from 'pinia'
import { useMyStore } from '~/stores/index'
beforeEach(() => {
setActivePinia(createPinia())
})
useRoute, useRouter, useHead, useSeoMetauseI18n, $t / $tm@nuxtjs/device (useDevice)#imports auto-import composableapp/composables/** 입출력 검증mount + screen / wrapper assertionsserver/api/** (필요 시 $fetch mock)nuxt.config.ts, app.config.ts 설정 객체bun run test <test-file-path>