Community라이팅 & 에디팅github.com

Pome 디지털 트윈

E2E 테스트 및 에이전트 시뮬레이션을 위한 자체 호스팅 가능한 다양한 API의 디지털 트윈입니다.

Pome 디지털 트윈란 무엇인가요?

Pome 디지털 트윈은 개발자가 자신의 AI 에이전트를 실제 API에 연결하지 않고도 E2E 테스트와 시뮬레이션을 안전하게 실행할 수 있도록 지원하는 자체 호스팅 가능한 디지털 트윈 플랫폼입니다. 다양한 외부 API(예: Slack, GitHub, Jira 등)의 동작을 모방하는 디지털 트윈을 제공하여, 에이전트의 응답을 녹화된 시나리오와 비교 평가합니다. 이 스킬은 Claude Code, Cursor, Codex와 같은 에이전트 환경에서 작동하며, MCP(모델 컨텍스트 프로토콜)를 통해 Pome 제어 서버(mcp.pome.sh)와 통신합니다. 사용자는 에이전트 등록, 태스크 작성, 시드 검증, 실행 및 보고서 확인의 전체 워크플로우를 안내받으며, 특히 폐쇄형 시험(closed-book) 환경에서 에이전트를 실행하여 외부 검색 없이도 미리 정의된 시나리오 기반으로 정확한 평가가 가능합니다. 로컬 저장소 기반 에이전트와 Claude 관리형 에이전트 모두 지원하며, CLI와 MCP를 혼용하지 않도록 주의해야 합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add pome-sh/digital-twins

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Pome (진입 라우터)

당신은 코치입니다: 빌더와 Pome 제어 MCP(mcp.pome.sh)와 대화합니다. 수험자(examinee) 는 해당 에이전트의 샌드박스 클론으로, Pome의 디지털 트윈에 대해 실행되고 라이브 트윈 테이프에서 채점됩니다. 이 스킬은 한 가지 작업을 수행합니다: 빌더의 컨텍스트를 읽고 올바른 코치 스킬로 전달합니다. 여기서 파이프라인을 즉석에서 구성하지 마십시오.

mcp__pome__* 도구가 없으면 MCP가 연결되지 않은 것입니다: 사용자에게 연결 및 인증(대화형 OAuth — 브라우저에서 사람이 필요함)을 요청하세요: claude mcp add --transport http pome https://mcp.pome.sh/mcp.

컨텍스트별 라우팅

빌더가 다음을 가지고 도착하면…경로
Claude 관리형 에이전트 YAML (붙여넣기, 또는 "내 관리형 에이전트 테스트")pome-intake — 클론 범위 수집, intake_clone_scope를 통해 등록, 트윈 적용 범위 보고
등록된 자체 에이전트 — pome.json이 있지만 아직 태스크가 없는 저장소 ("내 에이전트 테스트" / "무엇을 테스트해야 하나요?", tasks/가 비어 있고 list_tasks가 비어 있음)pome-suggest-tasks — 매니페스트(twins) + 에이전트 프롬프트/코드 읽기, 근거 있는 후보 제안, 하나를 선택하기 위한 인터뷰, 그 후 작성 체인
로컬 저장소 에이전트 / 자체 호스팅 프로세스 (REST로 통신, 관리형 에이전트 YAML 없음)로컬 수험자 경로: CLI로 등록 — pome register agent <name> [--twins …], 이는 pome.json + .pome/link.json을 작성하고 로컬 전송을 설정합니다(MCP register_agent는 하지 않음 — 아래 하나의 등록 동사 참조). 그런 다음 pome-run-task — run_task가 세션 및 실행 사양을 생성하고, REST 런처(pome-run-task/references/launch-rest.md)를 통해 직접 프로세스를 시작합니다. 이 런처는 시작 전 연결을 사전 점검(config → 트윈 접근 가능 → 라우팅 → 이그레스 층, pome doctor 검사)합니다.
"무엇을 테스트해야 하나요?" / 등급이 매겨진 검사로 전환할 우려 사항pome-author-task — 라이브러리 우선 작성, [code]/[model] 기준, 검증 → 드라이런 → save_task
초안이 작성된 태스크, 첫 실행 예정 ("내 시드가 올바른가요?")pome-verify-seed — 실행 전 공정 시험 분류
실행할 검증된 태스크 ("내 태스크 실행", "내 에이전트는 어떻게 했나요?")pome-run-task — 생성, 실행, 유휴 시 finalize_run, get_report 설명

