Community코딩 & 개발github.com

choism4/oh-my-demo

실제 애플리케이션 브랜치에서 진실되고 반복 가능한 제품 데모를 구축합니다.

oh-my-demo란 무엇인가요?

Oh My Demo는 개발자와 AI 에이전트가 실제 애플리케이션 코드베이스 위에서 진실되고 반복 가능한 제품 데모를 만들 수 있도록 설계된 스킬입니다. 이 스킬은 모의 앱 생성기가 아니라 호스트 애플리케이션의 리허설 및 설정 레이어 역할을 하며, 프로덕션 UI, 탐색, 명령어, 로컬 상태, 비즈니스 로직을 최대한 보존합니다. 느리거나 비용이 많이 들거나 원격이거나 불안정한 경계만 선언적 픽스처로 대체하여 신뢰할 수 있는 녹화 환경을 제공합니다. CLI 도구(`oh_my_demo.py`)를 통해 `init`, `doctor`, `status`, `check`, `prove` 등의 명령을 제공하며, 전용 데모 브랜치를 생성하고 진실 원장(truth ledger)을 관리합니다. 모든 클레임은 'real'(실제 구현), 'simulated'(픽스처 데이터), 'operator'(녹화 보조)로 분류되며, 가중치 기반 real 점유율을 80% 이상 유지해야 합니다. 안전 계약을 통해 명시적 활성화, 전용 브랜치, 인간 트리거를 요구하며, 라이브 게시나 결제 같은 원격 부작용을 금지합니다. 이 스킬은 Claude Code, Cursor, Codex 등 AI 코딩 도구에서 사용할 수 있으며, 호스트 애플리케이션의 실제 동작을 왜곡하지 않고 데모 품질을 높이는 데 중점을 둡니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add choism4/oh-my-demo

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

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

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

문서

Oh My Demo

실제 앱을 한 번에 녹화하세요. 후반 작업은 생략하세요.

이 스킬은 호스트 애플리케이션 위에서 리허설 및 설정 레이어로 사용되며, 모의 앱 생성기가 아닙니다. 시작 상태, 운영자 큐, 페이싱, 선언된 픽스처, 리셋 경로를 준비하여 사용자가 녹화 버튼을 누르고 실패 없이 워크스루를 마칠 수 있도록 합니다. 프로덕션 UI, 탐색, 명령어, 로컬 상태, 사용 가능한 비즈니스 로직을 보존합니다. 신뢰할 수 있는 녹화를 위해 필요한 가장 작은 느리거나, 비용이 많이 들거나, 원격이거나, 불안정하거나, 완성되지 않은 경계만 교체합니다.

기본 흐름

SKILL_ROOT를 이 파일이 포함된 디렉터리로 설정한 후, 번들된 CLI를 python3 "$SKILL_ROOT/scripts/oh_my_demo.py"로 실행합니다.

  1. 리포지토리, 테스트 하니스, 기존 픽스처, 녹화할 정확한 사용자 가시 경로를 검사합니다. 변경 전에 git 상태와 관련 diff를 검사합니다.

  2. 전용 브랜치 또는 격리된 작업 트리를 만듭니다. 데모 전용 픽스처 대체를 프로덕션 브랜치에 절대 배치하지 마세요.

  3. 프로젝트 킷을 초기화합니다:

    python3 "$SKILL_ROOT/scripts/oh_my_demo.py" init . --name product-tour
    
  4. .oh-my-demo/manifest.json에 진실 원장을 구축합니다. 모든 클레임을 다음과 같이 분류합니다:

    • real: 표시되는 앱이 프로덕션 구현을 실행합니다.
    • simulated: 선언된 경계가 결정적 픽스처 데이터를 반환합니다.
    • operator: 텍스트 채우기, 페이싱, 리셋과 같은 녹화 지원입니다. 이러한 편의를 진실 백분율에 포함하지 마세요.
  5. 가중치가 적용된 real 점유율을 80% 이상 유지합니다. 시뮬레이션된 헤드라인 기능이 예산을 초과할 경우 클레임을 줄이거나 실제 경로를 더 많이 구현합니다. 이를 숨기기 위해 가중치를 조작하지 마세요.

  6. 모든 입력, 참조, 픽스처, 결과, 기준선을 목록화합니다. 데모 리소스를 운영자의 머신별 절대 경로에 바인딩하지 말고 .oh-my-demo/ 또는 다른 매니페스트 루트 아래에 복사합니다. 대용량 미디어의 경우 Git LFS 또는 체크섬이 잠긴 인증된 아티팩트 패키지를 선택하고 프리플라이트 전에 로컬로 구체화합니다.

  7. 보이는 컨트롤에 안정적인 의미론적 대상을 부여합니다. 생성된 CSS 선택자나 좌표보다 접근성 ID, 테스트 ID, 또는 호스트 레지스트리를 선호합니다.

  8. 상태 시드, 기준선 복원, 또는 프로덕션 경계 계약을 충족하는 데 필요한 가장 작은 호스트 어댑터만 추가합니다. 재사용 가능한 매니페스트 런타임에 제품별 명사를 유지하지 마세요.

  9. 테이크를 상태 인식, 명시적으로 트리거되는 단계로 모델링합니다. 타이핑 간격, 읽기 가능한 로딩 시간, 계단식 공개, 뷰포트 재조정을 중앙 집중화합니다. 인간 트리거 없이 다음 나레이션 단계로 진행하지 마세요.

  10. 앱을 열기 전에 진단을 실행하고 실패 시 닫습니다:

    python3 "$SKILL_ROOT/scripts/oh_my_demo.py" doctor .
    python3 "$SKILL_ROOT/scripts/oh_my_demo.py" status .
    python3 "$SKILL_ROOT/scripts/oh_my_demo.py" check . --record
    
  11. 나레이션 속도로 실제 표시되는 애플리케이션을 리허설합니다. 진행하기 전에 대기 상태, 결과 공개, 누적 변경, 오디오/비디오 연결, 뷰포트 응답을 확인합니다.

  12. 동일한 테이크를 최소 두 번 리셋하고 반복합니다. 적어도 한 번은 인간이 조작하는 패스를 포함합니다. 자동화만으로는 청중이 동작을 인지할 수 있다는 것을 증명할 수 없습니다.

  13. 증거를 정확한 매니페스트에 바인딩하고 검증합니다:

    python3 "$SKILL_ROOT/scripts/oh_my_demo.py" prove .
    
  14. 프로덕션 비활성화된 집중 검사를 실행합니다. 데모 활성화가 기본적으로 꺼져 있고 정상 빌드가 픽스처 데이터를 조용히 해석하지 않는지 확인합니다.

  15. 세 가지 별도 목록을 보고합니다: 실제 동작, 시뮬레이션된 경계, 운영자 편의. 데모 컨트롤이 아닌 시뮬레이션된 제품 클레임에 대해서만 후속 제품 작업을 제출합니다.

