Community코딩 & 개발github.com

브랜드 레퍼런스 팩

실제 서피스(웹사이트, 앱스토어 리스팅·리뷰, 소셜 미디어, 시뮬레이터에서 구동된 라이브 앱, 코드 토큰)로부터 모든 앱의 단문 브랜드 레퍼런스 팩을 구축하거나 새로고침합니다. 마크다운, tokens.json, PDF로 결과물을 생성합니다.

브랜드 레퍼런스 팩란 무엇인가요?

이 스킬은 AI 에이전트가 대상 앱의 모든 실제 서피스를 체계적으로 수집·분석하여 브랜드 레퍼런스 팩을 자동 생성합니다. 웹사이트 스크린샷, 앱스토어 리스팅·리뷰, 소셜 미디어 게시물, 시뮬레이터에서 구동된 라이브 앱의 UI 상태, 그리고 코드 저장소의 토큰(색상·타이포그래피·모션 등)을 수집합니다. 또한 ICP(이상적 고객 프로필), 고객의 목소리, 브랜드 보이스 같은 상위 전략 산출물의 존재 여부와 정합성을 검증하여 'verified / inferred / missing'으로 표시합니다. 최종 산출물은 templates.md 기반의 마크다운 팩, tokens.json, 그리고 PDF입니다. Claude Code, Cursor, Codex 같은 터미널 기반 AI 에이전트에서 실행되며, 시뮬레이터 제어(MCP)와 여러 스크립트를 활용하여 전체 워크플로를 자동화합니다. 브랜드 팀, 마케터, 디자이너가 콘텐츠 포맷이나 디자인 결정을 내리기 전에 현재 브랜드 현황을 정확히 파악하는 데 유용합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jamesisbuilding/App-Building-Skills/tree/main/skills/brand-reference-pack

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

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

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

문서

브랜드 레퍼런스 팩은(는) 무엇을 하나요?

팩은 맥락이지, 콘텐츠가 아닙니다. 이미 존재하는 브랜드(대상, 보이스, 시각 언어, 토큰, 그리고 각 주장의 근거가 된 화면과 카피)를 기록하여, 이후 포맷, 스크립트, 디자인 결정이 이 팩을 기반으로 이루어질 수 있도록 합니다. 팩에는 후크, 스크립트, 시리즈가 포함되지 않습니다. 출처가 그러한 것을 제안한다면 출처를 기록하고 결정은 열어둡니다.

위치:

상위(전략) ──→ 이 스킬(관찰된 브랜드) ──→ 하위(포맷, 스크립트, 릴스)
ICP · VOC · 브랜드 보이스    서피스가 보여주는 것          스크립트→릴, 셰이더-랩

이 스킬은 ICP, VOC, 브랜드 보이스를 새로 만들지 않습니다. 상위 산출물을 찾고, 서피스가 그와 일치하는지 확인한 후, 각각을 verified / inferred / missing으로 표시합니다(팩 §0). 차이는 상위로 다시 보냅니다. 여기서 덮지 마세요.

파일:

  • template.md: 팩의 섹션 구조
  • scripts/: 일반적인 캡처 및 렌더링 도우미
  • apps/<app>/: 각 앱의 폴더 (URL, 흐름 레시피, 특이사항, 프로덕션 규칙, PDF 레이아웃 포함)
    • 먼저 apps/<app>/README.md를 읽으세요. 새 앱이라면 인테이크 중에 생성하세요.

명령어는 이 스킬 폴더(.claude/skills/brand-reference-pack/) 기준으로 작성되며, 출력 경로는 실제 실행 위치에 상대적입니다. 프로젝트 루트에서 실행하고 scripts/ 앞에 스킬 경로를 접두사로 붙이세요. pack_pdf.py는 스킬 기준으로 자체 설정을 해석합니다.

0. 인테이크 (새 앱 전용, 단일 AskUserQuestion 라운드)

