AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Ios Appstore Release Manager

skill-flaqai-ios-application-development-skills-ios-appstore-release-manager · by flaqai

Prepare, validate, localize, and safely fill App Store Connect release metadata from project Markdown forms. Use when creating a new iOS release form, drafting or translating descriptions, promotional text, localized keywords, and What's New, checking App Store character limits or model names, binding an uploaded build, or filling a release draft in an existing Chrome login session without submit…

No reviews yet
0 installs
25 views
0.0% view→install

Install

$ agentstack add skill-flaqai-ios-application-development-skills-ios-appstore-release-manager

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-flaqai-ios-application-development-skills-ios-appstore-release-manager)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Ios Appstore Release Manager? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

iOS App Store Release Manager

Keep release-specific data in the project's docs/app-store-connect/releases/ directory. Keep this Skill limited to workflow, schema, and tooling.

Read [references/release-form-schema.md](references/release-form-schema.md) before creating, validating, translating, or filling a release. Read [references/aso-handoff-schema.md](references/aso-handoff-schema.md) before importing ASO copy. Read [references/release-version-table.md](references/release-version-table.md) when comparing existing versions or adding a new version row.

Workflow

  1. Locate the repository root and determine whether it is Flutter or native Xcode. Prefer explicit --version plus --build, then Flutter pubspec.yaml, then Xcode build settings. Never guess among multiple workspaces, projects, or schemes; request --workspace, --project, or --scheme.
  2. Choose the translation source locale with the user. Use any App Store Connect locale as the source; default to zh-Hans only when the user has no preference. Run python3 /scripts/release_form.py new --repo --source-locale when a form does not exist. It reads the current version/build, finds the latest previous form, and creates a schema 8 draft.
  3. If $app-store-aso produced an aso-handoff.json, import it only after validation with python3 /scripts/release_form.py import-aso . Import only description, promotional text, keywords, and What's New. Keep App Name and Subtitle as App Information recommendations; never write them automatically.
  4. Review Git changes and model configuration to draft four source-language fields: 描述, 推广文本, 关键词, and 此版本的新增内容.
  5. Show all four drafts in the selected source language to the user. Track their approval independently. Do not translate or fill any public copy until all four are explicitly approved.
  6. Open the App Store Connect language selector and inventory every language shown under both the localized and unlocalized groups. Record their union in locale_inventory and preserve each locale's current inventory state.
  7. Before translating or filling any locale, perform both mandatory preflight confirmations:
  • Inspect the current session's available Skills and tools for computer-use:computer-use. Report whether it is available and record computer_use_availability in the form. Never assume availability from an earlier run.
  • Show the localized and unlocalized locale counts, then explicitly ask whether the user wants to translate and create the currently unlocalized languages. Do not infer the choice from a prior release. Record unlocalized_locale_policy and set localization_scope to either app_store_connect_localized_languages or app_store_connect_all_languages.
  1. Generate all four localized fields only for the confirmed scope, including a translated description in every included locale. Mark excluded unlocalized locales not_requested_by_user with page strategy not_in_scope; do not create, translate, or edit them. Use the active language model's own multilingual capability by default; translation must not depend on an external translation API, browser translation feature, network access, or third-party account. Only use an external translation service when the user explicitly requests that service. Keywords must be localized ASCII-comma-separated search terms, not sentence translations.
  2. Before editing each in-scope field, read its current App Store Connect value and compare normalized text. If the page is empty, write the translation; if it matches, keep it; if it contains different content, pause and ask the user whether to inherit the existing value or replace it with this translation. Never make that conflict choice silently.
  3. Run python3 /scripts/release_form.py validate --repo . Resolve errors before browser automation and report warnings requiring human judgment.
  4. When Computer Use is available, use it with the user's existing Chrome login. If it is unavailable, state that clearly and use an available supported browser-control capability only after recording the fallback. Re-read the page before every edit. For each in-scope locale, inspect description, promotional text, keywords, and What's New before typing. Resolve every differing non-empty value with the user, then apply the recorded per-field strategy, save, and read all four displayed values back.
  5. Select only a build whose Apple processing is complete. Save the draft and verify the binding.
  6. Stop before Add for Review, Submit for Review, or any equivalent submission control. Report completed fields, excluded unlocalized languages, and remaining manual checks.
  7. Add or update the version row in references/release-version-table.md, recording field status and inheritance without copying sensitive information.

