agentleFS
moasqmoasq/ios-dev-agent/.agents/skills/asc-ppp-pricing/SKILL.md

asc-ppp-pricing

Skill4 starsChanged 6 months agoMITView on GitHub

Use when adjusting territory-specific App Store pricing, purchasing-power parity, subscription price schedules, price imports, or storefront equalization with asc.

6 other projects use a version of this, 6 of them edited.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

25 rules. 7 are common, 1 is distinctive, and 17 are very specific to this project.

  • 7

    Common

    Most of the 6 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 17

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Common:

    Use this skill to create or update localized pricing across territories based on purchasing power parity (PPP) or your own regional pricing …

    line 8
  2. Common:

    Prefer the current high-level flows:

    line 10
  3. Very specific:

    Ensure credentials are set (asc auth login or ASC_* env vars).

    line 16
  4. Very specific:

    Prefer ASC_APP_ID or pass --app explicitly.

    line 17
  5. Very specific:

    Use asc pricing territories list --paginate if you need supported territory IDs.

    line 19
  6. Very specific:

    Use setup when you are creating a new subscription and want to create the group, subscription, first localization, initial price, and …

    line 24
  7. Very specific:

    Use --no-verify only when you explicitly want speed over readback verification.

    line 44
  8. Very specific:

    Use --tier or --price-point-id instead of --price when your workflow is tier-driven.

    line 45
  9. Common:

    Use the summary view first when you want a compact current-state snapshot.

    line 48
  10. Very specific:

    Use summary for quick before/after spot checks and prices list when you need raw price records.

    line 56
  11. Very specific:

    When price_point_id is omitted, the CLI resolves the matching price point for the row's territory and price automatically.

    line 95
  12. Very specific:

    Add --start-date "YYYY-MM-DD" to schedule a future change.

    line 108
  13. Very specific:

    Add --preserved when you want to preserve the current price relationship.

    line 109
  14. Common:

    Use price-point lookup and equalizations when you want to inspect Apple's localized ladder directly or pin exact price point IDs.

    line 113
  15. Very specific:

    If the subscription was newly created, you can also use asc subscriptions setup with verification enabled instead of stitching together …

    line 129
  16. Distinctive:

    If you need to explicitly enable territories for an existing subscription, use the pricing availability family.

    line 132
  17. Very specific:

    Use setup when you are creating a new IAP and want to create the product, first localization, and initial price schedule in one verified …

    line 142
  18. Very specific:

    Use --start-date for scheduled pricing.

    line 160
  19. Very specific:

    Use --tier or --price-point-id when you want deterministic tier- or ID-based setup.

    line 161
  20. Very specific:

    Use asc iap pricing summary as the main current-state summary for PPP work.

    line 164
  21. Common:

    Use price-point lookup when you want to inspect or pin exact price point IDs.

    line 174
  22. Common:

    Use these when you are intentionally creating or replacing schedule entries.

    line 190
  23. Common:

    Use the summary command again after scheduling or applying pricing changes.

    line 199
  24. Very specific:

    Prefer canonical commands in docs and automation: asc subscriptions pricing ...

    line 228
  25. Very specific:

    Prefer canonical IAP commands in docs and automation: asc iap pricing ...

    line 230

“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.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 setup and asc iap setup when you are creating a new product
  • asc subscriptions pricing ... for subscription pricing changes
  • asc iap pricing summary and asc iap pricing schedules ... for IAP pricing changes

Preconditions

  • Ensure credentials are set (asc auth login or ASC_* env vars).
  • Prefer ASC_APP_ID or pass --app explicitly.
  • Decide your base territory (usually USA) and baseline price.
  • Use asc pricing territories list --paginate if you need supported territory IDs.

Subscription PPP workflow

New subscription: bootstrap with setup

Use setup when you are creating a new subscription and want to create the group, subscription, first localization, initial price, and availability in one verified flow.

asc subscriptions setup \
  --app "APP_ID" \
  --group-reference-name "Pro" \
  --reference-name "Pro Monthly" \
  --product-id "com.example.pro.monthly" \
  --subscription-period ONE_MONTH \
  --locale "en-US" \
  --display-name "Pro Monthly" \
  --description "Unlock everything" \
  --price "9.99" \
  --price-territory "USA" \
  --territories "USA,CAN,GBR" \
  --output json

Notes:

  • setup verifies the created state by default.
  • Use --no-verify only when you explicitly want speed over readback verification.
  • Use --tier or --price-point-id instead of --price when your workflow is tier-driven.

Inspect current subscription pricing before changes

Use the summary view first when you want a compact current-state snapshot.

asc subscriptions pricing summary --subscription-id "SUB_ID" --territory "USA"
asc subscriptions pricing summary --subscription-id "SUB_ID" --territory "IND"
asc subscriptions pricing prices list --subscription-id "SUB_ID" --paginate

Use summary for quick before/after spot checks and prices list when you need raw price records.

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:

territory,price,start_date,preserved
IND,2.99,2026-04-01,false
BRA,4.99,2026-04-01,false
MEX,4.99,2026-04-01,false
DEU,8.99,2026-04-01,false

Dry-run first:

asc subscriptions pricing prices import \
  --subscription-id "SUB_ID" \
  --input "./ppp-prices.csv" \
  --dry-run \
  --output table

