rudrankriyam/app-store-connect-cli-skills/asc-ppp-pricing
- community
Checking that the SKILL.md file is still in the repository.
Set territory-specific pricing for subscriptions and in-app purchases using current asc setup, pricing summary, price import, and price schedule commands. Use when adjusting prices by country or implementing localized PPP strategies.
Install
npx vskill@latest install rudrankriyam/app-store-connect-cli-skills/asc-ppp-pricingSKILL.md
PPP pricing (per-territory pricing)
Use this skill to create or update localized pricing across territories based on purchasing power parity (PPP) or your own regional pricing strategy.
Prefer the current high-level flows:
asc subscriptions setupandasc iap setupfor parent creation and pricing,
followed by version-scoped metadata commands
asc subscriptions pricing ...for subscription pricing changesasc iap pricing summaryandasc iap pricing schedules ...for IAP pricing changes
Prefer native asc commands. Use asc api only when no native command covers the task; the --resolved reads below already return territory, currency, customer price, proceeds, and price point ID for every territory.
Preconditions
- Ensure credentials are set (
asc auth loginorASC_*env vars). - Prefer
ASC_APP_IDor pass--appexplicitly. - Decide your base territory (usually
USA) and baseline price. - Use
asc pricing territories list --paginateif you need supported territory IDs.
Subscription PPP workflow
New subscription: bootstrap the parent and price with setup
Use setup to create the group and subscription, upload the App Review screenshot, materialize the complete equalized price matrix, and set sale availability. Create the API 4.4.1 group and subscription versions afterward; the localization flags on setup use deprecated v1 resources and must not be used for new workflows.
Capture .groupId and .subscriptionId from the setup JSON, then add version-scoped metadata. --no-verify is intentional here: without deprecated v1 localizations, the parent can remain MISSING_METADATA until the v2 steps finish.
For each version list, reuse its single PREPARE_FOR_SUBMISSION result. Create only when the result is empty; if more than one result is returned, stop and require an explicit version ID instead of creating another non-deletable version. Each localization create/update pair is also conditional: create for a missing locale, update the resolved localization only when values differ, and do nothing when it already matches.
Notes:
setupmaterializes Apple's complete equalized price matrix from the selected
base price. This split workflow defers final verification until the v2 localizations exist.
- Outside this split v2 bootstrap, omit
--no-verifyso setup performs its
normal readback verification.
- Use
--tieror--price-point-idinstead of--pricewhen your workflow is tier-driven. - If an existing subscription remains
MISSING_METADATAwith the same selected base price, re-run the setup inputs with--repairto atomically rebuild and re-save the matrix.
Inspect current subscription pricing before changes
Use the summary view first when you want a compact current-state snapshot.
Use summary for quick before/after spot checks. prices list --resolved returns the current effective price for every territory (customer price, currency, proceeds, price point ID). It excludes future-dated prices; use prices list --paginate for raw records when checking scheduled changes.
Derive one subscription's localized prices from another
Use derive when a target subscription should stay near a fixed multiple of a source subscription in every territory, such as yearly pricing near 10 times monthly pricing. Apple ladders scale unevenly across territories, so preview the selected target points and achieved multiples before applying them.
Choose how a desired price resolves when Apple does not offer it:
exactfails unless the calculated amount exists on the target ladder.nearestchooses the closest amount; an exact tie chooses the lower one.upchooses the smallest available amount at or above the calculation.downchooses the largest available amount at or below the calculation.
The confirmed command fetches current prices and builds a fresh plan; it does not reuse the preceding dry-run result. When the applied values must match the reviewed values, rerun --dry-run immediately before confirming, then apply:
The source and target must be distinct subscriptions with existing standard UPFRONT prices. The operation is a one-time snapshot, not a persistent link. It fails closed before mutation when any territory cannot resolve, skips target prices that already match, and verifies applied prices by reading them back. Use --territory "SWE" for a focused preview or staged one-territory update; omit it to derive every current source territory. Approved or live targets are scheduled for tomorrow by default when no --start-date is supplied because --auto-start-date defaults to true. Pass --auto-start-date=false to apply immediately, or use an explicit date when coordinating a rollout. The command does not change subscription sale availability.
Preferred bulk PPP update: import a CSV with dry run
For broad PPP rollouts, prefer the subscription pricing import command instead of manually adding territory prices one by one.
Example CSV:
Dry-run first:
Apply for real:
Notes:
--dry-runvalidates rows and resolves price points without creating prices.--continue-on-error=falsegives you a fail-fast mode.- CSV required columns:
territory,price - CSV optional columns:
currency_code,start_date,preserved,preserve_current_price,price_point_id - When
price_point_idis omitted, the CLI resolves the matching price point for the row's territory and price automatically. - Territory inputs in import can be 3-letter IDs, 2-letter codes, or common territory names that map cleanly.
One-off subscription territory changes
For a small number of manual overrides, use the canonical set command.
Notes:
- Add
--start-date "YYYY-MM-DD"to schedule a future change. - Add
--preservedwhen you want to preserve the current price relationship. - The command handles both initial pricing and later price changes.
Discover raw price points only when you need them
Use price-point lookup and equalizations when you want to inspect Apple's localized ladder directly or pin exact price point IDs.
Use equalizations for Apple's standard localized ladder. Use adjusted-equalizations when you need the API 4.4.1 subscription-specific adjustments. For a fresh adjusted-equalizations request, pass both --upfront-price-point-id and --plan-type; --subscription-id and --territory are optional filters. Treat --next as an opaque continuation URL. On a resumed equalizations or adjusted-equalizations request, pass only --next without the original owner --price-point-id, filters, sparse fields, includes, or limit; the continuation URL already carries that query state. --paginate and explicit output flags may still be used.
Verify after apply
Re-run the summary and raw list views after changes.
After the version metadata exists, you may rerun asc subscriptions setup with verification enabled to recheck the parent, pricing, screenshot, and availability state.
Subscription availability
The underlying subscription-availability resource is deprecated in App Store Connect API 4.4. Keep this command family only for compatibility when ordinary upfront territory availability still needs it; Apple does not provide a one-for-one replacement for that case. For Monthly with 12-Month Commitment, use asc subscriptions pricing monthly-commitment enable|disable|list instead.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/asc-ppp-pricing/SKILL.md
Popularity
- Repository stars
- 721
- Repository forks
- 38
- 7-day trend score
- 33
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 9 Apr 2026, 6 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/rudrankriyam/app-store-connect-cli-skills/asc-ppp-pricing)