Agent skill

Warp Feature Flag Setup

by warpdotdev in warpdotdev/warp

Adds a compile-time feature flag to the Warp codebase, wiring Cargo features, the FeatureFlag enum and runtime checks so a change can be gated by channel.

AGPL-3.0Auto-check passedDevelopment

Install Warp Feature Flag Setup

skills CLI
$ npx skills add warpdotdev/warp --skill add-feature-flag -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install warpdotdev/warp add-feature-flag --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/warpdotdev/warp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/add-feature-flag .claude/skills/add-feature-flag && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
add-feature-flag
GitHub stars
65k
Used in
1 other repo
Token cost
~874 tokens
SKILL.md length
359 words
Files
1
Skills in repo
46
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Adds a compile-time feature flag to the Warp codebase, wiring Cargo features, the FeatureFlag enum and runtime checks so a change can be gated by channel.

  • Works in 6 steps: Add to Cargo.toml → Add to FeatureFlag enum → Add conditional compilation directive → …
  • Hiding a new Warp feature behind a flag until it is ready
  • SKILL.md covers Overview, TUI note, Steps and Keybindings with Feature Flags, plus 2 more sections
  • Calls cargo

What it does

Warp feature flags are compile-time switches that let a feature ship on some channels, such as Dev or Stable, and stay off on others, with a small runtime layer that checks whether a flag is on. The skill walks through adding the feature to `app/Cargo.toml` outside the `default` stanza, a variant in the `FeatureFlag` enum in `warp_core/src/features.rs`, and a matching `cfg(feature)` attribute entry in `app/src/lib.rs`.

Code is then gated with the flag's `is_enabled()` check. A flag can be added to the `DOGFOOD_FLAGS` array to turn it on for Dev builds, and `cargo run --features` with the feature name tests it locally. The enum and runtime check are shared by the desktop app and the headless TUI in `crates/warp_tui`, so runtime checks are preferred over per-binary wiring; the TUI is tested with `./script/run-tui`. Keybindings that belong to a gated feature need an enabled predicate that checks the flag.

When your agent uses it

  • Hiding a new Warp feature behind a flag until it is ready
  • Enabling an in-progress feature only for Dev or dogfood builds
  • Gating a keybinding that belongs to an unreleased feature

Example prompts

  • “Add a feature flag for the new block sharing panel and gate the panel code with it.”
  • “Turn this flag on by default for dogfood builds.”
  • “Make sure the keybinding for the new action only shows up when the flag is enabled.”
  • “How do I run Warp locally with my new feature enabled?”

Requirements

  • A checkout of the Warp repository
  • A Rust toolchain with cargo

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Add to Cargo.toml
  2. Add to FeatureFlag enum
  3. Add conditional compilation directive
  4. Gate code with runtime checks
  5. (Optional) Enable for dogfood builds
  6. Running with feature flags

What it can do on your machine

Read from SKILL.md and the folder at commit 325d4d4. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • cargo

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Warp Feature Flag Setup loads about 874 tokens when it runs. Until then it costs about 21 tokens; SKILL.md has 359 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~21
When it runs · the whole SKILL.md, loaded when a task matches
~874

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from warpdotdev/warp at commit 325d4d4, republished under its AGPL-3.0 licence (© warpdotdev). 359 words, ~874 tokens.