다음을 수집합니다:

  • 앱 이름
  • 웹사이트 URL
  • 소셜 핸들
  • 앱스토어 ID 및 국가 (Play 패키지 ID, 해당 시)
  • 앱 실행 방법: 시뮬레이터 빌드, TestFlight, 웹 앱, 에뮬레이터
  • 코드 저장소 경로 (있는 경우)
  • 기존 브랜드, ICP 또는 연구 문서
  • 핵심 흐름
  • 프로덕션에서 금지된 사항
  • 출력 폴더

답변을 apps/<app>/README.md에 작성합니다.

1. 기반 검토 (ICP, VOC, 브랜드 보이스)

각 기반 요소에 대해 상위 산출물(위키, 문서 폴더, 리서치 덱, 브랜드 북)을 찾습니다.

  • ICP: 데이터나 리서치에 기반한 정의된 타겟 고객. 신뢰도와 표본 크기를 기록합니다.
  • VOC (고객의 목소리): 인터뷰, 리뷰, 고객 지원, 커뮤니티에서 얻은 고객의 실제 말. 브랜드 자체 사이트의 사용 후기는 약한 증거(큐레이팅됨)로만 간주합니다.
  • 브랜드 보이스: 문서화된 보이스 가이드 또는 카피 규칙.

각각을 팩의 §0 표에 기록합니다. 2-5단계를 거치며 라이브 서피스가 일치하는지 확인합니다. 불일치는 '열린 결정'으로 보냅니다. 산출물이 없으면 그렇게 명시하고 이를 보완할 상위 작업을 지명합니다. 서피스에서 기반을 발명하지 마세요.

2. 공개 서피스 (가능한 병렬로)

모든 주장은 refs/ 아래 파일이 필요합니다.

웹사이트:

node scripts/site.mjs <url> <brand>/refs/web

이 명령어는 데스크톱 및 모바일용 전체 화면 및 히어로 스크린샷, site-styles.json(글꼴(호스트 ID 뒤의 실제 이름 포함), 색상, 이미지, 링크, 페이지 텍스트)을 저장합니다. 전체 페이지 샷을 약 4부분으로 나누어 읽습니다.

앱스토어:

node scripts/store.mjs <id> <brand>/refs/store [country]

이 명령어는 리스팅(공식 포지셔닝), 스토어 스크린샷, 리뷰를 원시 VOC 자료로 저장합니다.

소셜 미디어 (내장 브라우저에서):

  • 선택적 쿠키는 거절합니다.
  • 그리드: 각 게시물의 이미지 src와 alt를 수집하여 캔버스에 그리고, 캔버스로 페이지를 대체한 후 스크린샷을 찍습니다.
  • 캡션: 각 게시물 페이지를 동일 출처 fetch → og:description.
  • 로그아웃 상태에서는 약 12개의 게시물만 볼 수 있습니다. 그렇게 명시하고, 릴스가 중요하다면 사용자에게 로그인하거나 내보내기를 요청합니다.
  • 릴스를 얻었다면 속도, 캡션 스타일, 오디오를 기록합니다.
  • 모든 것을 refs/<platform>/에 작성합니다.

기존 문서: Explore 서브에이전트를 사용하여 대상, 약속, 용어, 보이스 규칙, 주장을 파일 인용과 함께 종합합니다.

3. 코드 토큰 (저장소가 있는 경우)

Explore 서브에이전트를 사용하여 앱이 사용하는 프레임워크의 테마를 찾습니다:

  • Flutter ThemeData 및 색상 상수
  • Tailwind config
  • CSS 변수
  • iOS 애셋 카탈로그
  • Android colors.xml

글꼴, 라디우스, 모션 컨벤션, 셰이더, 로고 파일, 주목할만한 UI 카피도 포함합니다. Hex 값을 반드시 직접 확인합니다. tokens.json에 색상 역할, 타입 스케일(1080×1920 기준), 형태, 모션, 캔버스를 작성합니다.

앱 내 카피: 페르소나 브레인(7단계)을 위해 모든 사용자 대상 문자열을 UI 코드에서 추출합니다(파일:줄 번호 포함, 정확히 그대로):

