offer-codes-setup
Generates offer code distribution strategies and configuration guides for subscription and IAP promotions — including partner campaigns, influencer programs, and email re-engagement. Use when setting up offer codes for distribution.
Best use case
offer-codes-setup is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Generates offer code distribution strategies and configuration guides for subscription and IAP promotions — including partner campaigns, influencer programs, and email re-engagement. Use when setting up offer codes for distribution.
Teams using offer-codes-setup should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/offer-codes-setup/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How offer-codes-setup Compares
| Feature / Agent | offer-codes-setup | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Generates offer code distribution strategies and configuration guides for subscription and IAP promotions — including partner campaigns, influencer programs, and email re-engagement. Use when setting up offer codes for distribution.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
SKILL.md Source
# Offer Codes Setup Generator
Generate offer code distribution strategies, configuration guides, and campaign templates for promoting subscriptions and IAPs through redeemable codes.
## When This Skill Activates
Use this skill when the user:
- Asks about "offer codes" or "promo codes" for subscriptions
- Wants to distribute free/discounted subscriptions to partners or influencers
- Mentions "redemption codes" or "App Store codes"
- Asks about re-engaging users via email with promotional codes
- Wants to set up influencer or reviewer programs
## How Offer Codes Work
- Create in **App Store Connect** under Subscriptions > Offer Codes
- Two types: **one-time use codes** and **custom codes** (reusable, max 25 chars)
- Maximum **150,000 codes per app per quarter** (per subscription)
- Users redeem via: App Store, your app (using `presentOfferCodeRedeemSheet()`), or direct link
- Offer applies the configured discount (free period, discounted rate, etc.)
- Codes expire after the date you set in App Store Connect
### Code Types
| Type | Description | Best For |
|------|-------------|----------|
| One-time use | Unique codes, each used once | Email campaigns, individual distribution |
| Custom codes | Reusable keyword codes (e.g., "LAUNCH2025") | Social media, events, partnerships |
### Redemption Methods
1. **App Store > Account > Redeem Gift Card or Code**
2. **In your app** via `AppStore.presentOfferCodeRedeemSheet()`
3. **Direct URL**: `https://apps.apple.com/redeem?ctx=offercodes&id=APPID&code=CODE`
## Configuration Questions
Ask user via AskUserQuestion:
1. **Distribution purpose?**
- Influencer/reviewer program (free access for promotion)
- Partner distribution (B2B or affiliate)
- Email re-engagement (win-back lapsed users)
- Event/conference distribution (in-person)
- Social media promotion (public campaign)
2. **Offer type?**
- Free subscription period (1 week, 1 month, 3 months)
- Discounted first period
- Extended free trial
3. **Scale?**
- Small (< 100 codes, targeted distribution)
- Medium (100-1,000 codes, campaign-based)
- Large (1,000+ codes, broad distribution)
## Generation Process
### Step 1: Design Campaign Strategy
Based on the distribution purpose, design:
- Target audience and outreach plan
- Code type (one-time vs. custom)
- Offer duration and terms
- Distribution channel and messaging
- Tracking and measurement plan
### Step 2: Generate Campaign Document
## Output Format
```markdown
# Offer Code Campaign: [Campaign Name]
## Campaign Overview
| Field | Value |
|-------|-------|
| Purpose | [Distribution purpose] |
| Target Audience | [Who receives codes] |
| Code Type | [One-time / Custom] |
| Offer | [Free X months / Y% off first period] |
| Total Codes | [Number] |
| Distribution Period | [Date range] |
| Code Expiration | [Date] |
## App Store Connect Setup
1. Go to App Store Connect > Subscriptions > [Group] > [Subscription]
2. Navigate to "Offer Codes" tab
3. Create new offer:
- Offer type: [Free / Pay as you go / Pay up front]
- Duration: [X weeks/months]
- Pricing: [If discounted, specify tier]
4. Generate codes:
- Type: [One-time use / Custom code]
- Quantity: [Number]
- Custom code name: [If custom, e.g., "LAUNCH2025"]
- Expiration: [Date]
5. Download codes CSV (for one-time codes)
## Distribution Plan
### Channel: [Channel Name]
- **Recipients**: [Who gets codes and how many]
- **Delivery method**: [Email / DM / QR code / Link]
- **Message template**: [See below]
- **Tracking**: [How to measure redemption]
### Message Template
#### For Influencers/Reviewers
Subject: [App Name] — Complimentary Pro Access
> Hi [Name],
>
> I'd love to offer you complimentary Pro access to [App Name] — [one-line description].
>
> Your personal code: **[CODE]**
>
> Redeem: Open the App Store → Account → Redeem Gift Card or Code → Enter code
> Or direct link: [redemption URL]
>
> This gives you [offer details — e.g., 3 months free Pro].
>
> If you enjoy the app, we'd love an honest review or mention. No obligation at all.
>
> Best,
> [Your name]
#### For Email Re-engagement
Subject: We've missed you — here's [X] free on us
> Hi [Name],
>
> It's been a while since you've used [App Name], and we've been busy making it better.
>
> Here's what's new:
> - [Feature 1]
> - [Feature 2]
> - [Feature 3]
>
> We'd love for you to come back and try it. Here's a code for [offer details]:
>
> **[CODE]**
>
> [Redemption instructions or direct link]
>
> This code expires [date].
>
> Welcome back,
> [Your name / App name]
#### For Social Media (Custom Code)
> [Emoji] Special offer! Use code **[CUSTOMCODE]** in the App Store to get
> [offer details] of [App Name] completely free.
>
> Redeem: [Link]
>
> Limited time — expires [date]. [Emoji]
## In-App Redemption
### Add Code Entry to Your App
```swift
import StoreKit
struct SettingsView: View {
var body: some View {
Button("Redeem Offer Code") {
Task {
try? await AppStore.presentOfferCodeRedeemSheet()
}
}
}
}
```
## Measurement
| Metric | How to Track |
|--------|-------------|
| Codes distributed | Your distribution records |
| Codes redeemed | App Store Connect > Offer Codes |
| Redemption rate | Redeemed / Distributed |
| Post-offer retention | Retained after offer period ends |
| Conversion to paid | Continued subscription after offer |
## Campaign Calendar
| Month | Campaign | Codes | Channel |
|-------|----------|-------|---------|
| [Month] | [Campaign name] | [Count] | [Channel] |
```
## Distribution Strategies by Purpose
### Influencer Program
- **Scale**: 10-50 codes per quarter
- **Code type**: One-time use (track individual redemption)
- **Offer**: 3-6 months free (generous for genuine feedback)
- **Follow-up**: Request honest review 2 weeks after redemption
- **Tracking**: Spreadsheet mapping code → influencer → outcome
### Partner/Affiliate
- **Scale**: 100-1,000 codes per partner
- **Code type**: Custom code per partner ("PARTNER2025")
- **Offer**: 1-3 months free
- **Terms**: Clear agreement on promotion expectations
- **Tracking**: Unique custom code per partner for attribution
### Email Re-Engagement
- **Scale**: Match churned user count
- **Code type**: One-time use (unique per user)
- **Offer**: 1 month free (low barrier to return)
- **Timing**: 30-60 days after churn
- **Tracking**: Email open → Redemption → Retention
### Event/Conference
- **Scale**: Match expected attendees
- **Code type**: Custom code ("WWDC2025")
- **Offer**: 1-3 months free
- **Distribution**: QR code on slides/booth, printed cards
- **Tracking**: Post-event redemption monitoring
## References
- Related: `generators/subscription-offers` — StoreKit 2 offer implementation
- Related: `generators/win-back-offers` — Win-back campaign strategy
- Related: `app-store/marketing-strategy` — Overall promotional strategyRelated Skills
snapshot-test-setup
Set up SwiftUI visual regression testing with swift-snapshot-testing. Generates snapshot test boilerplate and CI configuration. Use for UI regression prevention.
win-back-offers
Generates the complete win-back offer flow for churned subscribers — StoreKit Message API handling, eligibility verification, offer sheet presentation, and analytics. Use when implementing win-back campaigns or re-engagement for lapsed subscribers.
subscription-offers
Generates StoreKit 2 code for all subscription offer types — introductory, promotional, offer codes, and win-back. Includes eligibility checks, offer presentation, and the preferredSubscriptionOffer modifier. Use when adding subscription offers, free trials, or promotional pricing.
persistence-setup
Generates SwiftData or CoreData persistence layer with optional iCloud sync. Use when user wants to add local storage, data persistence, or cloud sync.
logging-setup
Generates structured logging infrastructure using os.log/Logger to replace print() statements. Use when user wants to add proper logging, replace print statements, or set up app logging.
Localization Setup Generator
Generate internationalization (i18n) infrastructure for multi-language support in iOS/macOS apps.
CI/CD Setup Generator
Generate CI/CD configuration for automated builds, tests, and distribution of iOS/macOS apps.
analytics-setup
Generates protocol-based analytics infrastructure with swappable providers (TelemetryDeck, Firebase, Mixpanel). Use when user wants to add analytics, track events, or set up telemetry.
swiftui-ui-patterns
Best practices and example-driven guidance for building SwiftUI views and components. Use when creating or refactoring SwiftUI UI, designing tab architecture with TabView, composing screens, or needing component-specific patterns and examples.
watchOS
watchOS development guidance including SwiftUI for Watch, Watch Connectivity, complications, and watch-specific UI patterns. Use for watchOS code review, best practices, or Watch app development.
visionos-widgets
visionOS widget patterns including mounting styles, glass/paper textures, proximity-aware layouts, and spatial widget families. Use when creating or adapting widgets for visionOS.
test-data-factory
Generate test fixture factories for your models. Builder pattern and static factories for zero-boilerplate test data. Use when tests need sample data setup.