Browser Safety

  • Never store or echo review passwords, access tokens, phone numbers, signing material, receipts, or complete account identifiers.
  • Reuse sensitive values already saved in App Store Connect; represent them in Markdown as REUSE_EXISTING_ASC_SAVED_INFORMATION.
  • If the user operates any Chrome window while automation is active, pause. Re-read the current tab, URL, version, locale, and visible form before continuing.
  • Never infer that a save succeeded from a click alone. Read the resulting page state.
  • Never overwrite a non-empty public-copy field that differs from the prepared translation without explicit user confirmation. Show the locale, field, existing text, and prepared translation before asking whether to inherit or replace.
  • Never upload a build, change certificates, edit agreements, answer compliance questions, or submit a version unless separately authorized.

Copy, Keywords, and Description Rules

  • Use the active language model directly for localization. Treat external translation APIs as optional user-requested tools, never as a prerequisite or automatic fallback.
  • Translate each locale directly from the form's approved source_locale. Do not route the text through an external service or an intermediate language merely to automate bulk translation.
  • After model-generated translation, review model names, URLs, feature claims, list structure, and locale-specific wording before validation and browser entry.
  • Use the form's source_locale as the single translation source for description and the three release fields. It may be any language offered by App Store Connect; zh-Hans is only the default.
  • Do not translate through simplified Chinese or another intermediate language when a different source_locale was selected. Preserve meaning directly from the approved source copy.
  • Translate every locale in the user-confirmed localization_scope. Never translate or create an unlocalized locale until the user has explicitly opted in during the current run. The website is authoritative; the reference locale table is only a checked baseline.
  • A locale is complete only after its localization exists, description plus all three release fields are saved, and all four displayed values are read back.
  • Use the Chinese App Store Connect labels in Markdown: 推广文本, 描述, 此版本的新增内容, 关键词, 支持网址, 营销网址, 版权, and 审核备注.
  • Keywords use ASCII commas with no trailing comma, empty term, or case-insensitive duplicate. Keep the complete field at or below 100 UTF-8 bytes, including commas; this is especially important for CJK text.
  • Schema 8 contains project detection metadata and translations for all four fields in every in-scope locale. Excluded unlocalized locales remain recorded for inventory audit with not_requested_by_user and not_in_scope, without generated public copy.
  • Each locale field records one page strategy: pending_page_comparison, use_translation_page_was_empty, matches_translation, replace_after_user_confirmation, inherit_after_user_confirmation, or not_in_scope.
  • Empty page fields become use_translation_page_was_empty; identical fields become matches_translation. A differing non-empty field can become replace_after_user_confirmation or inherit_after_user_confirmation only after the user explicitly chooses.
  • When inherit_after_user_confirmation is selected, keep the prepared translation in the form for auditability but do not overwrite the page field. Read the inherited page value back and record completion.
  • The source locale is not machine-translated back into itself: copy its approved source values into that locale section verbatim, subject to field limits and keyword rules.
  • Schema 1–7 forms remain readable historical records and retain their original source-language, scope, inheritance, description, and project semantics; do not silently migrate or rewrite an already-filled form.
  • Support URL, marketing URL, copyright, screenshots, previews, and review notes inherit unless the user separately requests a change.
  • Preserve product and model spelling from repository configuration. Do not introduce unconfirmed features from older drafts.
  • Placeholders are allowed while form_status: draft, but not when ready-to-fill.

Commands

python3 /scripts/release_form.py new --repo /path/to/flutter-repo
python3 /scripts/release_form.py new --repo /path/to/xcode-repo --project-type xcode --workspace App.xcworkspace --scheme App
python3 /scripts/release_form.py new --repo /path/to/repo --version 2.0.0 --build 200
python3 /scripts/release_form.py import-aso /path/to/aso-handoff.json /path/to/repo/docs/app-store-connect/releases/2.0.0.md
python3 /scripts/release_form.py validate /path/to/repo/docs/app-store-connect/releases/2.0.0.md --repo /path/to/repo
python3 /scripts/release_form.py summary --repo /path/to/repo

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.