---
name: create-test
version: 1.0.2
description: agent-test 환경 rules.md 또는 상황별 테스트 rule 문서를 생성하는 스킬
---

# create-test

## 목적

`agent-test/<env>/rules.md` 또는 `agent-test/<env>/<test-case>.md`를 템플릿 기준으로 생성한다.
공통 진입점은 얇게 유지하고, 실제 테스트 기준은 환경/상황별 문서에 둔다.

## 언제 호출할지

- 새 테스트 환경을 추가할 때
- 특정 환경의 `rules.md`가 없을 때
- 새 상황별 테스트 문서와 라우팅을 추가할 때
- `init-agent-ops` 후 local 테스트 환경 보완이 필요할 때

## 입력

- `env`: `local`, `dev`, `qa`, `prod` 중 하나 (필수)
- `test-case`: 상황별 테스트 문서 이름, kebab-case (선택)
- `scope`: 검증 대상 또는 변경 범위 설명 (선택)

## 먼저 확인할 것

- [ ] `agent-ops/rules/common/rules.md`의 스킬 규칙과 테스트 규칙이 분리되어 있는지 확인한다.
- [ ] `agent-ops/skills/common/router.md`에 `create-test` 라우팅이 있는지 확인한다.
- [ ] `agent-ops/rules/common/_templates/test-env-rules-template.md`를 읽는다.
- [ ] `test-case`가 있으면 `agent-ops/rules/common/_templates/test-case-rule-template.md`를 읽는다.
- [ ] `agent-test/<env>/rules.md` 존재 여부를 확인한다.
- [ ] `test-case`가 있으면 `agent-test/<env>/<test-case>.md` 존재 여부를 확인한다.

## 실행 절차

1. **환경 rules 생성**
   - `agent-test/<env>/rules.md`가 없으면 `test-env-rules-template.md` 형식으로 만든다.
   - 제목은 `# <env> 테스트 규칙`으로 쓴다.
   - 제목 바로 아래 정독 필수 문구를 유지한다.
   - `last_rule_updated_at`은 생성일 `YYYY-MM-DD`로 쓴다.

2. **상황별 문서 생성**
   - `test-case`가 있으면 `agent-test/<env>/<test-case>.md`를 `test-case-rule-template.md` 형식으로 만든다.
   - 실제 확인된 환경, 명령, 판정 기준만 채운다.
   - 불확실한 값은 비워 두거나 `<확인 필요>`로 둔다.

3. **라우팅 갱신**
   - 새 환경을 만들었고 `agent-ops/rules/common/rules.md`에 해당 env 라인이 없으면 `# 테스트 규칙`에 한 줄을 추가한다.
   - `test-case` 문서를 만들었으면 `agent-test/<env>/rules.md`의 `## 라우팅`에 해당 문서 한 줄을 추가한다.
   - 상황별 문서에서 다른 테스트 문서로 라우팅하지 않는다.
   - 공통룰에서 스킬 최종 진입까지의 경로는 `rules.md` -> `router.md` -> `create-test/SKILL.md`로 유지한다.

4. **local 추적 제외**
   - `env`가 `local`이면 `.gitignore`에 `agent-test/local/`과 `agent-test/runs/`가 있는지 확인하고 없으면 추가한다.

5. **결과 보고**
   - 생성한 파일
   - 추가한 라우팅
   - 비워 둔 확인 필요 항목

## 실행 결과 검증

- [ ] 생성 파일이 해당 템플릿의 필수 섹션을 포함하는가
- [ ] `rules.md` -> `router.md` -> `create-test/SKILL.md` 경로가 끊기지 않는가
- [ ] `agent-test/<env>/rules.md`가 3홉을 넘는 라우팅을 만들지 않는가
- [ ] 새 상황별 문서가 env rules의 라우팅에 연결되었는가
- [ ] local 생성 시 `.gitignore`에 local 경로가 반영되었는가
- 검증 실패 시: 누락된 파일/섹션/라우팅만 보완한다.

## 출력 형식

```md
## 생성 완료

- 환경: <env>
- 환경 rules: agent-test/<env>/rules.md
- 상황별 rule: agent-test/<env>/<test-case>.md
- 라우팅 추가: <내용>
- 확인 필요: <항목 또는 없음>
```

## 금지 사항

- 기존 테스트 문서를 덮어쓰지 않는다.
- 상황별 문서에서 추가 테스트 문서로 라우팅하지 않는다.
- 확인되지 않은 host, port, token, endpoint를 추측해 쓰지 않는다.
- secret, token, 개인 endpoint 원문을 tracked 파일에 기록하지 않는다.
