{"id":66666,"plugin_id":"plugin_asdk_app_6a7ba484063481919e57818427551c55","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-28T12:30:52.605Z","digest":"f2215bcf12e5965a6d6720fec04e5436f622b07cf93be2a4929f3234ad5cbf68","against":null,"payload":{"description":"Create, edit, localize, preview and export AppLaunchFlow App Store or Google Play screenshot designs, including device frames, rich text, illustrations and independent phone formats.","included_files":[{"relative_path":"references/edit-recipes.md","size_in_bytes":4908},{"relative_path":"references/layout-decisions.md","size_in_bytes":2906},{"relative_path":"references/tool-catalog.md","size_in_bytes":41908}],"name":"applaunchflow-screenshots","skill_md_contents":"---\nname: applaunchflow-screenshots\ndescription: Create, edit, localize, preview and export AppLaunchFlow App Store or Google Play screenshot designs, including device frames, rich text, illustrations and independent phone formats.\n---\n\nCheck that the workflow's named tools are exposed by this host. If one is absent, use the matching AppLaunchFlow editor link and explain the specific step that needs the dashboard; don't claim the step completed.\n\n# Build a coherent screenshot story\n\nFor a new set, resolve the project and inspect `list_source_screenshots`. Reuse the user's existing uploads; don't request another upload merely because this chat has none. Select images in story order: the main benefit first, then distinct supporting features. Preserve requested copy and avoid inventing app capabilities.\n\nCall `prepare_screenshot_styles` with 3–7 selected project-relative paths and the supported creative inputs. It returns the personalized picker or its URL. Stop and let the user choose; don't turn browsing into a saved variant or ask them to relay an ID. Picker confirmation creates the variant itself: resolve that result instead of applying it twice. Use `browse_templates` to revisit/inspect a prepared catalog; use `apply_screenshot_style` only when the user/API supplies an explicit catalog/template/palette choice rather than confirming through the widget. Device families require appropriate source uploads; a phone source is not a tablet capture.\n\n# Edit an existing design\n\nRead `get_editing_reference(feature: \"screenshots\")`; fetch only symbols needed for the edit. Read `get_layout` for the exact variant and **explicit language** to obtain its receipt. Its response includes mobile/tablet/desktop layouts; it does not take a device selector.\n\nPrefer `transform_layout` for targeted text, position, image, theme or node changes. Pass the same target and opaque receipt from the fresh read. Read again before a subsequent edit. Use `save_layout` for changes outside the operation vocabulary; preserve the complete untouched mobile and tablet layouts it requires, plus desktop where present. Don't reconstruct a whole design for a small change.\n\nUser screen numbers are usually one-based; tool screen indexes are zero-based. Inspect the screen/node ID before targeting. A target without a node ID or screen filter can affect every matching element.\n\nRead [layout decisions](references/layout-decisions.md) for coordinates, styling, media, 3D, screen additions and per-size edits.\n\n# Localize without losing authored work\n\n- `translate_layouts` creates translations from the source design. Check `list_translations` first when existing translations may contain edits. Re-running replaces their design from the source, retains localized images and reuses unchanged translated text; it can remove manual per-language design adjustments.\n- `sync_layout` copies design to non-source translations while keeping their text/images. It affects all non-source translations; use only when that matches the request.\n- `apply_locale_screenshots` assigns locale images to frames. Use explicit paths or locale folders; folder names alone do not define locale. Request `preview:true` to inspect document-order assignments, particularly screens with two devices. If the host's input schema advertises frameAssignments, copy each preview's variantId, language and layoutHash into frameAssignments and its frameAssignments map into frames. Keep the same source/device/platform/language scope. Set a frame to null to keep its current image. Customize paths only from the selected locale's sources. On a stale-layout conflict, preview again; never drop the hash to force a write. Older hosts without this input cannot apply exact guarded bulk mappings: use fresh scoped `transform_layout` frame edits instead, or the dashboard.\n- Render the changed languages/sizes. Check longer copy and script-specific fonts rather than assuming translation preserves fit.\n\n# Inspect and deliver\n\nCall `preview_screenshots` for the changed screens and the actual device/platform/display size. Start with those screens, normally at 1024px long edge; use up to 1600 for small typography. It returns image content from the renderer, without an export package. Inspect legibility, cropping, frame fill, background continuity and overlap. Report an unavailable preview honestly; don't claim inspection from layout JSON.\n\nFor requested store files, discover `list_export_formats`, call `render_screenshots` with explicit formats/languages and a stable idempotency key, then poll `get_release_render`. Use its succeeded manifest and exact download URL. Check API export eligibility with `get_plan_usage`; editor credits and API export access differ. A 403/402 is not a reason to regenerate.\n\nAfter an uncertain export response, keep the same key. Failed/indeterminate jobs need diagnosis before a new export. Do not call the package export just to inspect an edit.\n\nSee [edit recipes](references/edit-recipes.md) for common requests and [the complete tool catalog](references/tool-catalog.md) for supported inputs.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}