LLM Agent E2E Test Missions
이 문서는 vox.ai의 LLM-facing 제품(docs, MCP, skills/plugins)이 외부 LLM 에이전트 관점에서 정상 동작하는지 검증하는 E2E 테스트 미션을 정의한다.테스트 원칙
- 테스트 에이전트는 vox.ai 내부 코드를 모른다. 공개된 문서와 도구만 사용한다.
- 진입점은 항상
https://docs.tryvox.co/llms.txt이다. - 각 미션은 독립적으로 수행 가능해야 한다.
- 실패 지점은 제품(docs/MCP/skills) 중 어디의 문제인지 분류한다.
대상 제품
| 제품 | 소스 | 배포 URL |
|---|---|---|
| Docs | domains/voxai/docs/ | https://docs.tryvox.co |
| Skills/Plugin | domains/voxai/skills/ | https://github.com/vox-public/vox-skills |
| MCP | domains/voxai/mcp/ | https://mcp.tryvox.co |
참고 문서
Plugin 시스템별 참고 자료는_references/ 디렉토리에 있다.
| 파일 | 내용 |
|---|---|
_references/claude-code-plugins.md | Claude Code plugin 구조, 설치, 매니페스트 스키마 |
_references/codex-plugins.md | Codex plugin 구조, 마켓플레이스, Claude Code와의 차이 |
_references/cowork-plugins.md | Claude Cowork 커넥터 등록, 제약사항 |
실행 루프
미션은 한 번 실행으로 끝나지 않는다. 통과할 때까지 아래 루프를 반복한다.역할 분리
| 역할 | 누구 | 하는 일 |
|---|---|---|
| 오케스트레이터 | 사람 + 메인 Claude Code 세션 | 미션 하달, 실패 보고 분석, 코드 수정, 배포 판단 |
| 테스트 에이전트 | spawn된 subagent | 미션 수행, 막힌 지점 보고. 내부 코드 접근 불가 |
실패 보고 형식
develop 환경
프로덕션 배포 전에 develop 기준으로 E2E 테스트를 수행한다.| 제품 | 프로덕션 | develop |
|---|---|---|
| Docs | https://docs.tryvox.co | mintlify dev (로컬) |
| Skills/Plugin | main branch | main branch (직접 push) |
| MCP | https://mcp.tryvox.co/mcp | https://vox-mcp-develop.fly.dev/mcp |
https://vox-mcp-develop.fly.dev/mcp)으로 바꿔서 테스트하면 된다.
Mission 1: Plugin 설치 → 첫 아웃바운드 콜
목표
LLM 에이전트가 vox.ai 문서를 따라 plugin을 설치하고, 에이전트를 생성한 뒤, 아웃바운드 테스트 콜을 발신하기까지의 전체 온보딩 플로우를 검증한다.온보딩 경로
이 미션은 3개 클라이언트 각각에서 성공해야 한다. 각 경로별로 독립적으로 테스트한다.| 경로 | 클라이언트 | plugin 설치 방법 | MCP 등록 방식 |
|---|---|---|---|
| 1A | Claude Code | claude plugin add vox-ai | .mcp.json 자동 등록 |
| 1B | Codex | git clone → /plugins → 마켓플레이스에서 설치 | .mcp.json 자동 등록 |
| 1C | Claude Cowork | Cowork 앱 Browse plugins 또는 커스텀 plugin 업로드 | .mcp.json 자동 등록 |
핵심 판정 기준
MCP 직접 연결 명령(claude mcp add ...)을 실행했다면 실패다. 세 경로 모두 Plugin 설치를 통해.mcp.json이 자동으로 MCP를 등록해야 한다. 에이전트가 docs에서claude mcp add명령을 찾아 실행하는 것은 plugin 온보딩 경로가 아닌 수동 연결이므로 실패로 판정한다.
전제조건
| 항목 | 요구사항 |
|---|---|
| 런타임 | 경로별 클라이언트 (Claude Code / Codex / Cowork) |
| 인증 | vox.ai 계정 (OAuth 또는 API 키) |
| 전화번호 | 테스트 수신용 전화번호 1개 |
| 네트워크 | docs.tryvox.co, mcp.tryvox.co, github.com 접근 가능 |
에이전트 브리핑
아래는 테스트 LLM 에이전트에게 전달할 미션 프롬프트다.[CLIENT]와 [TEST_PHONE_NUMBER]는 실행 시 치환한다.
검증 단계
Step 1: 진입점 접근
| 항목 | 내용 |
|---|---|
| 행동 | https://docs.tryvox.co/llms.txt fetch |
| 성공 기준 | 200 응답, 문서 인덱스 수신 |
| 실패 → Docs | llms.txt 미배포 또는 경로 오류 |
Step 2: Plugin 설치
경로별로 기대하는 행동이 다르다. 경로 1A (Claude Code):| 항목 | 내용 |
|---|---|
| 행동 | docs에서 plugin 설치 명령을 찾아 실행 |
| 기대 명령 | npx skills add https://github.com/vox-public/vox-skills --skill vox-best-practice |
| 성공 기준 | plugin 설치 완료, skill 목록에 vox 관련 skill 등록 |
| 실패 → Docs | 설치 명령을 문서에서 찾지 못함 |
| 실패 → Skills | GitHub 레포 접근 불가, 매니페스트 오류, skill 미등록 |
| 항목 | 내용 |
|---|---|
| 행동 | docs에서 Codex plugin 설치 방법을 찾아 실행 |
| 기대 행동 | /plugins에서 vox.ai 검색 또는 마켓플레이스 추가 후 설치 |
| 성공 기준 | plugin 설치 완료, vox.ai 도구 사용 가능 |
| 실패 → Docs | Codex 경로 안내 누락 |
| 실패 → Skills | .codex-plugin/plugin.json 미제공 또는 구조 오류 |
| 항목 | 내용 |
|---|---|
| 행동 | docs에서 Cowork plugin 설치 방법을 찾아 실행 |
| 기대 행동 | Cowork 앱 Browse plugins에서 설치 또는 커스텀 plugin 업로드 |
| 성공 기준 | plugin 설치 완료, 도구 호출 가능 |
| 실패 → Docs | Cowork plugin 설치 안내 누락 또는 불명확 |
| 실패 → Skills | plugin 파일 구조 오류, Cowork 호환 문제 |
Step 3: MCP 자동 등록 확인
| 항목 | 내용 |
|---|---|
| 행동 | plugin 설치 후 MCP 도구 사용 가능 여부 확인 |
| 성공 기준 | list_agents 등 vox MCP 도구가 자동으로 사용 가능 |
| 자동 실패 조건 | 에이전트가 claude mcp add 명령을 실행함 (모든 경로) |
| 실패 → Skills | .mcp.json 누락 또는 자동 등록 실패 |
| 실패 → MCP | 서버 다운, 도구 미노출 |
Step 4: 에이전트 생성
| 항목 | 내용 |
|---|---|
| 행동 | create_agent MCP 도구 호출 |
| 성공 기준 | agent_id 반환, get_agent로 조회 성공 |
| 실패 → Skills | onboarding skill의 가이드 부족 |
| 실패 → MCP | create_agent schema 불명확, API 에러 |
Step 5: 아웃바운드 콜 발신
| 항목 | 내용 |
|---|---|
| 행동 | create_call MCP 도구로 테스트 번호에 전화 발신 |
| 성공 기준 | call_id 반환, 실제 전화 수신 |
| 실패 → MCP | 발신 번호 없음 안내 부족, 파라미터 설명 부족 |
| 실패 → Infra | SIP/텔레포니 문제 (이 테스트 범위 밖) |
실패 원인 분류
| 분류 | 수정 대상 | 배포 방법 |
|---|---|---|
| Docs | domains/voxai/docs/ | Mintlify 자동 배포 (push to main) |
| Skills | domains/voxai/skills/ | GitHub push (vox-public/vox-skills) |
| MCP | domains/voxai/mcp/ | Fly.io 배포 |
| Infra | 범위 밖 | 별도 대응 |