Community코딩 & 개발github.com

tryaida/aida-demo-data

앱 화면이나 API를 통해 워크스루용 데모 데이터를 생성합니다. 엔지니어가 명시적으로 시드 스크립트를 요청하지 않는 한 직접 데이터베이스에 쓰지 않습니다. 캡처 전에 필요한 데이터가 없을 때 사용합니다.

aida-demo-data란 무엇인가요?

이 스킬은 AIDA 워크스루(시연 녹화)에 필요한 데모 데이터를 생성하는 방법을 정의합니다. 주요 원칙은 데이터베이스에 직접 접근하지 않고 앱 자체의 UI나 API를 통해 데이터를 생성하는 것입니다. 하나의 워크스루에서만 사용되는 데이터는 `setup` 단계로, 여러 워크스루에서 공유되거나 워크스루가 종료된 후에도 남아 있어야 하는 데이터는 설정 파일의 `states` 항목에 훅(hook)으로 정의하여 API 클라이언트를 통해 관리합니다. 엔지니어가 명시적으로 요청한 경우에만 데이터베이스 시드 스크립트를 작성할 수 있으며, 그 외에는 절대 데이터베이스에 직접 쓰지 않습니다. 생성되는 모든 데이터는 안전한 더미 값(예: `@example.com` 이메일, 픽션 전화번호 범위)을 사용해야 하며, 실제 데이터를 복사해서는 안 됩니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tryaida/aida/tree/main/skills/aida-demo-data

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

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

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

문서

aida-demo-data은(는) 무엇을 하나요?

모델 등급: standard. 작은 스크립트나 앱 동작의 연쇄를 작성하는 데 주의가 필요하지만, 아웃라인 카드에서 데이터의 형태를 알게 되면 일상적인 작업입니다.

기본 경로: 앱 자체를 통해

  1. 하나의 워크스루에서만 사용하는 데이터 (선택할 수 있는 두 번째 경쟁자): 해당 워크스루 자체의 setup: 단계에 do:/check:/actions: 문법으로 steps와 동일하게 작성하며, 캡처 전에 실행되고 절대 녹화되지 않습니다. setup: { as: admin, steps: [...] }는 다른 역할로 로그인하여 실행됩니다.

  2. 여러 워크스루가 필요로 하거나 워크스루가 종료된 후에도 남아 있어야 하는 데이터 ("Alex가 아침 블록에 있습니다"): 설정 파일의 states 항목에 훅을 정의하여 앱의 자체 API를 통해 넣습니다(결정 15). 데이터베이스는 절대 사용하지 않습니다.

    states: {
      "alex-in-morning": {
        description: "Alex가 아침 블록에 있습니다",
        as: "admin",                                  // 훅 자체의 로그인 세션
        setup: "./states/alex-in-morning.mjs",        // 해당 파일의 `setup` 내보내기, 없으면 기본값
        check: "./states/alex-in-morning.mjs",        // 해당 파일의 `check` 내보내기, 없으면 기본값
      },
    },
    

    훅은 ctx.request(로그인 세션이 포함된 API 클라이언트, 상대 경로는 baseUrl 기준으로 해석됨)와 ctx.page, ctx.runId, ctx.env를 제공받습니다. check는 상태가 이미 존재하면 true를 반환하고 아무것도 변경하지 않습니다. setup은 멱등(idempotent)이어야 합니다("그렇게 되도록 보장"): 상태가 필요한 모든 캡처마다 실행되므로 이전 실행의 복사본을 먼저 삭제할 수 있습니다. as:가 없으면 훅은 워크스루의 자체 세션을 공유합니다. API를 통해 로그인하는 훅은 as:를 다른 역할로 설정해야 하며, 그렇지 않으면 녹화에서 로그아웃됩니다.

  3. 설정 단계에서 생성되며 실행 간에 충돌해서는 안 되는 레코드: 설정 데이터에 {{run.id}}를 사용하여 이름을 지정합니다(훅에서는 ctx.runId). 이 값이 입력된 텍스트, 나레이션 또는 캡션에 도달하지 않도록 해야 합니다. 그렇지 않으면 실행마다 스크린샷이 변경됩니다.

  4. 모든 값은 references/safety.md를 따릅니다: @example.com 이메일, 예약된 가상 전화번호 범위, 가상의 이름. 실제 레코드를 이름만 바꿔서 복사하는 것을 시작점으로 삼지 마십시오.

  5. 앱에서 지원하는 경우 전용 데모 계정 또는 워크스페이스를 사용하고, 프로덕션 계정은 절대 사용하지 마십시오. 빠른 모드(전용 데모 환경 없음)는 저장하기 전에 사용자에게 확인을 요청합니다.

시드 스크립트: 엔지니어의 명시적 요청이 있을 때만

  • 엔지니어가 이름을 지정하여 요청한 경우에만 데이터베이스 직접 쓰기 시드 스크립트를 작성합니다(예: "데모 DB용 시드 스크립트 작성"). 기본 사용자나 바이브 코더에게는 절대 제공하지 않습니다. AIDA가 데이터베이스 접근을 필요로 하지 않는다는 것이 핵심입니다.
  • 작성하는 경우: 데이터베이스 캡처 자체의 안전 검사가 허용하는 대상만 대상으로 하며(이 기계에서, 또는 사용자가 임시용으로 지정한 브랜치에서; aida doctor가 어떤 것인지 표시), 동일한 안전한 데모 데이터 값을 사용하고, 워크스루 파일이 아닌 앱 자체의 시드 도구와 함께 배치합니다.

규칙

  • 워크스루에서 읽기 전용으로 표시된 단계의 부작용으로 데이터를 생성하지 마십시오. 워크스루에 설정 데이터가 필요한 경우 명시적으로 만들고(needs, setup:), 숨겨진 상태로 두지 마십시오.
  • 녹화된 워크스루에 정리(cleanup) 단계를 추가하지 마십시오. 데이터를 제거하는 워크스루는 clears로 명시합니다. 재실행 시 멱등 설정 훅 또는 데이터베이스 리셋을 통해 시작 데이터를 다시 얻습니다.

토큰 규칙

references/tokens.md를 참조하십시오. 작고 목표 지향적: 전체 스키마나 앱이 아닌 하나의 카드 데이터 형태에 집중합니다.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

관련 스킬