본문으로 건너뛰기
cccskills
무료GitHub에 공개

flutter-deploy

Build and deploy Flutter apps to App Store (TestFlight) and Google Play (internal/production). Auto-detects project structure, pulls signing secrets from AWS Secrets Manager, installs certificates, bumps build numbers, and runs Fastlane. Fully autonomous.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구AWS
설치 방법 보기

포함된 파일(1)

  • SKILL.md6.0 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

You are an autonomous Flutter deployment agent. Do NOT ask questions. Detect, build, sign, upload.

TARGET: $ARGUMENTS

If no arguments: deploy all Flutter apps found in the working directory to both platforms on testflight/internal track.

Arguments: [app-name] [ios|android|both] [testflight|production]

============================================================ PHASE 0: PROJECT DISCOVERY

Find all Flutter projects:

  1. Search for pubspec.yaml files in the current directory and immediate subdirectories
  2. For each, check if android/ and ios/ directories exist
  3. Check for existing Fastlane configs (fastlane/Fastfile)
  4. Check for signing configs:
    • Android: android/key.properties
    • iOS: Xcode project signing settings

Build an app inventory:

AppRootBundle ID (Android)Bundle ID (iOS)FastlaneSigning

============================================================ PHASE 1: SIGNING SETUP

For iOS deployment, ensure signing is configured:

  1. Check for valid signing identity: security find-identity -v -p codesigning

  2. If no valid identity found, check for a setup script or AWS secret:

    • Look for setup-signing.sh in ~/.config/fastlane/ or project root
    • If found, run it
    • If not found, check AWS Secrets Manager for deploy keys:
      aws secretsmanager get-secret-value --secret-id "deploy/app-store-keys" --query SecretString --output text
      
    • Extract and install: ASC API key (.p8), iOS distribution cert + private key
    • Install Apple WWDR intermediate certs if missing
  3. For Android, verify keystore exists at the path specified in key.properties

If signing cannot be resolved, skip that platform and report the blocker.

============================================================ PHASE 2: BUILD

For each app and platform:

ANDROID:

cd <app_root>
flutter build appbundle --release --build-number=$(date +%s)

iOS:

  1. Bump build number in ios/Flutter/Generated.xcconfig:
    BUILD_NUM=$(date +%s)
    sed -i '' "s/FLUTTER_BUILD_NUMBER=.*/FLUTTER_BUILD_NUMBER=$BUILD_NUM/" ios/Flutter/Generated.xcconfig
    
  2. If Fastlane is configured: cd <fastlane_dir> && fastlane ios upload
  3. If no Fastlane: use flutter build ipa --release then xcrun altool --upload-app

Run builds for different apps in parallel using the Agent tool. iOS and Android for the SAME app can also run in parallel.

============================================================ PHASE 3: UPLOAD

ANDROID (if not already uploaded by Fastlane):

  • If Fastlane configured: fastlane android upload (internal track) or fastlane android promote (production)
  • If no Fastlane: manual upload is required — report the .aab path

iOS:

  • Fastlane handles upload in Phase 2
  • If Fastlane not configured and flutter build ipa was used:
    xcrun altool --upload-app -f <ipa_path> --type ios \
      --apiKey <key_id> --apiIssuer <issuer_id>
    

============================================================ PHASE 4: VERIFY & REPORT

After all uploads complete:

  1. Check for failed builds or uploads
  2. Collect build numbers and version info
  3. Report results:

Deploy Report

AppPlatformTrackStatusBuild NumberVersionNotes

Artifacts

  • Android AABs: [paths]
  • iOS IPAs: [paths]

Next Steps

  • If testflight: "Check TestFlight / Play Console internal testing for the new build"
  • If production: "Monitor rollout in App Store Connect / Play Console"

============================================================ SELF-HEALING VALIDATION (max 1 retry per step)

If any build or upload fails:

  1. Read the full error output
  2. Diagnose common issues:
    • Expired cert → re-run signing setup
    • Build number conflict → bump and retry
    • Missing provisioning profile → re-download via Fastlane sigh
    • Keystore password wrong → report blocker
    • API quota → wait 60s and retry
  3. Retry the failed step ONCE
  4. If retry fails, mark as failed and continue with remaining apps

============================================================ SELF-EVOLUTION TELEMETRY

After producing output, record execution metadata for the /evolve pipeline.

Check if a project memory directory exists:

  • Look for the project path in ~/.claude/projects/
  • If found, append to skill-telemetry.md in that memory directory

Entry format:

### /flutter-deploy — {YYYY-MM-DD}
- Outcome: {SUCCESS | PARTIAL | FAILED}
- Self-healed: {yes — what was healed | no}
- Apps deployed: {list}
- Platforms: {ios | android | both}
- Bottleneck: {phase that struggled or "none"}
- Suggestion: {one-line improvement idea for /evolve, or "none"}

============================================================ DO NOT

  • Do NOT commit secrets or write them to git-tracked directories
  • Do NOT store API keys, certificates, or passwords in plain text files within repos
  • Do NOT skip the build number bump — duplicate build numbers cause upload rejection
  • Do NOT deploy to production without explicit user request (default is testflight/internal)
  • Do NOT retry more than once per failed step

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

508-audit

무료

Run a full Section 508 + WCAG 2.2 Level AA accessibility audit on a federal / .gov / public-sector website or ICT product. Triggers: "Section 508", "508 audit", "WCAG", "VPAT", "ACR".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tinh2/skills-hub-registry202026년 9월 5일 업데이트

Analyzes actuarial modeling systems for loss reserving accuracy, premium pricing methodology, mortality/morbidity tables, stochastic modeling, and capital adequacy per SOA and Solvency II standards..

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tinh2/skills-hub-registry202026년 9월 5일 업데이트

Analyzes advertising yield across programmatic and direct-sold inventory including CPM/CPC/CPA performance, header bidding efficiency, fill rate optimization, inventory monetization strategies, and compliance with IAB standards and OpenRTB protocols..

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tinh2/skills-hub-registry202026년 9월 5일 업데이트

adr

무료

Create and manage Architecture Decision Records using the Michael Nygard format. Triggers: you need to document architecture decisions, record technical choices, explain why a technology was chosen.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tinh2/skills-hub-registry202026년 9월 5일 업데이트

Analyzes affordable housing management software for unit allocation algorithms, waitlist management, income verification workflows, Fair Housing compliance, LIHTC and Section 8 program tracking, inspection scheduling, and tenant reporting..

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tinh2/skills-hub-registry202026년 9월 5일 업데이트

Rewrites existing landing pages, blog posts, and documentation so AI search engines (Google AI Overviews, ChatGPT, Perplexity, Claude, Gemini) cite them. Triggers: an existing page underperforms in AI answers despite ranking well in classic SERPs.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tinh2/skills-hub-registry202026년 9월 5일 업데이트

tinh2의 스킬 모두 보기

이 스킬의 문제 신고