iap-finalizer

iap-finalizer is a skill for Claude Code from rshankras/claude-code-apple-skills. It costs 97 tokens per session (1,301 once invoked), scanned A, original, MIT.

A guide for completing a one-time in-app purchase in App Store Connect, Apple's service for managing App Store listings and submissions.

In plain words
What is it for?
Use it after the purchase exists in App Store Connect to set its price, localized name and description, and optionally a review screenshot.
Why use it?
It fills in the store-side price and localized customer-facing text needed before the purchase can be submitted with an app.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: reads .claude/ paths; names the AskUserQuestion tool.

Part of the apple-skills plugin — 147 skills shipped together , and of apple-skills

Good fit Use it after the purchase exists in App Store Connect to set its price, localized name and description, and optionally a review screenshot.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/rshankras/claude-code-apple-skills/iap-finalizer
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add rshankras/claude-code-apple-skills --skill iap-finalizer
Clone the repo
git clone --depth 1 https://github.com/rshankras/claude-code-apple-skills

Made for: Claude Code.

Or install apple-skills, the plugin that ships this one along with the rest of its 147 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for iap-finalizer

README.md
[![agentmods](https://agentmods.dev/badge/skills/rshankras/claude-code-apple-skills/iap-finalizer/github.svg)](https://agentmods.dev/skills/rshankras/claude-code-apple-skills/iap-finalizer)
Your own site
<a href="https://agentmods.dev/skills/rshankras/claude-code-apple-skills/iap-finalizer"><img src="https://agentmods.dev/badge/skills/rshankras/claude-code-apple-skills/iap-finalizer/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for iap-finalizer

Your own site · 80×15
<a href="https://agentmods.dev/skills/rshankras/claude-code-apple-skills/iap-finalizer"><img src="https://agentmods.dev/badge/skills/rshankras/claude-code-apple-skills/iap-finalizer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 97 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,301 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00097 $0.01301
Opus 5 $0.00048 $0.00651
Sonnet 5 $0.00019 $0.00260
Haiku 4.5 $0.00010 $0.00130

Measured 9d ago against content hash c428eb9d6752, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

iap-finalizer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/app-store/iap-finalizer/SKILL.md · 63 lines

How it starts

The opening of the file, as written. The whole thing — 63 lines — stays where its author put it; the contents beside it link to each section on GitHub.

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_METADATAREADY_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.

Read the full file on GitHub · 63 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 63 lines · 97 tokens per session scan A c428eb9d6752

Subscribe to this mod's changes

iap-finalizer is a skill published in the GitHub repository rshankras/claude-code-apple-skills (710 stars, last pushed 1mo ago), licensed MIT. It adds 97 tokens to every session and 1,301 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

asc-subscription-localization

Bulk-localize subscription, subscription-group, and in-app purchase display names across App Store locales using asc, including API 4.4.1 version-scoped v2 resources. Use when filling or updating subscription/IAP names and descriptions without App Store Connect UI work.

rorkai/app-store-connect-cli-skills · 60 tokens

i18n-localization

Internationalization and localization for global applications. Use when adding multi-language support, handling regional formats, or preparing apps for global markets.

travisjneuman/.claude · 32 tokens

appstore-ppp-pricing

Bulk-sets App Store in-app purchase and subscription prices across 175+ countries by purchasing power parity, using the appstore-ppp-prices CLI. Use whenever the user wants to localize, bulk-update, lower, raise or review regional App Store pricing — "set regional prices", "PPP pricing", "make my app cheaper in…

duceum/appstore-ppp-pricing-agent-skill · 115 tokens

ecom-multilingual-listing

Optimize multilingual product listings for international e-commerce including SEO localization, machine translation workflows, and cultural adaptation. Use this skill when the user needs to create product listings in multiple languages, optimize for local search, or adapt marketing content for different markets — even…

asgard-ai-platform/skills · 87 tokens

ecom-sea-strategy

Develop e-commerce strategy for Southeast Asian markets including platform selection, payment infrastructure, logistics challenges, and localization requirements. Use this skill when the user is expanding e-commerce to SEA, evaluating Shopee vs Lazada vs Tokopedia, or needs to understand SEA market differences — even…

asgard-ai-platform/skills · 90 tokens

MarketplaceStrategist

Complete two-sided marketplace intelligence — cold start strategy, liquidity engineering, take rate optimization, trust and safety, supply/demand balance, and scaling from 100 to 10M transactions.

vignesh2027/Claude-Agentic-Skills2.0-version · 40 tokens