← ClaudeAtlas

feature-flaglisted

【功能开关】设计和实现功能开关(Feature Flag)系统,支持灰度发布、A/B测试、动态配置、紧急降级。 触发时机: - 用户要求"功能开关"、"灰度发布"、"Feature Flag" - 需要控制功能的上线节奏 - 需要做 A/B 测试 提供设计方案和代码实现。
afine907/skills · ★ 0 · AI & Automation · score 75
Install: claude install-skill afine907/skills
# Feature Flag — 功能开关技能 设计和实现功能开关系统,支持精细化的功能发布控制。 ## Goal 设计和实现功能开关(Feature Flag)系统,支持灰度发布、A/B测试、动态配置、紧急降级 ## Trigger - 用户要求"功能开关"、"灰度发布"、"Feature Flag" - 需要控制功能的上线节奏 - 需要做 A/B 测试 ## 功能开关类型 | 类型 | 用途 | 生命周期 | |------|------|----------| | 发布开关 | 控制功能发布节奏 | 短期(发布后删除) | | 实验开关 | A/B 测试 | 中期(实验结束删除) | | 运维开关 | 紧急降级 | 长期 | | 权限开关 | 按用户/租户控制 | 长期 | ## 设计方案 ### 数据模型 ```sql CREATE TABLE feature_flags ( id BIGINT PRIMARY KEY AUTO_INCREMENT, key VARCHAR(100) NOT NULL UNIQUE COMMENT '开关标识', name VARCHAR(200) NOT NULL COMMENT '开关名称', description TEXT COMMENT '开关说明', type VARCHAR(20) NOT NULL COMMENT '类型: release/experiment/ops/permission', enabled BOOLEAN NOT NULL DEFAULT FALSE COMMENT '是否启用', rollout_percentage INT DEFAULT 100 COMMENT '灰度比例(0-100)', targeting_rules JSON COMMENT '定向规则', default_value BOOLEAN DEFAULT FALSE COMMENT '默认值', created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, INDEX idx_key (key), INDEX idx_type (type) ); CREATE TABLE feature_flag_evaluations ( id BIGINT PRIMARY KEY AUTO_INCREMENT, flag_key VARCHAR(100) NOT NULL, user_id VARCHAR(100), value BOOLEAN NOT NULL, reason VARCHAR(50) COMMENT '评估原因: default/percentage/targeting/override', eval