Download SKILL.mdSave it as .claude/skills/add-feature-flag/SKILL.md (or your agent's skills folder).
name
add-feature-flag
description
Add a new feature flag to gate code changes in the Warp codebase.

add-feature-flag

Add a new feature flag to gate code changes in the Warp codebase.

Overview

Feature flags in Warp are compile-time flags that allow features to be selectively enabled for different channels (e.g.: Dev, Stable). They use a small runtime plumbing layer that checks if a flag is enabled.

TUI note

The FeatureFlag enum (warp_core/src/features.rs) and the runtime FeatureFlag::X.is_enabled() check are SHARED by both front-ends: the GUI desktop app (app/) and the headless TUI (crates/warp_tui). The Cargo-feature steps in this skill (app/Cargo.toml, app/src/lib.rs) are GUI-app-specific. Prefer runtime is_enabled() checks so a flag works in both front-ends with no per-binary wiring. Only if you truly need a compile-time Cargo feature in the TUI, wire it into crates/warp_tui/Cargo.toml as well. Test the TUI with ./script/run-tui.

Steps

1. Add to Cargo.toml

Add the feature to app/Cargo.toml under the [features] section, but NOT under the default nested stanza:

toml
[features]
your_feature_name = []
2. Add to FeatureFlag enum

Add a new variant to the FeatureFlag enum in warp_core/src/features.rs:

rust
#[derive(Sequence)]
pub enum FeatureFlag {
    YourFeatureName,
}
3. Add conditional compilation directive

Add the feature to app/src/lib.rs with a corresponding #[cfg(feature = "...")] attribute to ensure it's only included when enabled:

rust
#[cfg(feature = "your_feature_name")]
YourFeatureName,
4. Gate code with runtime checks

In your code, use the runtime check to conditionally execute feature-gated code:

rust
if FeatureFlag::YourFeatureName.is_enabled() {
    // feature-gated behavior
}
5. (Optional) Enable for dogfood builds

To enable the feature by default for Dev/dogfood builds, add it to the DOGFOOD_FLAGS array in features.rs:

rust
pub const DOGFOOD_FLAGS: &[FeatureFlag] = &[
    FeatureFlag::YourFeatureName,
];
Show full SKILL.md (137 more words)Show less
6. Running with feature flags

To test locally with the feature enabled:

bash
cargo run --features your_feature_name

# Multiple features:
cargo run --features your_feature_name,another_feature

Keybindings with Feature Flags

If adding an EditableBinding or FixedBinding that's part of a gated feature, include an enabled predicate that checks the feature flag. This prevents the keybinding from appearing in keyboard settings when the feature is disabled.

Example:

rust
EditableBinding::new(
    "action:name",
    "Action description",
    YourAction::Variant
)
.with_enabled(|| FeatureFlag::YourFeatureName.is_enabled())
.with_key_binding("cmdorctrl-key")

Rolling Out to Stable

When ready to enable the feature for all Warp Stable users, add it to the default array in app/Cargo.toml:

toml
[features]
default = [
    "your_feature_name",
    # other default features...
]

Best Practices

  • Prefer runtime checks over cfg directives: Use FeatureFlag::YourFeatureName.is_enabled() instead of #[cfg(...)] when possible, so flags can be toggled without recompilation and are easier to clean up later
  • Use #[cfg(...)] only when code cannot compile without the flag (e.g., platform-specific code or missing dependencies)
  • Keep flags high-level and product-focused rather than per-call-site
  • Remove flags and dead branches after launch has stabilized

© warpdotdev, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/add-feature-flag of warpdotdev/warp.

Open the folder on GitHubat commit 325d4d4

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in warpdotdev/warp, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Warp Feature Flag Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Warp Feature Flag Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Warp Feature Flag Setup this skillwarpdotdev/warp65k1 repos~874Automated safety check: PassAGPL-3.0
Create Release Checklistsoftware-mansion/smelter732—~1.9kAutomated safety check: NotesCustom licence
Upgrade Dear Imgui StackLatias94/dear-imgui-rs107—~977Automated safety check: PassApache-2.0
Release Managerfinos/morphir213—~3.2kAutomated safety check: PassApache-2.0
Migrate Core Code to Submodulestinyhumansai/openhuman42k—~2.6kAutomated safety check: PassGPL-3.0
Rust Best Practicesfarm-fe/farm5.6k3 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Create Release Checklist

    software-mansion/smelter

    Generate a GitHub release-checklist issue for a full (non-RC) release of the Smelter server and/or the TypeScript SDK.

    732 GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check: notes
  • Upgrade Dear Imgui Stack

    Latias94/dear-imgui-rs

    A skill your agent uses when a user asks to upgrade Dear ImGui, cimgui, ImPlot, ImPlot3D, ImNodes, ImGuizmo, Dear ImGui Test Engine, or related bindings in this repository.

    107 GitHub stars~977 tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Release Manager

    finos/morphir

    Assists with Morphir CLI release management for finos/morphir, including pre-release verification, extension verification, version bumps, tagging, and release coordination.

    213 GitHub stars~3.2k tokensUpdated today
    Product & Project ManagementAuto-check passed
  • Migrate Core Code to Submodules

    tinyhumansai/openhuman

    Plans and carries out moving non-host-specific code and its tests from the OpenHuman core into vendored tiny submodule libraries, then releases the submodule and re-pins the host.

    42k GitHub stars~2.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Guide for writing idiomatic Rust code based on Apollo GraphQL's best practices handbook.

    5.6k GitHub starsUsed in 3 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Decides whether an OpenLogi device problem on macOS is a privacy-permission (TCC) problem, using agent log lines, and says which identity needs which grant.

    23k GitHub stars~2.5k tokensUpdated 4 days ago
    DevelopmentAuto-check: notes

More from warpdotdev/warp

All 46 skills in this repo
  • Builds or updates a design system in Figma from a codebase in ordered phases: discovery, variables and tokens, components, theming and documentation, with checkpoints.

    65k GitHub starsUsed in 2 repos~4.4k tokens
    Auto-check passed
  • Required groundwork before any use_figma call: the rules and reference files for running JavaScript in a Figma file through the Plugin API without common failures.

    65k GitHub starsUsed in 4 repos~4.4k tokens
    Auto-check passed
  • Warp Factory Files

    warpdotdev/warp

    Authors and edits file-based Warp software factory definitions rooted at factory.yaml, covering agents, automations, scorers and webhooks, and validates them before a pull request.

    65k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Figma Design to Code

    warpdotdev/warp

    Turns a Figma frame or component into production code that matches the design, using the Figma MCP server and the project's own design system.

    65k GitHub starsUsed in 4 repos~2.9k tokens
    Auto-check passed
  • Migrates the compatible subset of settings and global file-based MCP servers from the Warp desktop app into Warp Agent CLI without exposing credentials or state.

    65k GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed
  • Creates project-specific design system rules from your codebase so coding agents implement Figma designs with your components, naming and tokens.

    65k GitHub starsUsed in 3 repos~4.6k tokens
    Auto-check passed

Works with

Categories

Questions about Warp Feature Flag Setup

What does Warp Feature Flag Setup do?

Adds a compile-time feature flag to the Warp codebase, wiring Cargo features, the FeatureFlag enum and runtime checks so a change can be gated by channel. Warp feature flags are compile-time switches that let a feature ship on some channels, such as Dev or Stable, and stay off on others, with a small runtime layer that checks whether a flag is on.rs`.

When should I use Warp Feature Flag Setup?

Warp Feature Flag Setup fits situations like: hiding a new Warp feature behind a flag until it is ready; enabling an in-progress feature only for Dev or dogfood builds; gating a keybinding that belongs to an unreleased feature.

How do I install Warp Feature Flag Setup in Claude Code?

Run `npx skills add warpdotdev/warp --skill add-feature-flag -a claude-code`. Or copy the skill folder (.agents/skills/add-feature-flag in warpdotdev/warp) into .claude/skills/add-feature-flag in your project. Claude Code loads it when a task matches its description.

How do I install Warp Feature Flag Setup in Codex?

Run `npx skills add warpdotdev/warp --skill add-feature-flag -a codex`. Or copy the skill folder (.agents/skills/add-feature-flag in warpdotdev/warp) into .agents/skills/add-feature-flag in your project. Codex loads it when a task matches its description.

Can I use Warp Feature Flag Setup in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add warpdotdev/warp --skill add-feature-flag -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-feature-flag, .gemini/skills/add-feature-flag, .github/skills/add-feature-flag and .opencode/skills/add-feature-flag in your project.

What does Warp Feature Flag Setup need to run?

Going by SKILL.md and its folder, Warp Feature Flag Setup needs the command-line tools its instructions call (cargo). Our summary lists: A checkout of the Warp repository; A Rust toolchain with cargo.

Does Warp Feature Flag Setup access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Warp Feature Flag Setup safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Warp Feature Flag Setup use?

Warp Feature Flag Setup is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Warp Feature Flag Setup use?

About 874 tokens (SKILL.md is roughly 3.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Warp Feature Flag Setup?

Skills that share tags, products or a category with Warp Feature Flag Setup: Create Release Checklist (software-mansion/smelter, 732 stars), Upgrade Dear Imgui Stack (Latias94/dear-imgui-rs, 107 stars), Release Manager (finos/morphir, 213 stars) and Migrate Core Code to Submodules (tinyhumansai/openhuman, 42k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Warp Feature Flag Setup?

warpdotdev (a GitHub organization) maintains it in warpdotdev/warp, which has 65,395 GitHub stars. The repository holds 46 skills in this directory. The repository was last updated on October 8, 2026.

Source: warpdotdev/warp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.