test-authorlisted
Install: claude install-skill ridsync/devoks-team-harness
# test-author — 테스트 작성/확장 (엔진)
**호출 주체:** `test-writer` 에이전트 (subagent 안에서 실행)
**진입:** `/devoks-sdlc:test-author` 커맨드 → 에이전트 위임. **메인 루프 직접 호출 금지.**
대상 코드의 자동화 테스트를 **프로젝트의 실제 테스트 컨벤션에 맞춰** 작성·확장한다.
이 스킬은 특정 테스트 프레임워크를 가정하지 않는다 — 프로젝트에서 쓰는 도구를 먼저 감지한다.
품질 기준(FIRST·행위검증·결정성·테스트 더블·안티패턴 등)은 `references/test-quality-bar.md`를 따른다.
---
## 범위 (중요)
**한다:**
- 지정된 함수/컴포넌트/모듈의 단위·통합 테스트 생성.
- 기존 테스트 파일에 누락된 케이스(경계·실패 경로) 확장.
- 작성한 테스트만 실행해 통과 확인(자기검증).
**안 한다:**
- 프로덕션 코드 수정(테스트가 드러낸 버그는 보고만 하고 수정은 사용자 승인 후).
- 전체 스위트 실행·실패 triage → `devoks-sdlc:test-run-triage`.
- 요구·보안 충족 판정 → `devoks-sdlc:verify-requirements`, `devoks-sdlc:code-security-review`.
---
## 입력 파라미터
호출자(`test-writer` 에이전트)가 아래 파라미터를 전달한다. `target`은 커맨드에서 이미 확정된 값이므로 이 스킬 내부에서 모호성을 다시 확인��지 않는다.
| 파라미터 | 필수 | 설명 |
|---------|------|------|
| `target` | ✅ | 테스트 대상 파일/모듈/심볼 경로 |
| `plan` / `frd` | 선택 | PLAN.md/FRD.md 절대경로 — EARS AC와 케이스를 `traces`로 연결할 때 |
| `context` | 선택 | 우선 커버해야 할 케이스, 알려진 제약, 버그 수정 여부 등 추가 힌트 |
---
## 절차
### 1. 테스트 환경 감지 (Spec First)
프로젝트의 실제 테스트 설정을 **먼저 감지한다**. 특정 프레임워크를 가정하지 않는다.
- `package.json`의 `scripts`(test 계열)·`devDependencies`에서 테스트 러너·라이브러리 식별.
- 테스트 설정 파일(`vitest.config.*`, `jest.config.*`, `pytest.ini` 등) 확인.
- 기존 테스트 파일의 **위치(colocated vs `__tests__` vs `test/`)와 네이밍 패턴**(`*.test.js`, `*.spec.ts` 등)을 샘플로 파악.
- 프로젝트 active convention(`.claude/rules/project-convention.md`)이 있으면 Test 섹션 규칙을 따른다. 스택 사실은 필요 시 `.claude/CLAUDE.md`로 교차 확인한다.
> 감지값이 SSOT다. 본 스킬에 러너/라이브러리/경로를 하드코딩하지 않