3.8 KiB
3.8 KiB
| name | version | description |
|---|---|---|
| create-test | 1.0.2 | 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존재 여부를 확인한다.
실행 절차
-
환경 rules 생성
agent-test/<env>/rules.md가 없으면test-env-rules-template.md형식으로 만든다.- 제목은
# <env> 테스트 규칙으로 쓴다. - 제목 바로 아래 정독 필수 문구를 유지한다.
last_rule_updated_at은 생성일YYYY-MM-DD로 쓴다.
-
상황별 문서 생성
test-case가 있으면agent-test/<env>/<test-case>.md를test-case-rule-template.md형식으로 만든다.- 실제 확인된 환경, 명령, 판정 기준만 채운다.
- 불확실한 값은 비워 두거나
<확인 필요>로 둔다.
-
라우팅 갱신
- 새 환경을 만들었고
agent-ops/rules/common/rules.md에 해당 env 라인이 없으면# 테스트 규칙에 한 줄을 추가한다. test-case문서를 만들었으면agent-test/<env>/rules.md의## 라우팅에 해당 문서 한 줄을 추가한다.- 상황별 문서에서 다른 테스트 문서로 라우팅하지 않는다.
- 공통룰에서 스킬 최종 진입까지의 경로는
rules.md->router.md->create-test/SKILL.md로 유지한다.
- 새 환경을 만들었고
-
local 추적 제외
env가local이면.gitignore에agent-test/local/과agent-test/runs/가 있는지 확인하고 없으면 추가한다.
-
결과 보고
- 생성한 파일
- 추가한 라우팅
- 비워 둔 확인 필요 항목
실행 결과 검증
- 생성 파일이 해당 템플릿의 필수 섹션을 포함하는가
rules.md->router.md->create-test/SKILL.md경로가 끊기지 않는가agent-test/<env>/rules.md가 3홉을 넘는 라우팅을 만들지 않는가- 새 상황별 문서가 env rules의 라우팅에 연결되었는가
- local 생성 시
.gitignore에 local 경로가 반영되었는가 - 검증 실패 시: 누락된 파일/섹션/라우팅만 보완한다.
출력 형식
## 생성 완료
- 환경: <env>
- 환경 rules: agent-test/<env>/rules.md
- 상황별 rule: agent-test/<env>/<test-case>.md
- 라우팅 추가: <내용>
- 확인 필요: <항목 또는 없음>
금지 사항
- 기존 테스트 문서를 덮어쓰지 않는다.
- 상황별 문서에서 추가 테스트 문서로 라우팅하지 않는다.
- 확인되지 않은 host, port, token, endpoint를 추측해 쓰지 않는다.
- secret, token, 개인 endpoint 원문을 tracked 파일에 기록하지 않는다.