About feature-flags-ios
feature-flags-ios is a skill for adding PostHog feature flags to iOS applications. It provides iOS-specific setup guidance, including Xcode environment configuration and Swift Package Manager project changes.
Key features
- 01为 iOS 应用集成 PostHog 功能标志
- 02从 Xcode 运行环境读取配置
- 03指导 SPM 项目依赖配置
- 04检查 posthog-ios 最新版本
- 05按需启用 App Sandbox 网络访问
Use cases
- 01为 iOS 应用添加功能标志检查
- 02在 Xcode 中配置 PostHog 环境变量
- 03将 posthog-ios 添加到 SPM 项目
MCP support
该技能会检查是否连接了 PostHog MCP 服务,并可使用其工具创建、列出、更新或删除功能标志。
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ posthog/ skills --skill feature-flags-iosAfter installing, type/feature-flags-iosin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/adding-feature-flag-code.mdbest-practices.mdios.mdDetails
From the project READMEPostHog feature flags for iOS
This skill helps you add PostHog feature flags to iOS applications.
Reference files
references/ios.md- Ios feature flags installation - docsreferences/adding-feature-flag-code.md- Adding feature flag code - docsreferences/best-practices.md- Feature flag best practices - docs
Consult the documentation for API details and framework-specific patterns.
Key principles
- Environment variables: Always use environment variables for PostHog keys. Never hardcode them.
- Minimal changes: Add feature flag code alongside existing logic. Don't replace or restructure existing code.
- Boolean flags first: Default to boolean flag checks unless the user specifically asks for multivariate flags.
- Server-side when possible: Prefer server-side flag evaluation to avoid UI flicker.
PostHog MCP tools
Check if a PostHog MCP server is connected. If available, look for tools related to feature flag management (creating, listing, updating, deleting flags). Use these tools to manage flags directly in PostHog rather than requiring the user to do it manually in the dashboard.
Framework guidelines
- Read configuration from environment variables via a
PostHogEnvenum with avaluecomputed property that callsProcessInfo.processInfo.environment[rawValue]andfatalErrors if missing — cases should beprojectToken = "POSTHOG_PROJECT_TOKEN"andhost = "POSTHOG_HOST", set in the Xcode scheme's Run environment variables - When adding SPM dependencies to project.pbxproj, create three distinct objects with unique UUIDs — a
PBXBuildFile(withproductRef), anXCSwiftPackageProductDependency(withpackageandproductName), and anXCRemoteSwiftPackageReference(withrepositoryURLandrequirement). The build file goes in the Frameworks phasefiles, the product dependency goes in the target'spackageProductDependencies, and the package reference goes in the project'spackageReferences. - Check the latest release version of posthog-ios at
https://github.com/PostHog/posthog-ios/releasesbefore setting theminimumVersionin the SPM package reference — do not hardcode a stale version - If the project uses App Sandbox (macOS), add
ENABLE_OUTGOING_NETWORK_CONNECTIONS = YESto the target's build settings so PostHog can reach its servers — do NOT disable the sandbox entirely