Agent skill

Iap Finalizer

by rshankras in rshankras/claude-code-apple-skills

Take a one-time in-app purchase from MISSINGMETADATA to READYTOSUBMIT in App Store Connect — set its price schedule and localized display name/description (and optional review screenshot) via the…

MITAuto-check: notesMobile

Install Iap Finalizer

skills CLI
$ npx skills add rshankras/claude-code-apple-skills --skill iap-finalizer -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install rshankras/claude-code-apple-skills iap-finalizer --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/rshankras/claude-code-apple-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/app-store/iap-finalizer .claude/skills/iap-finalizer && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
iap-finalizer
GitHub stars
785
Token cost
~1.2k tokens
SKILL.md length
457 words
Files
1
Skills in repo
41
Repo updated
First seen
Licence
MIT

At a glance

Take a one-time in-app purchase from MISSINGMETADATA to READYTOSUBMIT in App Store Connect — set its price schedule and localized display name/description (and optional review screenshot) via the…

  • Works in 6 steps: Confirm state. MCP get_iap → current… → Find the price point. → Set the price (one-time IAPs use price… → …
  • Tasks that involve App store release
  • SKILL.md covers Where it fits (read the seams), Prerequisites, Flow — dry-run → confirm → apply and Done, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Iap Finalizer is an agent skill from rshankras/claude-code-apple-skills. Take a one-time in-app purchase from MISSINGMETADATA to READYTOSUBMIT in App Store Connect — set its price schedule and localized display name/description (and optional review screenshot) via the ASC REST API. Use at Phase 6 (Pre-Release), after the IAP is built in-app (Phase 4) and its ASC record exists. NOT for subscriptions, and NOT the same as promoted-iap (which displays IAPs in-app).

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile, covering App store release and REST APIs. It works with App Store Connect and Model Context Protocol. The repository describes itself as: Claude Code skills for Apple platform development (iOS, macOS, iPadOS) — product validation, code generation, App Store optimization, and more. The licence is MIT.

When your agent uses it

  • Tasks that involve App store release
  • Tasks that involve REST APIs

Example prompts

  • “/iap-finalizer”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Read, Bash, mcp__asc-metadata__list_iap, mcp__asc-metadata__get_iap, AskUserQuestion

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Confirm state. MCP get_iap → current state + productId. Read the target price + Display Name (≤30) + Description (≤45) from .planning/…
  2. Find the price point.
  3. Set the price (one-time IAPs use price schedules)
  4. Set the localization
  5. Review screenshot (optional): POST /v1/inAppPurchaseAppStoreReviewScreenshots — the 3-step ASC upload (reserve → upload bytes → commit).
  6. Verify: MCP get_iap → state no longer MISSING_METADATA.

What it can do on your machine

Read from SKILL.md and the folder at commit 9ffb831. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Bash
    • mcp__asc-metadata__list_iap
    • mcp__asc-metadata__get_iap
    • AskUserQuestion

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • developer.apple.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Iap Finalizer loads about 1.2k tokens when it runs. Until then it costs about 102 tokens; SKILL.md has 457 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~102
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Bash, mcp__asc-metadata__list_iap, mcp__asc-metadata__get_iap, AskUserQuestion

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from rshankras/claude-code-apple-skills at commit 9ffb831, republished under its MIT licence (© rshankras). 457 words, ~1,189 tokens.

Download SKILL.mdSave it as .claude/skills/iap-finalizer/SKILL.md (or your agent's skills folder).
name
iap-finalizer
description
Take a one-time in-app purchase from MISSING_METADATA to READY_TO_SUBMIT in App Store Connect — set its price schedule and localized display name/description (and optional review screenshot) via the ASC REST API. Use at Phase 6 (Pre-Release), after the IAP is built in-app (Phase 4) and its ASC record exists. NOT for subscriptions, and NOT the same as promoted-iap (which displays IAPs in-app).
allowed-tools
Read, Bash, mcp__asc-metadata__list_iap, mcp__asc-metadata__get_iap, AskUserQuestion
last_verified
2026-07-16
review_by
2027-06-22

IAP Finalizer

Finish a one-time in-app purchase on the store side: price + localization, the two fields the asc-metadata MCP can't set (it exposes only reference name / review note / family-sharing). Moves an IAP from MISSING_METADATA → READY_TO_SUBMIT so it can ship with the build.

This finalizes; it does not define. The product id, tier, and price decision come from Phase 4 (Monetization / StoreKit). The ASC IAP record must already exist (created via the MCP create_iap or the ASC UI). This skill sets the metadata on that existing record.

Where it fits (read the seams)

  • Not Phase 4. Phase 4 builds the IAP into the app (StoreKit 2, paywall) and decides the price. This is Phase 6 store-metadata finalization.
  • Price = one source of truth. Do not re-ask the price. Read it from the monetization decision in .planning/ (e.g. MONETIZATION.md / PLAN.md); only confirm it. Re-eliciting risks drift from the paywall/StoreKit price.
  • Not promoted-iap. That generator displays promoted IAPs in-app; this sets ASC price/localization. Different jobs.
  • One-time IAPs only. Subscriptions are a separate ASC flow (groups/offers) — out of scope here.

Prerequisites

  • _shared/asc-api/ set up (see its README — key + ~/.appstoreconnect/).
  • Set ASC="python3 <path to asc.py>". asc.py lives at _shared/asc-api/asc.py under the same skills/ root as this skill — resolve it relative to this SKILL.md file's location (../../_shared/asc-api/asc.py from this skill's directory), never relative to the project cwd (skills run with cwd = the user's project). Known install locations:
    • SwiftShip symlink install: ~/.claude/swiftship-skills/_shared/asc-api/asc.py
    • Copied install: .claude/skills/_shared/asc-api/asc.py (project) or ~/.claude/skills/_shared/asc-api/asc.py (global)
    • Plugin install: resolve from this file's location — the _shared/ tree ships with the plugin.
  • The IAP already exists in ASC. Get its id with the MCP: list_iap → pick the product.
  • Price decided in Phase 4. Read it from .planning/ and confirm — don't invent it.
Show full SKILL.md (196 more words)Show less

Flow — dry-run → confirm → apply

  1. Confirm state. MCP get_iap → current state + productId. Read the target price + Display Name (≤30) + Description (≤45) from .planning/; confirm with the user via AskUserQuestion if anything is missing.
  2. Find the price point.
    $ASC GET "/v1/inAppPurchases/<IAP_ID>/pricePoints?filter[territory]=USA"
    Pick the inAppPurchasePricePoint id whose customerPrice matches the target tier (e.g. 6.99).
  3. Set the price (one-time IAPs use price schedules):
    $ASC POST /v1/inAppPurchasePriceSchedules @price.json          # dry-run: review the body
    $ASC POST /v1/inAppPurchasePriceSchedules @price.json --apply  # after you confirm
    Body: data relationships inAppPurchase→{IAP_ID}, baseTerritory→USA, manualPrices→[new inAppPurchasePrices]; included a new inAppPurchasePrices referencing the price point with startDate: null (="now").
  4. Set the localization:
    $ASC POST /v1/inAppPurchaseLocalizations '{"data":{"type":"inAppPurchaseLocalizations","attributes":{"locale":"en-US","name":"<=30","description":"<=45"},"relationships":{"inAppPurchase":{"data":{"type":"inAppPurchases","id":"<IAP_ID>"}}}}}' --apply
    PATCH the existing localization id instead if one already exists.
  5. Review screenshot (optional): POST /v1/inAppPurchaseAppStoreReviewScreenshots — the 3-step ASC upload (reserve → upload bytes → commit).
  6. Verify: MCP get_iap → state no longer MISSING_METADATA.

Done

  • IAP priced + localized in ASC; state advanced; ready to submit with the build.

Caveats

  • Verify each endpoint/field against the current ASC API reference before --apply (captured 2026-07).
  • Every write is dry-run first — show the body, confirm, then --apply. Never --apply a price the user hasn't seen.
  • One-time IAPs only. Subscriptions → the MCP create_subscription* tools + a separate flow.

© rshankras, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/app-store/iap-finalizer of rshankras/claude-code-apple-skills.

Open the folder on GitHubat commit 9ffb831

Compare with similar skills

Iap Finalizer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Iap Finalizer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Iap Finalizer this skillrshankras/claude-code-apple-skills785—~1.2kAutomated safety check: NotesMIT
Develop Asc Changerorkai/App-Store-Connect-CLI7.7k—~832Automated safety check: PassMIT
Asc Revenuecat Catalog Syncrorkai/app-store-connect-cli-skills1.1k3 repos~3.8kAutomated safety check: PassMIT
Releasemovieclaw/MovieClaw151—~2.6kAutomated safety check: PassCustom licence
Apple Mobiletellahq/opensession392—~781Automated safety check: PassMIT
Store Submitzhitongblog/solomd1.2k—~1.7kAutomated safety check: NotesMIT

Similar skills

  • Develop Asc Change

    rorkai/App-Store-Connect-CLI

    Design, implement, and verify behavior changes in App-Store-Connect-CLI.

    7.7k GitHub stars~832 tokensUpdated yesterday
    MobileAuto-check passed
  • Asc Revenuecat Catalog Sync

    rorkai/app-store-connect-cli-skills

    Reconcile App Store Connect subscriptions and in-app purchases with RevenueCat products, entitlements, offerings, and packages using asc and RevenueCat MCP.

    1.1k GitHub starsUsed in 3 repos~3.8k tokens
    MobileAuto-check passed
  • Release

    movieclaw/MovieClaw

    发布 movieclaw 新版本。当用户要求发版、发布新版本、打 tag、发布 NER 模型、发布 Docker 镜像,或打包上传 iOS App 到 TestFlight / App Store、补传发版附件(IPA、Mac 转码器、Mac 版 App)时使用。涵盖版本号三处同步、应用/模型/镜像/iOS 的完整流程、可选附件失败补救与检查清单。

    151 GitHub stars~2.6k tokensUpdated today
    MobileAuto-check passed
  • Apple Mobile

    tellahq/opensession

    Build SwiftPM/xtool iOS apps and prepare explicitly approved ad-hoc or TestFlight releases through the apple-build and apple-release MCP servers.

    392 GitHub stars~781 tokensUpdated today
    MobileAuto-check passed
  • Store Submit

    zhitongblog/solomd

    Publish a SoloMD release to the stores that have no usable submission API — Google Play Console and Microsoft Partner Center — by driving them through the local Unzoo Browser REST API.

    1.2k GitHub stars~1.7k tokensUpdated today
    DevelopmentAuto-check: notes
  • Openaso Aso

    hubab1/OpenASO

    A skill your agent uses when performing App Store Optimization work with OpenASO MCP data: ASO audits, keyword research, metadata optimization, screenshot strategy, review analysis, competitor…

    177 GitHub stars~946 tokensUpdated 1 mo ago
    Marketing & SEOAuto-check passed

More from rshankras/claude-code-apple-skills

All 41 skills in this repo
  • Accessibility Generator

    rshankras/claude-code-apple-skills

    Generate accessibility infrastructure for VoiceOver, Dynamic Type, and accessibility features.

    785 GitHub stars~1.4k tokensUpdated 2 mo ago
    Auto-check: notes
  • Animation Patterns

    rshankras/claude-code-apple-skills

    SwiftUI animation patterns including springs, transitions, PhaseAnimator, KeyframeAnimator, SF Symbol effects, scroll-driven effects, mesh gradients, text renderers, and shader effects.

    785 GitHub stars~2.1k tokensUpdated 2 mo ago
    Auto-check passed
  • App Description Writer

    rshankras/claude-code-apple-skills

    Generate compelling App Store descriptions that convert browsers into users.

    785 GitHub stars~1.3k tokensUpdated 2 mo ago
    Auto-check passed
  • App Icon Generator

    rshankras/claude-code-apple-skills

    Generates an app icon for macOS or iOS — a fast CoreGraphics placeholder and/or flat layered source art to finish in Icon Composer (the Liquid Glass / iOS 26+ standard).

    785 GitHub stars~5.1k tokensUpdated 2 mo ago
    Auto-check: notes
  • App Namer

    rshankras/claude-code-apple-skills

    Turn an app idea into validated, App-Store-ready name candidates.

    785 GitHub stars~3.4k tokensUpdated 2 mo ago
    Auto-check passed
  • Bundles And Licensing

    rshankras/claude-code-apple-skills

    Revenue beyond the single-app price tag — own-app bundles, Family Sharing as a conversion lever, cross-developer bundles & suites, and institutional licensing via Group Purchases / Apple School &…

    785 GitHub stars~1.8k tokensUpdated 2 mo ago
    Auto-check passed

Categories

Questions about Iap Finalizer

What does Iap Finalizer do?

Take a one-time in-app purchase from MISSINGMETADATA to READYTOSUBMIT in App Store Connect — set its price schedule and localized display name/description (and optional review screenshot) via the…. Iap Finalizer is an agent skill from rshankras/claude-code-apple-skills. Take a one-time in-app purchase from MISSINGMETADATA to READYTOSUBMIT in App Store Connect — set its price schedule and localized display name/description (and optional review screenshot) via the ASC REST API.

When should I use Iap Finalizer?

Iap Finalizer fits situations like: tasks that involve App store release; tasks that involve REST APIs.

How do I install Iap Finalizer in Claude Code?

Run `npx skills add rshankras/claude-code-apple-skills --skill iap-finalizer -a claude-code`. Or copy the skill folder (skills/app-store/iap-finalizer in rshankras/claude-code-apple-skills) into .claude/skills/iap-finalizer in your project. Claude Code loads it when a task matches its description.

How do I install Iap Finalizer in Codex?

Run `npx skills add rshankras/claude-code-apple-skills --skill iap-finalizer -a codex`. Or copy the skill folder (skills/app-store/iap-finalizer in rshankras/claude-code-apple-skills) into .agents/skills/iap-finalizer in your project. Codex loads it when a task matches its description.

Can I use Iap Finalizer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rshankras/claude-code-apple-skills --skill iap-finalizer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/iap-finalizer, .gemini/skills/iap-finalizer, .github/skills/iap-finalizer and .opencode/skills/iap-finalizer in your project.

What does Iap Finalizer need to run?

SKILL.md names no scripts, command-line tools or credentials: Iap Finalizer is instructions for the agent only. Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Bash, mcp__asc-metadata__list_iap, mcp__asc-metadata__get_iap, AskUserQuestion.

Does Iap Finalizer access the network?

SKILL.md names 1 domain. As links in the text: developer.apple.com. This is read from the text; nothing was executed.

Is Iap Finalizer safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Iap Finalizer use?

Iap Finalizer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Iap Finalizer use?

About 1.2k tokens (SKILL.md is roughly 4.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Iap Finalizer?

Skills that share tags, products or a category with Iap Finalizer: Develop Asc Change (rorkai/App-Store-Connect-CLI, 7.7k stars), Asc Revenuecat Catalog Sync (rorkai/app-store-connect-cli-skills, 1.1k stars), Release (movieclaw/MovieClaw, 151 stars) and Apple Mobile (tellahq/opensession, 392 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Iap Finalizer?

rshankras (a GitHub user) maintains it in rshankras/claude-code-apple-skills, which has 785 GitHub stars. The repository holds 41 skills in this directory. The repository was last updated on July 24, 2026.

Source: rshankras/claude-code-apple-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.