Apply for real:

asc subscriptions pricing prices import \
  --subscription-id "SUB_ID" \
  --input "./ppp-prices.csv" \
  --output table

Notes:

  • --dry-run validates rows and resolves price points without creating prices.
  • --continue-on-error=false gives 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_id is 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.

asc subscriptions pricing prices set --subscription-id "SUB_ID" --price "2.99" --territory "IND"
asc subscriptions pricing prices set --subscription-id "SUB_ID" --tier 5 --territory "BRA"
asc subscriptions pricing prices set --subscription-id "SUB_ID" --price-point "PRICE_POINT_ID" --territory "DEU"

Notes:

  • Add --start-date "YYYY-MM-DD" to schedule a future change.
  • Add --preserved when 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.

asc subscriptions pricing price-points list --subscription-id "SUB_ID" --territory "USA" --paginate --price "9.99"
asc subscriptions pricing price-points equalizations --price-point-id "PRICE_POINT_ID" --paginate

Verify after apply

Re-run the summary and raw list views after changes.

asc subscriptions pricing summary --subscription-id "SUB_ID" --territory "IND"
asc subscriptions pricing summary --subscription-id "SUB_ID" --territory "BRA"
asc subscriptions pricing prices list --subscription-id "SUB_ID" --paginate

If the subscription was newly created, you can also use asc subscriptions setup with verification enabled instead of stitching together separate create and pricing steps.

Subscription availability

If you need to explicitly enable territories for an existing subscription, use the pricing availability family.

asc subscriptions pricing availability edit --subscription-id "SUB_ID" --territories "USA,CAN,IND,BRA"
asc subscriptions pricing availability view --subscription-id "SUB_ID"

IAP PPP workflow

New IAP: bootstrap with setup

Use setup when you are creating a new IAP and want to create the product, first localization, and initial price schedule in one verified flow.

asc iap setup \
  --app "APP_ID" \
  --type NON_CONSUMABLE \
  --reference-name "Pro Lifetime" \
  --product-id "com.example.pro.lifetime" \
  --locale "en-US" \
  --display-name "Pro Lifetime" \
  --description "Unlock everything forever" \
  --price "9.99" \
  --base-territory "USA" \
  --output json

Notes:

  • setup verifies the created IAP, localization, and price schedule by default.
  • Use --start-date for scheduled pricing.
  • Use --tier or --price-point-id when you want deterministic tier- or ID-based setup.

Inspect current IAP pricing before changes

Use asc iap pricing summary as the main current-state summary for PPP work.

asc iap pricing summary --iap-id "IAP_ID" --territory "USA"
asc iap pricing summary --iap-id "IAP_ID" --territory "IND"

This returns the base territory, current price, estimated proceeds, and scheduled changes for the requested territory.

Discover candidate IAP price points

Use price-point lookup when you want to inspect or pin exact price point IDs.

asc iap pricing price-points list --iap-id "IAP_ID" --territory "USA" --paginate --price "9.99"
asc iap pricing price-points equalizations --id "PRICE_POINT_ID"

Create or update an IAP price schedule

For manual PPP updates, create a price schedule directly.

asc iap pricing schedules create --iap-id "IAP_ID" --base-territory "USA" --price "4.99" --start-date "2026-04-01"
asc iap pricing schedules create --iap-id "IAP_ID" --base-territory "USA" --tier 5 --start-date "2026-04-01"
asc iap pricing schedules create --iap-id "IAP_ID" --base-territory "USA" --prices "PRICE_POINT_ID:2026-04-01"

Use these when you are intentionally creating or replacing schedule entries. For deeper inspection:

asc iap pricing schedules view --iap-id "IAP_ID"
asc iap pricing schedules manual-prices --schedule-id "SCHEDULE_ID" --paginate
asc iap pricing schedules automatic-prices --schedule-id "SCHEDULE_ID" --paginate

Verify after apply

Use the summary command again after scheduling or applying pricing changes.

asc iap pricing summary --iap-id "IAP_ID" --territory "USA"
asc iap pricing summary --iap-id "IAP_ID" --territory "IND"

For future-dated schedules, expect scheduled changes rather than an immediately updated current price.

Common PPP strategy patterns

Base territory first

  • Pick one baseline territory, usually USA.
  • Set the baseline price there first.
  • Derive lower or higher territory targets from that baseline.

Tiered regional pricing

  • High-income markets stay close to baseline.
  • Mid-income markets get moderate discounts.
  • Lower-income markets get stronger PPP adjustments.

Spreadsheet-driven rollout

  • Build the target territory list in a CSV.
  • Dry-run the import.
  • Fix any resolution failures.
  • Apply the import.
  • Re-run summary checks for the most important territories.

Notes

  • Prefer canonical commands in docs and automation: asc subscriptions pricing ...
  • Older asc subscriptions prices ... paths still exist, but the canonical pricing family is clearer.
  • Prefer canonical IAP commands in docs and automation: asc iap pricing ...
  • asc subscriptions pricing prices import --dry-run is the safest subscription batch PPP path today.
  • asc subscriptions setup and asc iap setup already provide built-in post-create verification.
  • There is not yet a single first-class before/after PPP diff command; use the current summary commands before and after apply.
  • Price changes may take time to propagate in App Store Connect and storefronts.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.