xiaohongshu
xiaohongshu
appstore-connect
App Store Connect 자동화 스킬. JWT API/Playwright 하이브리드 방식으로 앱 정보, 빌드, TestFlight 배포, 스크린샷 업로드, 앱 제출 지원. "ASC", "TestFlight", "앱스토어" 키워드로 활성화.
Full skill instructions
App Store Connect API와 Playwright 브라우저 자동화를 결합한 하이브리드 스킬입니다. API로 가능한 작업은 API를 사용하고, API 미지원 기능은 브라우저 자동화로 처리합니다.
명시적 요청:
자동 활성화 키워드:
이 스킬은 jelly-dotenv에서 관리하는 환경변수를 사용합니다.
# App Store Connect API (JWT 인증)
APPSTORE_ISSUER_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
APPSTORE_KEY_ID=XXXXXXXXXX
APPSTORE_PRIVATE_KEY_PATH=/path/to/AuthKey_XXXXXXXXXX.p8
# Apple ID (브라우저 세션 인증 - API 미지원 기능용)
[email protected]
# TestFlight 자동화
TESTFLIGHT_DEFAULT_GROUP_ID=your_default_group_id
AUTO_TESTFLIGHT_DISTRIBUTE=false
cd skills/jelly-appstore-connect
npm install
npx playwright install chromium
# jelly-dotenv/.env 또는 프로젝트 루트 .env에 추가
APPSTORE_ISSUER_ID=your-issuer-id
APPSTORE_KEY_ID=your-key-id
APPSTORE_PRIVATE_KEY_PATH=/path/to/AuthKey.p8
cd skills/jelly-appstore-connect
npm run asc -- <command> [options]
# JWT API 연결 테스트
npm run asc -- auth test-api
# 브라우저 로그인 (2FA 포함, 최초 1회)
npm run asc -- auth login --headed
# 세션 상태 확인
npm run asc -- auth status
# 로그아웃 (세션 삭제)
npm run asc -- auth logout
# 앱 목록 조회
npm run asc -- apps list
# 앱 상세 정보
npm run asc -- apps info <app-id>
# 앱 버전 목록
npm run asc -- apps versions <app-id>
# 빌드 목록
npm run asc -- builds list <app-id>
# 빌드 상세 정보
npm run asc -- builds info <build-id>
# 빌드 처리 완료 대기
npm run asc -- builds wait <build-id> --timeout 600
# 빌드 만료
npm run asc -- builds expire <build-id>
# 테스터 목록
npm run asc -- testflight testers list <app-id>
# 테스터 초대
npm run asc -- testflight testers invite <app-id> [email protected]
# 베타 그룹 목록
npm run asc -- testflight groups list <app-id>
# 빌드 배포 (그룹에)
npm run asc -- testflight distribute <build-id> --group <group-id>
# 외부 테스터 베타 리뷰 제출
npm run asc -- testflight submit <build-id>
# 스크린샷 목록
npm run asc -- screenshots list <app-id> <version-id>
# 스크린샷 업로드 (단일)
npm run asc -- screenshots upload <app-id> <version-id> \
--locale ko-KR \
--display iphone_6_7 \
--file /path/to/screenshot.png
# 스크린샷 일괄 업로드
npm run asc -- screenshots upload-batch <app-id> <version-id> \
--dir /path/to/screenshots/ \
--locale ko-KR
# 스크린샷 삭제
npm run asc -- screenshots delete <screenshot-id>
# 메타데이터 조회
npm run asc -- metadata get <app-id> --locale ko-KR
# 메타데이터 업데이트
npm run asc -- metadata update <app-id> \
--locale ko-KR \
--description "앱 설명" \
--keywords "키워드1,키워드2"
# 파일에서 메타데이터 업데이트
npm run asc -- metadata update-from-file <app-id> ./metadata.json
# 제출 생성
npm run asc -- submit create <version-id>
# 제출 상태 확인
npm run asc -- submit status <submission-id>
# 전체 릴리스 워크플로우
npm run asc -- submit full-release <app-id> \
--version 1.2.0 \
--build <build-id> \
--metadata ./metadata.json \
--screenshots ./screenshots/
--json # JSON 형식 출력
--quiet # 최소 출력
--verbose # 상세 출력
--dry-run # 시뮬레이션 (실제 변경 없음)
--timeout <ms> # 작업 타임아웃
대부분의 작업에 사용됩니다. 2FA가 필요 없습니다.
지원 작업:
API가 지원하지 않는 기능에 사용됩니다.
지원 작업:
npm run asc -- auth login --headed 실행jelly-ios-skill에서 Fastlane 배포 후 빌드 상태를 자동으로 확인할 수 있습니다.
# iOS 빌드 후 App Store Connect에서 빌드 상태 확인
npm run asc -- builds wait <build-number> --timeout 600
# 빌드 처리 완료 후 자동 TestFlight 배포
npm run asc -- testflight distribute <build-id> --group <group-id>
jelly-ios-skill과 동일한 APPLE_ID 환경변수를 사용합니다.
AuthenticationError (401)
ForbiddenError (403)
RateLimitError (429)
SessionExpiredError
npm run asc -- auth login --headed로 재로그인# 상세 로그 출력
npm run asc -- apps list --verbose
# API 응답 확인
npm run asc -- apps info <app-id> --json
skills/jelly-appstore-connect/
├── SKILL.md # 이 문서
├── package.json
├── tsconfig.json
├── bin/
│ └── asc.ts # CLI 엔트리포인트
├── src/
│ ├── index.ts # 메인 export
│ ├── types.ts # 타입 정의
│ ├── auth/ # 인증 모듈
│ │ ├── jwt-auth.ts # JWT 토큰 관리
│ │ ├── browser-auth.ts # 브라우저 세션 관리
│ │ └── session-store.ts # 세션 저장/복원
│ ├── api/ # REST API 클라이언트
│ │ ├── client.ts # 기본 클라이언트
│ │ ├── apps.ts # 앱 API
│ │ ├── builds.ts # 빌드 API
│ │ ├── testflight.ts # TestFlight API
│ │ └── metadata.ts # 메타데이터 API
│ ├── browser/ # 브라우저 자동화
│ │ ├── manager.ts # BrowserManager
│ │ ├── login-flow.ts # 로그인 플로우
│ │ └── screenshots-upload.ts
│ ├── cli/ # CLI
│ │ ├── index.ts # CLI 라우터
│ │ └── commands/ # 명령어들
│ └── utils/ # 유틸리티
│ ├── errors.ts
│ └── config.ts
├── scripts/ # 독립 실행 스크립트
│ └── full-release.ts
├── data/ # 세션 데이터 (gitignored)
└── references/ # 참고 문서
# API 키 설정 확인
npm run asc -- auth test-api
앱 정보 조회:
apps list → 앱 목록 확인apps info <app-id> → 상세 정보빌드 관리:
builds list <app-id> → 빌드 목록builds wait <build-id> → 처리 완료 대기testflight distribute <build-id> → TestFlight 배포앱 제출:
metadata update → 메타데이터 준비screenshots upload-batch → 스크린샷 업로드submit full-release → 전체 릴리스 실행사용자: "App Store Connect에서 내 앱 목록 보여줘"
Claude:
npm run asc -- apps list
→ 앱 목록:
| 앱 이름 | Bundle ID | 상태 |
|---------|-----------|------|
| MyApp | com.example.myapp | Ready for Sale |
사용자: "최신 빌드를 TestFlight에 배포해줘"
Claude:
1. npm run asc -- builds list <app-id> # 최신 빌드 확인
2. npm run asc -- testflight groups list <app-id> # 그룹 확인
3. npm run asc -- testflight distribute <build-id> --group <group-id>
→ 빌드 1.2.3 (build 45)가 "Internal Testers" 그룹에 배포되었습니다.
사용자: "앱 1.3.0 버전을 앱스토어에 제출해줘"
Claude:
npm run asc -- submit full-release <app-id> \
--version 1.3.0 \
--build <build-id> \
--metadata ./metadata.json \
--screenshots ./screenshots/
→ 앱 제출 완료. 현재 상태: Waiting for Review
DO:
--dry-run 옵션으로 먼저 시뮬레이션DON'T:
Last Updated: 2025-12 (App Store Connect API 3.4)
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience