一键导入
feature-flags
Designs feature flag strategy, progressive discovery patterns, and per-feature flag specifications for safe rollouts and organic product learning.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Designs feature flag strategy, progressive discovery patterns, and per-feature flag specifications for safe rollouts and organic product learning.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Interactive setup wizard for Company OS. Configures company.config.yaml, generates .claude/settings.json with tech-stack-specific permissions, and scaffolds directories. Supports three modes — interactive wizard, express config block, or auto-extract from a URL/unstructured text.
Produces RFC/ADR defining system boundaries, modules, data model, and integration points. Use when translating a PRD into technical design, making architectural decisions, or designing new system components.
Produces architecture diagrams, data flow diagrams, ERDs, and system overviews in Mermaid (inline) and Excalidraw JSON (standalone). Use when an RFC, threat model, or documentation needs visual diagrams.
Performs data flow threat analysis with structured mitigations. Use when assessing security threats for new features, architecture changes, or compliance reviews.
Creates platform-specific marketing playbooks for acquisition channels. Use when launching or optimizing a specific growth channel (e.g., LinkedIn, Twitter, email, Product Hunt).
Prepares pre-call briefings, captures post-call debriefs, and routes insights to ICP refinement and PRD evidence. Stores conversation logs as CONV- artifacts in artifacts/decision-memos/.
| name | feature-flags |
| description | Designs feature flag strategy, progressive discovery patterns, and per-feature flag specifications for safe rollouts and organic product learning. |
| user-invokable | false |
Design a comprehensive feature flag strategy that goes beyond simple on/off toggles. This skill produces flag naming conventions, lifecycle management rules, cleanup SLAs, and -- when configured -- progressive discovery patterns that reveal product capabilities based on user maturity. The result is safe rollouts, clean experimentation, and an onboarding experience where users never feel overwhelmed because features appear when they are relevant.
Before designing any flag strategy:
company.config.yaml -- extract:
feature_flags.provider (e.g., LaunchDarkly, Flagsmith, Unleash, custom, config-file)feature_flags.strategy (e.g., release-only, progressive-discovery, full)feature_flags.cleanup_sla_days (e.g., 14, 30, 60)artifacts/growth/ -- extract aha moment mapping and onboarding milestones (these feed into progressive discovery levels)artifacts/rfcs/ -- understand what features are being built and need flag specsstandards/engineering/ -- see if flag conventions already exist (update rather than overwrite)Produce standards/engineering/feature-flag-conventions.md with the following structure:
Format: ff.<domain>.<feature>
Rules:
ff. to distinguish flags from other configuration<domain> is the product area (e.g., billing, onboarding, editor, auth)<feature> is the specific capability (e.g., annual_plans, ai_assist, sso)Examples:
ff.billing.annual_plans
ff.editor.ai_assist
ff.auth.sso_login
ff.onboarding.interactive_tour
ff.dashboard.advanced_analytics
Every flag progresses through a defined lifecycle:
created → testing → rolling_out → fully_enabled → cleanup
| State | Description | Who Owns |
|---|---|---|
created | Flag defined in code and provider, default OFF | Engineer |
testing | Enabled for internal team and staging | Engineer |
rolling_out | Gradual percentage rollout to production users | Engineer + Product |
fully_enabled | 100% of users, monitoring for issues | Product |
cleanup | Flag code removed, feature is permanent | Engineer |
The available flag types depend on the feature_flags.strategy config value:
| Strategy Config | Available Flag Types |
|---|---|
release-only | Release, Ops |
progressive-discovery | Discovery, Ops |
full | Release, Experiment, Ops, Discovery |
Release flag: Temporary. Gates a deployment. Default OFF, rolled out by percentage, removed within cleanup_sla_days of reaching 100%. Use for any new feature deployment.
Experiment flag: Temporary. A/B test variant selector. Default OFF, assigns users to control/treatment groups. Removed after experiment concludes and decision is made. Requires metrics definition before creation.
Ops flag: Semi-permanent. Kill switch or circuit breaker. Default ON (feature active), flipped OFF to disable a misbehaving feature instantly. Reviewed quarterly -- either promote to permanent config or remove.
Discovery flag: Progressive. Reveals features based on user maturity level. Default determined by discovery level (Level 0 = ON for all, Level 1+ = OFF until unlocked). Transitions happen automatically based on trigger conditions. See Step 3 for the progressive discovery pattern.
cleanup_sla_days (from config) of reaching fully_enabledcleanup_sla_days of experiment conclusionFlags older than the cleanup SLA without a cleanup commit are flagged during code review (see code-review skill). Track flag debt with:
LaunchDarkly: Use targeting rules for percentage rollouts. Use segments for discovery levels. Use custom attributes for tenant/user maturity data.
Flagsmith: Use environment-level flags for release. Use segments with trait-based rules for discovery. Use remote config for ops kill switches.
Unleash: Use gradual rollout strategy for release flags. Use custom strategies for discovery level evaluation. Use variants for experiment flags.
Custom (in-house): Implement a flag evaluation service that reads from database/config. Support percentage-based, user-attribute-based, and segment-based evaluation. Cache aggressively with short TTL.
Config-file: Use environment-specific config files (e.g., flags.production.yaml). Suitable for release and ops flags only. Not recommended for experiment or discovery flags (requires deploy to change).
Only applies when feature_flags.strategy is progressive-discovery or full.
Progressive discovery prevents user overwhelm by revealing product capabilities as users demonstrate readiness. Features are classified into levels, and users unlock levels through natural product usage.
| Level | Name | Visibility | Trigger to Unlock |
|---|---|---|---|
| Level 0 | Core | Always visible to all users | None -- these are essential product value |
| Level 1 | Foundations | Unlocked after user completes core flow | Action-based: user completes the "aha moment" action (e.g., first project created, first report generated) |
| Level 2 | Power | Unlocked after proficiency demonstrated | Compound trigger: e.g., 5+ projects created AND 7+ days active AND core feature used 10+ times |
| Level 3 | Expert | Unlocked on request or after sustained engagement | Time + action: e.g., 30+ days active AND advanced action performed, OR user explicitly requests via settings |
Each level transition is governed by one or more trigger conditions:
projects.created >= 1)days_since_signup >= 7)onboarding.completed == true)Progressive discovery levels map directly to the activation-onboarding skill's aha moment flow:
When the activation-onboarding skill defines the aha moment action, that same action becomes the Level 1 unlock trigger for progressive discovery.
For each feature being built (read from the RFC):
Define the flag specification:
| Field | Value |
|---|---|
| Flag name | ff.<domain>.<feature> |
| Flag type | Release / Experiment / Ops / Discovery |
| Default state | ON or OFF (with rationale) |
| Rollout plan | Percentage stages and timeline (e.g., 5% day 1, 25% day 3, 50% day 5, 100% day 7) |
| Cleanup date | Calculated from rollout completion + cleanup_sla_days |
| Discovery level | Level 0 / 1 / 2 / 3 (only if strategy includes discovery) |
Define metrics per flag state:
instrumentation skill for event taxonomy -- flag toggle events should follow the object.action convention (e.g., feature_flag.evaluated, feature_flag.toggled)Define the kill switch (for Ops and Release flags):
Final verification checklist:
cleanup_sla_daysff.<domain>.<feature> convention./tools/artifact/validate.shfeature_flag.evaluated, feature_flag.toggled). Per-flag metrics should follow the instrumentation conventions and integrate into the analytics dashboard.ff.<domain>.<feature> conventioncleanup_sla_days