원클릭으로
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>