app-store
App Store optimization and marketing skills for descriptions, screenshots, keywords, review responses, and comprehensive…
Generate feature flag infrastructure with local defaults, remote configuration, SwiftUI integration, and debug menu. Use when adding feature flags or A/B testing to iOS/macOS apps.
Claude Code
$ npx -y skills add rshankras/claude-code-apple-skills --skill feature-flags --agent claude-code
Codex
$ npx skills add rshankras/claude-code-apple-skills --skill feature-flags -a codex -y
Cursor
$ npx skills add rshankras/claude-code-apple-skills --skill feature-flags -a cursor -y
Gemini CLI
$ npx skills add rshankras/claude-code-apple-skills --skill feature-flags -a gemini-cli -y
GitHub Copilot
$ npx skills add rshankras/claude-code-apple-skills --skill feature-flags -a github-copilot -y
OpenCode
$ npx skills add rshankras/claude-code-apple-skills --skill feature-flags -a opencode -y
Windsurf
$ npx skills add rshankras/claude-code-apple-skills --skill feature-flags -a windsurf -y
name: feature-flags description: Generate feature flag infrastructure with local defaults, remote configuration, SwiftUI integration, and debug menu. Use when adding feature flags or A/B testing to iOS/macOS apps. allowed-tools: [Read, Write, Edit, Glob, Grep, Bash, AskUserQuestion] last_verified: 2026-11-08 review_by: 2027-06-22 os_version: iOS 27 / macOS 27
Generate a complete feature flag infrastructure with typed flag definitions, protocol-based providers (local, remote, composite), SwiftUI environment integration, an `@Observable` manager, and a debug menu for toggling flags at runtime.
Use this skill when the user:
Search for existing feature flag code:
Glob: **/*FeatureFlag*.swift, **/*FeatureToggle*.swift, **/*RemoteConfig*.swift Grep: "FeatureFlag" or "FeatureToggle" or "RemoteConfig" or "isFeatureEnabled"
If existing feature flag code is found:
If a third-party SDK (Firebase, LaunchDarkly, etc.) is detected:
**Feature flags require:**
Ask user via AskUserQuestion:
1. **What features do you want to flag?** (freeform)
2. **What flag value types do you need?**
3. **What provider architecture?**
4. **Include debug menu?**
5. **Include SwiftUI environment integration?**
Check project structure:
Generate these files based on configuration answers:
1. **`FeatureFlag.swift`** -- Flag enum with typed default values 2. **`FeatureFlagService.swift`** -- Protocol defining provider interface 3. **`LocalFeatureFlagProvider.swift`** -- UserDefaults-based provider with debug overrides 4. **`RemoteFeatureFlagProvider.swift`** -- URL-based provider with disk caching (if remote or composite) 5. **`CompositeFeatureFlagProvider.swift`** -- Combines local + remote; remote overrides local (if composite) 6. **`FeatureFlagManager.swift`** -- @Observable manager for SwiftUI 7. **`FeatureFlagEnvironmentKey.swift`** -- SwiftUI Environment integration (if requested) 8. **`FeatureFlagDebugView.swift`** -- Debug toggle view (if requested)
Use the templates in **templates.md** and customize based on user answers:
After generation, provide:
Sources/FeatureFlags/ ├── FeatureFlag.swift # Flag enum with typed defaults ├── FeatureFlagService.swift # Provider protocol ├── LocalFeatureFlagProvider.swift # UserDefaults-based provider ├── RemoteFeatureFlagProvider.swift # URL-based provider (if remote/composite) ├── CompositeFeatureFlagProvider.swift # Local + remote combiner (if composite) ├── FeatureFlagManager.swift # @Observable manager for SwiftUI ├── FeatureFlagEnvironmentKey.swift # SwiftUI Environment key (if requested) └── FeatureFlagDebugView.swift # Debug toggle menu (if requested)
**1. Initialize the manager in your App struct or entry point:**
import SwiftUI
@main
struct MyApp: App {
@State private var featureFlagManager: FeatureFlagManager
init() {
// Local only
let provider = LocalFeatureFlagProvider()
// Or composite (remote overrides local)
// let provider = CompositeFeatureFlagProvider(
// local: LocalFeatureFlagProvider(),
// remote: RemoteFeatureFlagProvider(
// endpoint: URL(string: "https://api.example.com/flags")!
// )
// )
_featureFlagManager = State(initialValue: FeatureFlaA 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.
App Store optimization and marketing skills for descriptions, screenshots, keywords, review responses, and comprehensive…
Privacy-preserving ad measurement with AdAttributionKit (SKAdNetwork's successor) — install and re-engagement attribution,…
Generate compelling App Store descriptions that convert browsers into users. Use when writing initial descriptions, improving…
Apple Search Ads campaign strategy for indie developers — paid acquisition, keyword bidding, budget planning, and ROAS…
Take a one-time in-app purchase from MISSING_METADATA to READY_TO_SUBMIT in App Store Connect — set its price schedule and…
Optimize app title, subtitle, and keywords for maximum App Store discoverability. Use when launching a new app, improving search…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.