Communitygithub.com

YepAPI/功能标志技能

用于LaunchDarkly/Flagsmith/Vercel模式、渐进式发布、百分比拆分、A/B切换的技能。

功能标志技能 是什么?

该技能提供了一套全面的功能标志管理实践,适用于LaunchDarkly(企业级)、Flagsmith(开源)以及Vercel Flags(Next.js)等主流平台。其核心规则包括:所有新功能必须通过标志控制,以支持渐进式发布和A/B测试;默认情况下标志应关闭,确保服务不可用时安全降级;标志命名采用kebab-case的规范格式(如`enable-new-checkout`)。在实现模式上,技能提供了Vercel Flags和LaunchDarkly的标准代码示例,强调在服务端评估标志逻辑,仅将结果传递给客户端,避免暴露目标规则。此外,还包含重要的避免事项:不允许无标志发布功能、不允许标志逻辑嵌套、要求全量发布后两周内清理标志债务、以及严格控制客户端侧标志评估。通过该技能,开发者可以系统化地实现功能发布控制、用户分桶测试和渐进式流量切换,提高发布安全性和实验效率。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/YepAPI/skills/tree/HEAD/skills/feature-flags

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

功能标志

规则

  • 使用功能标志进行渐进式发布——先将代码置于标志之后,再逐步启用
  • 标志类型:布尔型(开/关)、百分比型(10%的用户)、用户定位型(特定ID/分段)
  • LaunchDarkly 用于企业级,Flagsmith 用于开源,Vercel Flags 或 @vercel/flags 用于 Next.js
  • 默认在服务端评估标志——仅将标志值传递给客户端,绝不传递评估逻辑
  • 标志命名规范:enable-new-checkout、show-pricing-v2 —— 描述性强,使用 kebab-case
  • 完全发布后清理标志——过时的标志是技术债务;设置过期日期
  • 百分比发布:对用户 ID 进行哈希处理以实现一致的分配——同一用户始终看到相同的变体
  • 新功能默认关闭标志——若标志服务不可用,则安全降级
  • 使用标志进行 A/B 测试:定义变体、跟踪转化事件、测量统计显著性
  • 将标志重写存储在环境变量中,用于本地开发

模式

// Vercel Flags / Next.js 模式
import { flag } from "@vercel/flags/next";

export const showNewCheckout = flag({
  key: "show-new-checkout",
  decide: () => false, // 默认关闭
});

// 在服务端组件中
const enabled = await showNewCheckout();
// LaunchDarkly 模式
import * as ld from "@launchdarkly/node-server-sdk";
const client = ld.init(process.env.LAUNCHDARKLY_SDK_KEY!);

const showFeature = await client.variation("new-checkout", user, false);

避免事项

  • 在无标志的情况下发布功能——每个新功能都应可切换
  • 嵌套标志依赖——保持标志逻辑扁平且独立
  • 在 100% 发布后仍将标志保留在代码中——计划在两周内清理
  • 在客户端评估标志而暴露目标规则——在服务端评估,发送结果

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

YepAPI/skills

WCAG 2.1 AA — semantic HTML, keyboard navigation, screen readers.

YepAPI/skills

Experiment setup, variant splitting, statistical significance, and feature flag integration.

YepAPI/skills

CRUD generators, data tables, user management, role-based access, and bulk operations.

YepAPI/skills

Monitor what ChatGPT and Gemini say about your brand using YepAPI.

YepAPI/skills

Queue workers with BullMQ/Inngest/Trigger.dev, job retries, dead letter queues, concurrency.

YepAPI/skills

Commander.js, interactive prompts with Clack, spinners, colors, config files, exit codes, and npm publishing.

YepAPI/skills

cmdk integration, Cmd+K trigger, fuzzy search, grouped actions, keyboard navigation, and dynamic action registration.

YepAPI/skills

Content planning with trend and sentiment data from YepAPI.

YepAPI/skills

Content calendar, keyword-driven planning, and content briefs.

YepAPI/skills

Theme switching with CSS variables, system preference detection, next-themes, and persistence.

YepAPI/skills

Threaded comments, @mentions, reactions, moderation queue, optimistic UI, and cursor pagination.

YepAPI/skills

Competitive analysis between domains using YepAPI.

YepAPI/skills

Layout grids, KPI cards, data tables with sorting/filtering, sidebar navigation, and responsive breakpoints.

YepAPI/skills

Data encryption — TLS everywhere, AES-256-GCM for PII, bcrypt passwords, encrypted backups.

YepAPI/skills

Chart patterns with Recharts/Nivo/D3, responsive containers, color scales, and accessibility.

YepAPI/skills

Drizzle schema definition, push vs migrate, type-safe queries, relations, transactions, and prepared statements.

YepAPI/skills

Upload handling, resize/compress, CDN delivery, blur placeholders, and next/image patterns.

YepAPI/skills

Local business and Google Maps research using YepAPI.

YepAPI/skills

Cursor-based pagination, IntersectionObserver, virtualized lists with @tanstack/react-virtual, and scroll position restoration.

YepAPI/skills

Chat UI components, streaming responses with AI SDK, context window management, and RAG patterns.

相关技能