python3 scripts/app_copy.py <소스 루트> <페르소나>/raw/app-copy/app-copy-<날짜>.md <UI 디렉토리/파일…>

(Flutter: app/lib + pages widgets constants models enums main.dart; 다른 스택은 --ext=.tsx 등). 로그, 키, ID는 필터링합니다. 브레인에 들어가기 전에 출력에서 비밀 정보가 있는지 훑어보세요.

4. 라이브 앱 워크

가장 풍부한 출처: 제품의 실제 시각적·언어적 문법이 드러나는 곳입니다.

  • 동의 먼저: 실행이 프로덕션에 기록하는 내용(계정, 평가 답변, 생성된 보고서, 완료 상태)을 정확히 명시하고 승인을 받으세요. 사용자는 모든 가입 및 로그인을 직접 수행합니다. 절대 자격 증명을 입력하지 말고, 절대 구독하지 말고, 절대 AI 코치에게 메시지를 보내지 마세요.
  • 관찰 및 녹화: 시뮬레이터 패널을 연결합니다(mcp__Claude_Code_iOS_Simulator__control attach).
    • 백그라운드에서 xcrun simctl io <UDID> recordVideo --codec=h264 --force <파일>을 시작합니다.
    • 로그인 중에는 중지하고 이후 다시 시작하여 불필요한 부분이 없도록 합니다.
    • pkill -INT -f recordVideo로 중지합니다.
  • 좌표가 아닌 접근성 레이블로 구동: UDID=… OUT=<브랜드>/refs/app scripts/ui.sh tree|shot|label|tap|swipe|hold.
    • 각 새 화면의 스크린샷을 찍고, 해당 화면의 제목을 파일명으로 사용합니다.
    • 애니메이션과 CMS 카피가 안정화될 때까지 기다린 후 촬영합니다. 아직 렌더링되지 않은 줄은 "캡처되지 않음"으로 표시합니다.
    • 각 단계별 콘택트 시트를 만들고(PIL, 몇 줄), 각 PNG 대신 그 시트를 읽습니다.
  • 앱의 레시피(apps/<app>/README.md)를 따릅니다. 발견한 새로운 특이사항을 추가합니다.
  • 오디오: 시뮬레이터 녹화에는 오디오가 없습니다. 앱에 음성이나 오디오가 있다면 사용자에게 소스 파일을 요청합니다.
  • 이후:
    • 캡처 순서대로 스크린샷 번호를 다시 매깁니다.
    • refs/app-flow-sheet.jpg를 생성합니다.
    • 녹화본을 압축합니다: scale=540:-2,fps=30,crf 26.

5. 팩 작성

template.md를 <브랜드>/README.md에 채웁니다.

  • 본인이 본 것만 인용합니다.
  • 서피스 간 불일치가 있을 경우, 가장 최신의 라이브 서피스를 기본값으로 사용하고 불일치는 '열린 결정'에 기록합니다.
  • §0은 1단계에서 가져옵니다.

6. 검증

새로운 서브에이전트에게 귀하의 결론이 아닌 README와 refs/ 폴더를 전달합니다. 인용된 모든 줄, hex 값, 주장을 파일과 대조하고, 출처가 없는 항목을 나열하도록 요청하세요. 각 항목을 수정하거나 표시한 후 반환합니다.