내장된 표면

CLI를 결정적 중추로 사용:

  • init: .oh-my-demo/manifest.json, evidence.json, fixtures/를 생성합니다.
  • doctor: Python, git 작업 트리, 브랜치, 매니페스트, 미디어 도구, 명시적 활성화를 진단합니다.
  • status: 가중치 적용된 진실 예산과 시뮬레이션된 경계를 표시합니다.
  • check: 브랜치, 기준선 리비전, 에셋, 해시, 미디어 지속 시간, 후행 범위, 회전 메타데이터, 유니코드 경로, 픽스처 연결을 프리플라이트합니다.
  • prove: 두 번의 리셋-재생 패스, 한 번의 인간 가시 연산자 패스, 매니페스트 다이제스트 바인딩, 프로덕션 비활성화 격리를 요구합니다.

스킬의 추론을 사용하여 호스트 앱을 검사하고 수정합니다. CLI가 프레임워크별 어댑터를 자체적으로 구현할 수 있다고 가정하지 마세요.

런타임 계약

재사용 가능한 액션 어휘를 작게 유지:

focus, set-value, type-text, click, submit, navigate, wait, resolve-fixture, repeat, reset, assert, invoke-adapter.

도메인 연산을 호스트 소유 어댑터에 매핑합니다. 캔버스 편집, 데이터베이스 시드, 타임라인 삽입, 모바일 제스처, TUI 명령은 invoke-adapter로 유지합니다. 호스트 구현이 실제 유형과 동작을 소유합니다.

텍스트 필드의 경우 선언된 텍스트 대상 또는 포커스된 적격 요소를 해결하고, 민감한 필드를 거부하며, 포커스하고, 가능한 경우 프레임워크의 제어된 상태 경로를 통해 업데이트하고, 명시적으로 요청된 경우에만 제출합니다.

안전 계약

  • 명시적 런타임 활성화와 전용 데모 브랜치를 요구합니다.
  • 모든 기록된 단계에 대해 인간 트리거를 요구합니다.
  • 스테이지된 흐름에서 라이브 게시, 메시징, 청구, 결제 또는 기타 원격 부작용을 금지합니다.
  • 인증, 권한 부여, 모델 정책, 토큰 계정, 서명, 릴리스 검사를 우회하지 마세요.
  • 비밀번호, 토큰, 결제 데이터, 복구 코드, 비밀 유사 필드를 절대 채우지 마세요.
  • 매니페스트에 선언된 상태 또는 호스트 소유 버전 관리 스냅샷만 리셋합니다. 홈 디렉터리, 리포지토리 루트, 확인되지 않은 변수, 와일드카드, 선언된 루트 외부 경로를 절대 대상으로 삼지 마세요.
  • 픽스처를 소비자 경로의 증거로만 취급하며, 원격 프로듀서가 작동한다는 증거로 절대 취급하지 마세요.
  • 디버그 크롬은 제품 클레임과 관련이 없는 경우에만 숨깁니다. 청중에게 말해지는 사실을 절대 숨기지 마세요.

참조 라우팅

책임 분할 방법에 대해 references/distribution.md를 읽으세요.

.oh-my-demo/manifest.json을 생성하거나 확장할 때 references/manifest-schema.md를 읽으세요.

호스트 어댑터, 픽스처 경계, 리셋 경로, 또는 텍스트 필드 통합을 구현하기 전에 references/adapters-and-safety.md를 읽으세요.

첫 번째 전체 실행 전, 실패한 테이크 후, 또는 변경이 성공했지만 인지할 수 없는 경우 references/rehearsal.md를 읽으세요.

데모가 반복 가능하다고 주장하거나 .oh-my-demo/evidence.json을 채우기 전에 references/evidence-schema.md를 읽으세요.

완료 게이트

다음 모든 조건이 충족될 때까지 설정이 완료되었다고 간주하지 마세요:

  • 전용 데모 브랜치에서 doctor, status, check가 통과합니다;
  • 가중치 적용된 real 점유율이 최소 80%입니다;
  • 모든 시뮬레이션된 클레임에 출처, 좁은 주입 지점, 프로덕션에 해당하는 것, 가시적 어설션이 있습니다;
  • 리셋이 동일한 초기 상태를 두 번 복원합니다;
  • 적어도 한 번의 인간 조작 리허설이 나레이션 속도로 인지 가능합니다;
  • 최종 매니페스트 다이제스트에 대해 prove가 통과합니다;
  • 프로덕션 경로에서 데모 모드가 비활성화되었음이 확인됩니다.

관련 스킬