--- name: update-test version: 1.1.0 description: 기존 agent-test 환경 rules.md 또는 도메인/검증 시나리오별 테스트 rule 문서를 수정하는 스킬 --- # update-test ## 목적 기존 `agent-test//rules.md` 또는 `agent-test//.md`를 최신 테스트 기준에 맞게 갱신한다. 라우팅은 3홉 안에 유지하고, 도메인/검증 시나리오별 문서는 자체 완결되게 보완한다. `test-case`는 기존 호출과의 호환을 위한 alias이며, 새 문서 기준 이름은 `test-profile`이다. ## 언제 호출할지 - 기존 테스트 환경 규칙을 수정할 때 - 도메인/검증 시나리오별 테스트 기준, 명령, 판정 기준을 보완할 때 - 테스트 라우팅을 추가, 제거, 정리할 때 ## 입력 - `env`: `local`, `dev`, `qa`, `prod` 중 하나 (필수) - `test-profile`: 수정할 도메인/검증 시나리오별 테스트 문서 이름, kebab-case (선택) - `test-case`: `test-profile`의 호환 alias (선택) - `domain`: 대상 도메인 이름, kebab-case (선택) - `change`: 수정할 내용 요약 (필수) ## 먼저 확인할 것 - [ ] `agent-ops/rules/common/rules.md`의 스킬 규칙과 테스트 규칙이 분리되어 있는지 확인한다. - [ ] `agent-ops/skills/common/router.md`에 `update-test` 라우팅이 있는지 확인한다. - [ ] `test-case`가 있고 `test-profile`이 없으면 `test-profile`로 취급한다. - [ ] `agent-test//rules.md` 존재 여부를 확인하고, 없으면 `create-test` 대상으로 보고 중단한다. - [ ] `agent-test//rules.md`가 있으면 읽는다. - [ ] `test-profile`이 있으면 `agent-test//.md` 존재 여부를 확인하고, 없으면 `create-test` 대상으로 보고 중단한다. - [ ] `test-profile` 문서가 있으면 읽는다. - [ ] `test-profile`이 없고 `domain` 또는 `change`가 특정 도메인/검증 시나리오를 가리키면 env rules의 라우팅에서 대상 문서를 찾는다. - [ ] 템플릿 구조 확인이 필요하면 `agent-ops/rules/common/_templates/`의 테스트 템플릿을 읽는다. - [ ] 기존 라우팅이 3홉 안에 있는지 확인한다. ## 실행 절차 1. **대상 확정** - 환경 공통 규칙 변경이면 `agent-test//rules.md`만 수정한다. - 특정 도메인/검증 기준 변경이면 해당 `test-profile` 문서를 수정한다. - 특정 대상이 암시되지만 라우팅에서 찾지 못하면 생성하지 말고 `create-test` 대상이라고 보고한다. - 대상 문서가 없으면 생성하지 말고 `create-test` 대상이라고 보고한다. 2. **문서 갱신** - 기존 환경값, 명령, 금지 사항을 보존한다. - 오래된 기준은 새 기준으로 교체하고 같은 뜻의 중복 문장은 줄인다. - 도메인/검증 시나리오별 문서는 읽기 조건, 적용 범위, 명령, 필수 검증, 판정 기준, 차단 기준을 자체 포함하게 유지한다. - `last_rule_updated_at`은 수정일 `YYYY-MM-DD`로 갱신한다. 3. **라우팅 갱신** - env rules의 `## 라우팅`은 도메인/검증 시나리오별 문서로만 향하게 한다. - 맞지 않는 라우팅은 제거하거나 더 정확한 `domain / verification-type / scope` 설명으로 바꾼다. - 도메인/검증 시나리오별 문서에서 다른 테스트 문서로 이어지는 라우팅은 제거한다. - 공통룰에서 스킬 최종 진입까지의 경로는 `rules.md` -> `router.md` -> `update-test/SKILL.md`로 유지한다. 4. **local 추적 제외 확인** - `env`가 `local`이면 `.gitignore`에 `agent-test/local/`과 `agent-test/runs/`가 있는지 확인하고 없으면 추가한다. 5. **결과 보고** - 수정한 파일 - 바꾼 라우팅 - 보존한 환경값 - 남은 확인 필요 항목 ## 실행 결과 검증 - [ ] 수정 대상 문서가 여전히 필수 섹션을 포함하는가 - [ ] `rules.md` -> `router.md` -> `update-test/SKILL.md` 경로가 끊기지 않는가 - [ ] env rules 라우팅이 3홉 제한을 넘기지 않는가 - [ ] 도메인/검증 시나리오별 문서가 다른 테스트 문서로 라우팅하지 않는가 - [ ] local 수정 시 `.gitignore`에 local 경로가 반영되었는가 - [ ] secret, token, 개인 endpoint 원문이 tracked 파일에 추가되지 않았는가 - 검증 실패 시: 문제 문서만 다시 보완한다. ## 출력 형식 ```md ## 수정 완료 - 환경: - 수정 파일: - 라우팅 변경: <내용 또는 없음> - 보존한 환경값: <요약> - 확인 필요: <항목 또는 없음> ``` ## 금지 사항 - 기존 local 환경값을 추측으로 바꾸지 않는다. - 확인되지 않은 테스트 명령을 필수 검증으로 단정하지 않는다. - 도메인/검증 시나리오별 문서를 router처럼 쓰지 않는다. - secret, token, 개인 endpoint 원문을 tracked 파일에 기록하지 않는다.