7. 출력

  • PDF: apps/<app>/pdf.json을 작성합니다(GetAhead 것 복사: 커버, 글꼴, 악센트, 팔레트 그룹(토큰.json 참조), 샘플 줄, 스크린샷 페이지). 그런 후 실행:
    python3 scripts/pack_pdf.py apps/<app>/pdf.json
    
    결과를 pdftoppm -r 40 콘택트 시트로 확인합니다.
  • 문서: 프로젝트에 위키나 문서가 있다면 해당 규칙(페이지, 색인, 로그, 대체되는 페이지에 모순 플래그)에 따라 팩을 제출합니다.
  • 페르소나 브레인: 프로젝트에 페르소나 브레인(예: persona/, 스크립트 생성을 위한 브랜드-인간 브레인)이 있다면 앱 워크의 캡처를 raw/app-run-<날짜>/에, 앱 내 카피를 raw/app-copy/에 복사하고(사용자 동의와 함께: raw/는 그들의 것임), 브레인의 자체 수집 워크플로(CLAUDE.md)를 실행합니다: 소스 페이지, 개념 페이지, 브랜드 앱 라인을 포함한 카드 재구축. 팩은 브랜드의 모습을 기록하고 브레인은 브랜드의 말하는 방식을 기록합니다 — 스크립트는 브레인을 참조합니다.
  • 전송: PDF와 README를 SendUserFile로 전송합니다.
  • 보고서:
    • 프로덕션에 기록된 내용
    • 캡처되지 않은 내용
    • 기반 상태
    • 열린 결정

Individual skills in this repo

This repo contains 6 individual skills — each has its own dedicated page.

app-icon-design

Create, revise, and audit app icons using Apple's Human Interface Guidelines, with a clear visual identity and production-ready deliverables.

app-keyword-research

Validate an app idea against the App Store before building it. Turns the idea into search phrases, measures demand (App Store autocomplete) and competition (current top-10 apps) for each, ranks keywords by opportunity, and maps which apps own the market. Use when the user wants keyword research, ASO, "is there demand for…", "who are the competitors for…", "what should we call it / which keywords", or to validate or compare app ideas.

app-offer

Designs one opinionated "Grand Slam Offer" for any app idea, new or already shipped, by running Alex Hormozi's $100M Offers method adapted to app stores. It covers the market and niche, the commodity check, a value-equation audit, the problem inventory, delivery vehicles, the trimmed value stack, pricing and tiers, scarcity, urgency, bonuses, the guarantee, naming, the paywall per placement, the onboarding fast win, a test plan and a ship plan. It works within App Store and Google Play rules. For a shipped app it reads the code and notes first and produces a before/after. Use it when the user says "/app-offer", "run app-offer on <idea>", "make a grand slam offer for my app", "Hormozi my app", "price my app" or "design my paywall offer", or asks how to package, price, name, guarantee or paywall an app. It writes offer/grand-slam-offer.md (or ./<app-slug>-grand-slam-offer.md for a new idea).

deep-work

Timekeeper and scribe for the user's own timeboxed build session, default 90 min, also 1h / 1.5h / 2h (Orient, Build, Verify, Harden, Close, scaled to the block). Use when the user says "start a session", "deep work", "90 min block", "work block", or invokes /deep-work. Subcommands: status, park <note>, close, abort.

new-app-info

Builds the information pack Apple asks for when App Review replies "We need additional information to better understand the app". It covers all six required items: (1) a screen recording on a physical device, as a shot list the user records; (2) the app's purpose and target audience; (3) setup and main features, with any login credentials or sample files; (4) the external services the app uses; (5) regional differences; (6) regulated industry or protected third-party material. It also runs Apple's "Prevent common issues" checks. Every answer comes from the app's own code (accounts, user-generated content, in-app purchases, SDKs, locales, screen-capture blocking, data deletion). It reads the connected iPhone's iOS version and checks it is the latest. It ends by telling the user to paste the reply into App Review Information → Notes. Use it when the user pastes that App Review message, says "/new-app-info", "we got rejected, they want more info", "answer App Review", or "make the App Store review pack". It w...

reel-motion-graphics

Turn a script or concept into an on-brand 9:16 explainer reel (luxury tech, warm sand on near-black, glassmorphism, CSS 3D, Bodoni + Instrument Sans) built in HyperFrames, with the animation above the fold and the presenter's talking head below. Use when the user gives a script, transcript, paper summary or concept and asks for a reel, motion graphics, an animated explainer or "the same style as the upcycling reel". Produces a HyperFrames project, a rendered MP4 and a live artifact player.

관련 스킬