analyze
免费Risk analysis and approach selection before planning. Use when requirements are ambiguous, approaches vary, or work touches hub/bridge nodes. Skip for typo fixes.
中文简介正在准备中。当前显示原文说明。
Automate App Store & Google Play screenshot generation for Flutter apps. Scans routing and screens, scores high-value marketing screens, generates self-contained mock harness, runs native simulator captures (iPhone 6.9", iPad 13", Android Phone/Tablet), strips alpha channels, and validates exact store resolutions.
中文简介正在准备中。当前显示原文说明。
安装前可以查看交给 AI 代理的指令内容。
Automated, store-compliant screenshot generator for Flutter apps. Guarantees native pixel accuracy, multi-device responsive fidelity, zero manual cropping, and zero UI distortion.
Announce: "📸 /supergraph:flutter-screenshots — preparing store screenshot pipeline..."
Apple App Store and Google Play Console enforce strict resolution and format rules:
| Target Device | Target Store | Exact Resolution | Ratio | Format & Rules |
|---|---|---|---|---|
| iPhone 6.9" / 6.7" | App Store (Required) | 1320 x 2868 (16 Pro Max) or 1290 x 2796 (15 Pro Max) | ~19.5:9 | 72 dpi, RGB, NO alpha channel, PNG/JPEG |
| iPad Pro 13" / 12.9" | App Store (If iPad enabled) | 2064 x 2752 (M4 13") or 2048 x 2732 (12.9") | 4:3 | 72 dpi, RGB, NO alpha channel, PNG/JPEG |
| Android Phone | Google Play (Required) | 1080 x 2400 (min side 1080px) | 16:9 to 9:20 | Max 8MB, 24-bit RGB PNG or JPEG |
| Android Tablet (10") | Google Play (If Tablet enabled) | 1600 x 2560 or 1200 x 1920 | 16:10 | Max 8MB, RGB PNG or JPEG |
⚠️ CRITICAL APPLE STORE POLICY: Apple App Store Connect automatically rejects any image containing an alpha (transparency) channel with the error:
Screenshots cannot contain alpha channels. This skill strictly strips alpha channels via macOSsipsbefore delivery.
Scan the Flutter project to discover routes, screens, state management, and authentication barriers.
# 1. Detect Router type & declared routes
rg -l "GoRoute|AutoRoute|GetPage|MaterialPageRoute|onGenerateRoute|routes:" lib/
# 2. List all screen/page files in the project
find lib -type f \( -name "*_screen.dart" -o -name "*_page.dart" -o -name "*_view.dart" \) | grep -v "/widgets/" | grep -v "/components/"
Analyze discovered screens and rank the top 4 to 5 highest-value marketing screens:
REJECT / SKIP (Low marketing value or gated):
LoginScreen, RegisterScreen, OtpVerifyScreen, ForgotPasswordScreenSplashScreen, TermsScreen, PrivacyPolicyScreen, WebviewScreen, ErrorScreenChangePasswordScreen, EditProfileScreen, NotificationSettingsSCORE HIGH (Store conversion drivers):
AudioPlayerScreen, MapTrackingScreen, EditorScreen, BookingScreen, CheckoutScreen).ExploreScreen, ProductListScreen, FeedView).ReportScreen, StatsView, UserProfileScreen).# Check how DI, services, and state are wired
rg "GetIt|Provider|BlocProvider|Riverpod|GetX|HydratedBloc|Supabase|Firebase" lib/ pubspec.yaml | head -20
Do not run raw main() directly if it requires live backend auth, network tokens, or Firebase initialization.
Generate a self-contained test runner at integration_test/store_screenshots_test.dart:
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:integration_test/integration_test.dart';
void main() {
final binding = IntegrationTestWidgetsFlutterBinding.ensureInitialized();
group('Store Marketing Screenshots', () {
testWidgets('Capture Top 4 Screens', (WidgetTester tester) async {
// 1. Setup mock bindings / providers if needed
// 2. Screen 1: Dashboard / Home
// Mount widget with mock data
await tester.pumpWidget(const MaterialApp(home: MockDashboardScreen()));
await tester.pumpAndSettle();
await binding.takeScreenshot('01_dashboard');
// 3. Screen 2: Primary Feature
await tester.pumpWidget(const MaterialApp(home: MockPrimaryFeatureScreen()));
await tester.pumpAndSettle();
await binding.takeScreenshot('02_feature_primary');
// 4. Screen 3: Explore / Catalog
await tester.pumpWidget(const MaterialApp(home: MockCatalogScreen()));
await tester.pumpAndSettle();
await binding.takeScreenshot('03_catalog');
// 5. Screen 4: Analytics / Detail
await tester.pumpWidget(const MaterialApp(home: MockAnalyticsScreen()));
await tester.pumpAndSettle();
await binding.takeScreenshot('04_analytics');
});
});
}
Run simulators sequentially. Never boot iPhone and iPad at the same time (saves 6-8GB RAM and prevents system thermal throttling).
# Locate available Store-compliant simulators
IPHONE_UDID=$(xcrun simctl list devices available | grep -E "iPhone 16 Pro Max|iPhone 15 Pro Max|iPhone 14 Pro Max" | head -1 | grep -oE '[0-9A-F-]{36}')
IPAD_UDID=$(xcrun simctl list devices available | grep -E "iPad Pro 13-inch|iPad Pro \(12.9-inch\)" | head -1 | grep -oE '[0-9A-F-]{36}')
# 1. iPhone 6.9" capture
if [ -n "$IPHONE_UDID" ]; then
xcrun simctl boot "$IPHONE_UDID" || true
flutter test integration_test/store_screenshots_test.dart -d "$IPHONE_UDID"
xcrun simctl shutdown "$IPHONE_UDID"
fi
# 2. iPad Pro 13" capture (Multi-column responsive layout)
if [ -n "$IPAD_UDID" ]; then
xcrun simctl boot "$IPAD_UDID" || true
flutter test integration_test/store_screenshots_test.dart -d "$IPAD_UDID"
xcrun simctl shutdown "$IPAD_UDID"
fi
If integration tests cannot easily mock complex native hardware (e.g. Camera, Bluetooth, HealthKit): Use the interactive capture tool:
# Run app in standard development mode on booted device
flutter run
# In a separate terminal, launch the interactive capture tool:
bash <(curl -s ...) or plugins/supergraph/skills/flutter-screenshots/scripts/capture-store-shots.sh interactive
Navigate to each screen on the simulator and press [ENTER] in terminal to capture directly into screenshots/ios_iphone_6.9/ or screenshots/ios_ipad_13/.
Verify all outputs meet strict store requirements:
# 1. Strip Alpha Channel from all images (Apple Requirement)
for file in screenshots/**/*.png; do
[ -f "$file" ] || continue
sips -s format png -s formatOptions default "$file" --out "$file"
done
# 2. Validate pixel dimensions
echo "=== Verifying iPhone 6.9\" (Expected 1320x2868 or 1290x2796) ==="
sips -g pixelWidth -g pixelHeight screenshots/ios_iphone_6.9/*.png
echo "=== Verifying iPad 13\" (Expected 2064x2752 or 2048x2732) ==="
sips -g pixelWidth -g pixelHeight screenshots/ios_ipad_13/*.png
Report the final results to the user:
## 📸 Flutter Store Screenshots Complete
- Target Devices:
- iPhone 16 Pro Max (6.9" — 1320 x 2868 px)
- iPad Pro 13-inch (M4 — 2064 x 2752 px)
- Selected Screens:
1. 01_dashboard.png — Dashboard / Hero overview
2. 02_feature_primary.png — Main functional value
3. 03_catalog.png — Product catalog & search
4. 04_analytics.png — Data insights & profile
- Format Checks:
- Alpha channel: STRIPPED (No transparency)
- Color profile: RGB 24-bit
- Aspect ratio: Native responsive (No scaling distortion)
- Output Location: ./screenshots/
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Risk analysis and approach selection before planning. Use when requirements are ambiguous, approaches vary, or work touches hub/bridge nodes. Skip for typo fixes.
中文简介正在准备中。当前显示原文说明。
Proactive architecture review — explore codebase structure, generate a self-contained HTML report with Mermaid diagrams and candidate improvements, then grill the findings. Use when planning a large refactor, onboarding to an unfamiliar codebase, or before a major architectural change.
中文简介正在准备中。当前显示原文说明。
Autonomous human-like browser control and professional QA/QC testing. Powered by agent-browser (Rust native CDP, zero Playwright) with ISTQB test matrix generation, automated testcase execution, console/network error tracing, and defect reporting.
中文简介正在准备中。当前显示原文说明。
Persistent token-compression mode (~75% reduction) — now always-on by default. Strips filler while keeping code exact.
中文简介正在准备中。当前显示原文说明。
Database migration best practices for schema changes, data migrations, rollbacks, and zero-downtime deployments across PostgreSQL, MySQL, and common ORMs (Prisma, Drizzle, Kysely, Django, TypeORM, golang-migrate).
中文简介正在准备中。当前显示原文说明。
Anti-slop frontend skill for landing pages, portfolios, and redesigns. The agent reads the brief, infers the right design direction, and ships interfaces that do not look templated. Real design systems when applicable, audit-first on redesigns, strict pre-flight check.
中文简介正在准备中。当前显示原文说明。