mcpField
O
omnibus-instrument-feature-flags

omnibus-instrument-feature-flags

github.com/posthog开发7699 次安装今天更新
代码仓库

关于 omnibus-instrument-feature-flags

用于在应用中添加 PostHog 功能标志,或配置其 SDK 的编码技能。它会识别项目技术栈、参考对应平台文档,并指导标志设置、发布规划和最小化代码改动。

主要功能

  1. 01识别语言和框架
  2. 02查阅平台专属 SDK 文档
  3. 03通过 PostHog MCP 查找或创建标志
  4. 04规划发布和定向条件
  5. 05使用环境变量添加最小化标志检查

适用场景

  1. 01控制新实现功能的启用
  2. 02在审查拉取请求时添加标志
  3. 03为尚未安装 SDK 的项目配置 PostHog

MCP 相关

连接 PostHog MCP 服务时,技能会使用其工具查找或创建功能标志。它也可使用 env-file-tools MCP 服务检查和设置环境变量。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/posthog/skills --skill omnibus-instrument-feature-flags

安装后在 Claude Code 中输入/omnibus-instrument-feature-flags确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
adding-feature-flag-code.md
android.md
api.md
best-practices.md
dotnet.md
elixir.md
flutter.md
go.md
ios.md
java.md
next-js.md
nodejs.md
php.md
python.md
react-native.md
react.md
ruby.md
rust.md
web.md

详细介绍

添加 PostHog 功能标记

使用此技能添加 PostHog 功能标记,以控制新功能或变更功能的启用。在实现功能或审查 PR 后使用此技能,确保通过功能标记安全地逐步发布。如果尚未安装 PostHog,此技能也涵盖 SDK 的初始设置。支持任何平台或语言。

支持的平台:React、Next.js、React Native、Web(JavaScript)、Node.js、Python、PHP、Ruby、Go、Java、Rust、.NET、Elixir、Android、iOS、Flutter 和 REST API。

说明

按顺序执行以下步骤:

第 1 步:分析代码库并检测平台。

  • 查看依赖文件(package.json、requirements.txt、go.mod、Gemfile、composer.json 等),以确定语言和框架。
  • 查看锁定文件(pnpm-lock.yaml、package-lock.json、yarn.lock、bun.lockb),以确定包管理器。
  • 检查是否已配置 PostHog(SDK 初始化、环境变量等)。如果已安装并初始化 PostHog,请跳至第 3 步。

第 2 步:研究埋点。(如果已配置 PostHog,请跳过。) 2.1. 查找下方与检测到的平台相匹配的参考文件——该文件是 SDK 初始化、标记评估方法和特定框架模式的权威来源。现在阅读该文件。 2.2. 如果没有匹配的参考文件,请使用已有知识并进行网络搜索。优先搜索 posthog.com/docs。

第 3 步:创建或查找功能标记。

  • 检查是否已连接 PostHog MCP 服务。如果可用,请使用其工具搜索用户希望埋点的现有功能标记,或创建新的标记。
  • 如果没有可用的 MCP 服务,请指示用户在 PostHog 控制面板中创建标记。

第 4 步:规划发布条件。

  • 确定发布策略(按百分比发布、按用户定位、按群组定位等)。
  • 规划如何在代码中通过功能标记控制新功能。

第 5 步:为功能添加埋点。

  • 按照特定平台的参考模式添加功能标记代码。
  • 尽可能使用服务端评估,以避免 UI 闪烁。
  • 不要改变现有文件的基本架构。尽量只做必要且针对性强的增补。
  • 尝试写入文件前,必须立即读取该文件。

第 6 步:设置环境变量。

  • 如果已连接 env-file-tools MCP 服务,请使用 check_env_keys 查看已有密钥,然后使用 set_env_values 创建或更新 PostHog API 密钥和主机地址。
  • 在代码中引用这些环境变量,而不要硬编码。

参考文件

  • references/react.md - React 功能标志安装 - 文档
  • references/react-native.md - React Native 功能标志安装 - 文档
  • references/web.md - Web 功能标志安装 - 文档
  • references/nodejs.md - Node.js 功能标志安装 - 文档
  • references/python.md - Python 功能标志安装 - 文档
  • references/php.md - Php 功能标志安装 - 文档
  • references/ruby.md - Ruby 功能标志安装 - 文档
  • references/go.md - Go 功能标志安装 - 文档
  • references/java.md - Java 功能标志安装 - 文档
  • references/rust.md - Rust 功能标志安装 - 文档
  • references/dotnet.md - .net 功能标志安装 - 文档
  • references/elixir.md - Elixir 功能标志安装 - 文档
  • references/android.md - Android 功能标志安装 - 文档
  • references/ios.md - Ios 功能标志安装 - 文档
  • references/flutter.md - Flutter 功能标志安装 - 文档
  • references/api.md - API 功能标志安装 - 文档
  • references/next-js.md - Next.js - 文档
  • references/adding-feature-flag-code.md - 添加功能标志代码 - 文档
  • references/best-practices.md - 功能标志最佳实践 - 文档

每个平台参考文件都包含特定于 SDK 的安装、标志评估和代码示例。请查找与用户技术栈匹配的文件。如果未列出,请使用 API 参考作为后备。

关键原则

  • 环境变量:始终使用环境变量存储 PostHog 密钥。切勿将其硬编码。
  • 最小改动:在现有逻辑旁添加功能标志代码。不要替换或重构现有代码。
  • 优先使用布尔标志:除非用户明确要求多变量标志,否则默认进行布尔标志检查。
  • 尽可能在服务端执行:优先在服务端评估标志,以避免 UI 闪烁。

评论

支持 Markdown