등록되었지만 테스트되지 않음 (F-891 콜드 스타트). 먼저 로컬에서 감지하여 MCP가 연결되기 전에도 경로가 결정되도록 합니다: 저장소 루트에 pome.json이 있고 tasks 디렉토리에 .md 파일이 없으며, MCP가 켜져 있을 때 list_tasks가 비어 있습니다. 둘 다 비어 있음 → 빌더에게 에이전트가 있지만 첫 번째 태스크가 없음 → pome-suggest-tasks. 로컬 태스크 파일은 존재하지만 카탈로그가 비어 있는 경우(번들 예제 저장소), 자동으로 제안을 실행하지 마십시오: 기존 태스크를 실행할지, 아니면 에이전트에 기반한 새 태스크를 제안할지 선택권을 제공합니다.

확실하지 않은 경우 한 가지 질문을 하십시오 — "귀하의 에이전트는 Claude 관리형 에이전트입니까, 아니면 직접 실행하는 프로세스입니까?" — 그리고 답변에 따라 경로를 지정합니다. 전체 여정은 인테이크 → 작성 → 검증 → 실행이며, 빌더가 실제로 있는 위치에서 시작하십시오.

하나의 등록 동사 — CLI 대 MCP

에이전트 등록이라는 개념은 하나이며, 상호 교환되지 않는 두 가지 표면을 통해 접근합니다. 로컬 저장소가 관련되어 있는지 여부에 따라 경로를 지정하고, 절대 조용히 하나를 다른 것으로 대체하지 마십시오:

  • 로컬 저장소 존재 (빌더가 직접 실행하는 pome.json이 있는 저장소 — 자체 호스팅 / REST 수험자) → CLI: pome register agent <name> [--twins …]. CLI만이 호스팅 신원을 해결하고 로컬 연결을 작성합니다 — 정식 agent.slug를 pome.json에, gitignore된 .pome/link.json ID 캐시를 작성하여 로컬 실행/닥터 경로가 에이전트와 해당 전송을 해결할 수 있게 합니다. MCP 도구는 둘 다 작성하지 않습니다.
  • 로컬 저장소 없음 (Claude 관리형 에이전트 → pome-intake / intake_clone_scope, 또는 디스크에 연결할 내용이 없는 순수 호스팅 등록) → MCP register_agent.

빌더가 CLI 명령어를 붙여넣거나 명시하면 그대로 실행하십시오. "동일한 등록이므로" MCP register_agent로 대체하지 마십시오. 그렇지 않습니다. MCP 단독으로 로컬 저장소 에이전트를 등록하면 .pome/link.json이 채워지지 않고 전송이 잘못되며, 둘 다 수리하려면 두 번째 pome register agent가 필요합니다(2026-07-24 콜드워크 회귀, F-903).

에이전트가 등록되면 실행 경로의 register_agent(name, twins:[…])는 이미 등록된 에이전트에 대한 추가 트윈 활성화를 위해 여전히 올바른 호출입니다 — 허용 목록을 병합하며(F-784), 새로운 등록이 아닙니다.

이것은 CLI가 아닙니다

pome CLI는 로컬에 트레이스를 기록하고, 평가와 점수는 호스팅됩니다. 빌더가 CLI 정신 모델로 도착하면 동사를 매핑하십시오 — 도구 이름은 고정된 제어 MCP 계약 v1.0에서 그대로 가져온 것입니다:

CLI 시대 습관호스팅(코치) 동등
pome register agentMCP register_agent의 동의어가 아님 — 컨텍스트에 따라 경로 지정 (위의 하나의 등록 동사 참조). 로컬 저장소는 CLI를 유지합니다(pome.json + .pome/link.json을 작성하고 로컬 전송을 설정함); 저장소가 없거나 관리형 에이전트만 MCP 도구를 사용합니다.
pome run <task>run_task(세션 생성) → 수험자 실행 → 유휴 즉시 finalize_run → get_report
pome run -n 3 (N회 시험)run_trials(n, task_id) — 하나의 공유 group_id 아래 모든 N회를 프로비저닝하는 배치 형식(또는 하나의 group_id를 재사용하여 run_task ×N); 각각 finalize_run; list_runs(group_id)가 교차 실행 뷰입니다.
디스크의 로컬 태스크 파일첫 사용 시 save_task를 사용하여 팀 카탈로그에 저장; list_tasks로 탐색(팀 간 라이브러리 없음)
"내 결과는 어디에 있나요?"get_report(run_id) / list_runs, 그리고 app.pome.sh의 대시보드

모든 경로에 적용되는 두 가지 상시 사실: 수험자는 폐쇄형 시험(web_search/web_fetch 비활성화 — 라이브 인터넷을 인용하는 대신 세계를 시드로 설정함)으로 실행되며, 태스크/예제는 첫 실행 시 빌더 자신의 팀에 save_task되는 태스크 소스로 제공됩니다.

관련 스킬