/bundles-and-licensing
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 & Business Manager. Use when a developer has multiple apps, a subscription worth
$ npx -y skills add rshankras/claude-code-apple-skills --skill bundles-and-licensing --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/bundles-and-licensing
Context preview
The summary Claude sees to decide when to auto-load this skill.
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 & Business Manager. Use when a developer has multiple apps, a subscription worth
SKILL.md
bundles-and-licensing.SKILL.mdname: bundles-and-licensing
description: 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 & Business Manager. Use when a developer has multiple apps, a subscription worth sharing, complementary indie partners, or school/clinic/business buyers.
allowed-tools: [Read, Write, Edit, Glob, Grep]
last_verified: 2026-07-16
review_by: 2027-06-22
Bundles & Licensing
Four ways one piece of software earns more than one price tag.
When This Skill Activates
- A portfolio developer asks how apps can sell each other ("bundle my apps?")
- Deciding whether to enable Family Sharing on a subscription or purchase
- Exploring partnerships with complementary indie apps
- Schools, clinics, or businesses keep asking "how do we buy 30 seats?"
- The store-growth audit flags P8.5, P8.6, or P8.7
1. Own-app bundles (available now)
App bundles group up to 10 of your own paid apps — or apps sharing a subscription — at a bundle price, with **Complete My Bundle** crediting what a user already paid.
- ✅ Portfolio play: your catalog cross-sells itself on every member app's product page — a
discovery surface, not just a discount (pairs with the checkbox-storefront and portfolio tactics in `app-store/marketing-strategy`).
- ✅ Price the bundle at "second app ~half off, third+ nearly free" — the goal is basket size
and page presence, not margin per unit.
- ❌ Bundling apps with no shared audience; the bundle card confuses both product pages.
- Mechanics: paid apps only (or one subscription spanning the bundle); free apps can't bundle.
2. Family Sharing (available now — chronically under-enabled)
A checkbox per IAP/subscription in ASC, plus StoreKit handling for shared entitlements. One purchase covers up to 5 additional family members — 6 entitlements, "6 for the price of 1".
- ✅ Enable for subscriptions whose *job* is shareable (utilities, education, health, home) —
"the whole family for one price" beats a 6× cheaper feel at maybe 1.5× usage cost, and it's a paywall differentiator against non-sharing competitors.
- ✅ Drive paywall copy off `isFamilyShareable` rather than hardcoding "share with your family".
- ✅ Distinguish `ownershipType` — `PURCHASED` vs `FAMILY_PURCHASED` — to tailor onboarding;
the family member never saw your paywall or purchase flow.
- ✅ Family entitlements arrive *outside* any purchase flow, and after a deliberate delay (the
purchaser gets a window to disable sharing first) — listen on `Transaction.updates`, and check entitlement before merchandising (a family member may already be covered).
- ✅ Handle `revocationDate` + the REVOKE server notification by re-deriving entitlements from
the full transaction history; test the revoked-from-family path.
- ❌ Enabling it on a per-seat B2B-ish product where sharing cannibalizes real seats — that's
what volume licensing (below) is for.
- One-way door: enabling takes effect **within hours for new and existing customers** and is
irreversible — turning it off only affects new purchases.
3. Cross-developer bundles & suites
Combined subscriptions spanning apps from *different* developers — the "indie suite" model (several complementary tools, one subscription).
- The unlock: each partner's install base becomes the others' warm audience — distribution
cheaper than any paid channel.
- ✅ Partner selection: same buyer, adjacent jobs, no feature overlap (writing tool + reference
manager + focus timer, not three writing tools). Draft revenue-share on *attribution of the acquiring app*, not equal splits.
- ✅ Verify current ASC mechanics before promising a ship date — cross-developer suites are a
recent capability and terms/tooling are still settling; the fallback is coordinated own-app pricing + mutual offer codes (`generators/offer-codes-setup`).
- ❌ Partnering with an app whose rating or privacy posture you wouldn't put your name on — a
suite shares reputational blast radius (run `app-store/originality-check` thinking on partners).
4. Group Purchases & Volume Purchasing — institutional sales
Live for all auto-renewable subscriptions using StoreKit 2 (StoreKit 2 required). ON by default for most new and existing StoreKit 2 subscriptions — but Family Sharing-enabled subscriptions are opted OUT by default. Configure per subscription in ASC.
Two sale paths, same seat pool:
- **In-app group purchases** — a customer buys N seats, shares an invite link, and accepters are
auto-assigned to seats.
- **Volume purchasing** through **Apple Business Manager / Apple School Manager** — the
institutional channel for schools, clinics, and businesses.
Mechanics:
- **Volume pricing = up to 5 price bands**, with full control of seat thresholds and each band's
price. The default is every seat at the current price — no discount exists until you configure bands (e.g., $19.99 → $13.99 at 21–40 seats → $10.99 at 41+; a 50-seat purchase then averages ~20% off).
- ✅ Prefer the built-in seat management (invites, acceptance tracking, seat lifecycle) unless
you already run member management — then use the App Store Server API group endpoints instead.
- ✅ Merchandise the group value in-app — buyers won't discover multi-seat pricing on their own.
- ✅ Education/health apps: this often outearns consumer conversion optimization by an order of
magnitude — one district buys more seats than a year of paywall A/B tests adds.
- ❌ Building custom seat management UI before validating a single institutional buyer exists —
the built-in flow covers the first sale.
- Custom Apps via Apple Business Manager remain the path for bespoke B2B distribution; Group
Purchases brings multi-seat to the mainstream store — different tools, same buyer.
- Reference: the WWDC26 session on group purchases and volume purchasing.
Decision sketch
| You have | Reach for | |---|---| | 2+ paid apps, shar
Read more
name: bundles-and-licensing description: 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 & Business Manager. Use when a developer has multiple apps, a subscription worth sharing, complementary indie partners, or school/clinic/business buyers. allowed-tools: [Read, Write, Edit, Glob, Grep] last_verified: 2026-07-16 review_by: 2027-06-22
Bundles & Licensing
Four ways one piece of software earns more than one price tag.
When This Skill Activates
- A portfolio developer asks how apps can sell each other ("bundle my apps?")
- Deciding whether to enable Family Sharing on a subscription or purchase
- Exploring partnerships with complementary indie apps
- Schools, clinics, or businesses keep asking "how do we buy 30 seats?"
- The store-growth audit flags P8.5, P8.6, or P8.7
1. Own-app bundles (available now)
App bundles group up to 10 of your own paid apps — or apps sharing a subscription — at a bundle price, with **Complete My Bundle** crediting what a user already paid.
- ✅ Portfolio play: your catalog cross-sells itself on every member app's product page — a
discovery surface, not just a discount (pairs with the checkbox-storefront and portfolio tactics in `app-store/marketing-strategy`).
- ✅ Price the bundle at "second app ~half off, third+ nearly free" — the goal is basket size
and page presence, not margin per unit.
- ❌ Bundling apps with no shared audience; the bundle card confuses both product pages.
- Mechanics: paid apps only (or one subscription spanning the bundle); free apps can't bundle.
2. Family Sharing (available now — chronically under-enabled)
A checkbox per IAP/subscription in ASC, plus StoreKit handling for shared entitlements. One purchase covers up to 5 additional family members — 6 entitlements, "6 for the price of 1".
- ✅ Enable for subscriptions whose *job* is shareable (utilities, education, health, home) —
"the whole family for one price" beats a 6× cheaper feel at maybe 1.5× usage cost, and it's a paywall differentiator against non-sharing competitors.
- ✅ Drive paywall copy off `isFamilyShareable` rather than hardcoding "share with your family".
- ✅ Distinguish `ownershipType` — `PURCHASED` vs `FAMILY_PURCHASED` — to tailor onboarding;
the family member never saw your paywall or purchase flow.
- ✅ Family entitlements arrive *outside* any purchase flow, and after a deliberate delay (the
purchaser gets a window to disable sharing first) — listen on `Transaction.updates`, and check entitlement before merchandising (a family member may already be covered).
- ✅ Handle `revocationDate` + the REVOKE server notification by re-deriving entitlements from
the full transaction history; test the revoked-from-family path.
- ❌ Enabling it on a per-seat B2B-ish product where sharing cannibalizes real seats — that's
what volume licensing (below) is for.
- One-way door: enabling takes effect **within hours for new and existing customers** and is
irreversible — turning it off only affects new purchases.
3. Cross-developer bundles & suites
Combined subscriptions spanning apps from *different* developers — the "indie suite" model (several complementary tools, one subscription).
- The unlock: each partner's install base becomes the others' warm audience — distribution
cheaper than any paid channel.
- ✅ Partner selection: same buyer, adjacent jobs, no feature overlap (writing tool + reference
manager + focus timer, not three writing tools). Draft revenue-share on *attribution of the acquiring app*, not equal splits.
- ✅ Verify current ASC mechanics before promising a ship date — cross-developer suites are a
recent capability and terms/tooling are still settling; the fallback is coordinated own-app pricing + mutual offer codes (`generators/offer-codes-setup`).
- ❌ Partnering with an app whose rating or privacy posture you wouldn't put your name on — a
suite shares reputational blast radius (run `app-store/originality-check` thinking on partners).
4. Group Purchases & Volume Purchasing — institutional sales
Live for all auto-renewable subscriptions using StoreKit 2 (StoreKit 2 required). ON by default for most new and existing StoreKit 2 subscriptions — but Family Sharing-enabled subscriptions are opted OUT by default. Configure per subscription in ASC.
Two sale paths, same seat pool:
- **In-app group purchases** — a customer buys N seats, shares an invite link, and accepters are
auto-assigned to seats.
- **Volume purchasing** through **Apple Business Manager / Apple School Manager** — the
institutional channel for schools, clinics, and businesses.
Mechanics:
- **Volume pricing = up to 5 price bands**, with full control of seat thresholds and each band's
price. The default is every seat at the current price — no discount exists until you configure bands (e.g., $19.99 → $13.99 at 21–40 seats → $10.99 at 41+; a 50-seat purchase then averages ~20% off).
- ✅ Prefer the built-in seat management (invites, acceptance tracking, seat lifecycle) unless
you already run member management — then use the App Store Server API group endpoints instead.
- ✅ Merchandise the group value in-app — buyers won't discover multi-seat pricing on their own.
- ✅ Education/health apps: this often outearns consumer conversion optimization by an order of
magnitude — one district buys more seats than a year of paywall A/B tests adds.
- ❌ Building custom seat management UI before validating a single institutional buyer exists —
the built-in flow covers the first sale.
- Custom Apps via Apple Business Manager remain the path for bespoke B2B distribution; Group
Purchases brings multi-seat to the mainstream store — different tools, same buyer.
- Reference: the WWDC26 session on group purchases and volume purchasing.
Decision sketch
| You have | Reach for | |---|---| | 2+ paid apps, shar
A collection of Claude Code skills for iOS, macOS, watchOS, visionOS, and Apple platform development. These skills help you plan and build apps, maintain code quality, ensure HIG compliance, and guide you from idea to App Store.
Repo: rshankras/claude-code-apple-skills
Other skills on rshankras-apple-skills.
- /app-store
App Store optimization and marketing skills for descriptions, screenshots, keywords, review responses, and comprehensive promotional strategy. Use when user needs help with App Store presence, ASO, marketing, or customer communication.
Open skill - /ad-attribution
Privacy-preserving ad measurement with AdAttributionKit (SKAdNetwork's successor) — install and re-engagement attribution, conversion-value strategy under crowd anonymity, and end-to-end postback testing. Use when running paid acquisition beyond Apple Ads, measuring
Open skill - /app-description-writer
Generate compelling App Store descriptions that convert browsers into users. Use when writing initial descriptions, improving existing copy, or drafting promotional text and What's New for a major update.
Open skill - /apple-search-ads
Apple Search Ads campaign strategy for indie developers — paid acquisition, keyword bidding, budget planning, and ROAS optimization. Use when user asks about running ads, paid user acquisition, or Apple Search Ads campaigns.
Open skill - /iap-finalizer
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
Open skill - /keyword-optimizer
Optimize app title, subtitle, and keywords for maximum App Store discoverability. Use when launching a new app, improving search rankings, entering new markets/languages, or safely optimizing ASO for an app with existing traffic.
Open skill

