app-store
App Store optimization and marketing skills for descriptions, screenshots, keywords, review responses, and comprehensive promotional strategy. Use when user…
Generates guided first-action flows that help users achieve a meaningful result within 60 seconds to boost retention. Use when user wants quick win onboarding, time-to-value optimization, or first success moments.
$ npx -y skills add rshankras/claude-code-apple-skills --skill quick-win-session --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/quick-win-sessionContext preview
The summary Claude sees to decide when to auto-load this skill.
Generates guided first-action flows that help users achieve a meaningful result within 60 seconds to boost retention. Use when user wants quick win onboarding, time-to-value optimization, or first success moments.
name: quick-win-session description: Generates guided first-action flows that help users achieve a meaningful result within 60 seconds to boost retention. Use when user wants quick win onboarding, time-to-value optimization, or first success moments. allowed-tools: [Read, Write, Edit, Glob, Grep, Bash, AskUserQuestion] last_verified: 2026-07-16 review_by: 2027-06-22 os_version: iOS 27 / macOS 27
Generate a "quick win" session system that guides users to complete a meaningful action within their first 60 seconds. Reduces time-to-value by surfacing the simplest high-impact task, walking the user through it step by step, and celebrating completion. Critical for onboarding retention — users who achieve a quick win in the first minute are significantly more likely to return.
Use this skill when the user:
Search for existing onboarding code:
Glob: **/*Onboarding*.swift, **/*Welcome*.swift, **/*QuickWin*.swift, **/*FirstRun*.swift Grep: "onboarding" or "firstLaunch" or "hasCompletedSetup" or "isNewUser"
If existing onboarding found:
Search for existing user defaults or state tracking:
Grep: "UserDefaults" or "@AppStorage" or "isFirstLaunch"
Determine how to persist quick win completion status (UserDefaults, AppStorage, SwiftData, etc.).
Ask user via AskUserQuestion:
1. **Quick win type?**
2. **Guidance style?**
3. **Celebrate on completion?**
4. **Track as activation metric?**
Read `templates.md` for production Swift code.
Generate these files: 1. `QuickWinTask.swift` — Model for a quick win task and its steps 2. `QuickWinSession.swift` — @Observable session manager: task selection, step tracking, timing, completion
3. `QuickWinGuideView.swift` — Overlay that shows instructions and progress 4. `SpotlightHintView.swift` — Spotlight cutout overlay with callout arrow 5. `QuickWinCelebrationView.swift` — Completion celebration with stats
6. `QuickWinModifier.swift` — ViewModifier that triggers the quick win for new users
Check project structure:
After generation, provide:
QuickWin/ ├── QuickWinTask.swift # Task model with steps ├── QuickWinSession.swift # Session manager (progress, timing) ├── QuickWinGuideView.swift # Step-by-step overlay UI ├── SpotlightHintView.swift # Spotlight cutout with callout ├── QuickWinCelebrationView.swift # Completion celebration └── QuickWinModifier.swift # ViewModifier for root view
**Attach to your root view:**
// In your main ContentView or post-onboarding view
ContentView()
.quickWinSession(task: .createFirstNote)**Define your app's quick win task:**
extension QuickWinTask {
static let createFirstNote = QuickWinTask(
id: "create-first-note",
title: "Create Your First Note",
description: "Let's get started — it only takes a few seconds.",
estimatedSeconds: 30,
steps: [
QuickWinStep(instruction: "Tap the + button to create a new note", actionType: .tap, targetView: "addButton"),
QuickWinStep(instruction: "Type a title for your note", actionType: .input, targetView: "titleField"),
QuickWinStep(instruction: "Tap Done to save", actionType: .tap, targetView: "doneButton")
],
completionCriteria: "firstNoteCreated",
iconName: "note.text.badge.plus"
)
}**With spotlight hints:**
// Mark target views for spotlight
TextField("Title", text: $title)
.quickWinTarget(id: "titleField")
Button("Done") { save() }
.quickWinTarget(id: "doneButton")**Start session programmatically (after existing onboarding):**
struct PostOnboardingView: View {
@State private var session = QuickWinSession()
var body: some View {
MainView()
.onAppear {
if !session.hasCompletedQuickWin {
session.start(task: .createFirstNote)
}
}
.quickWinOverlay(session: session)
}
}@Test func quickW
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
App Store optimization and marketing skills for descriptions, screenshots, keywords, review responses, and comprehensive promotional strategy. Use when user…
Privacy-preserving ad measurement with AdAttributionKit (SKAdNetwork's successor) — install and re-engagement attribution, conversion-value strategy under…
Generate compelling App Store descriptions that convert browsers into users. Use when writing initial descriptions, improving existing copy, or drafting…
Apple Search Ads campaign strategy for indie developers — paid acquisition, keyword bidding, budget planning, and ROAS optimization. Use when user asks about…
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…
Optimize app title, subtitle, and keywords for maximum App Store discoverability. Use when launching a new app, improving search rankings, entering new…