Agent skill

Warp Feature Flag Removal

by warpdotdev in warpdotdev/warp

Removes a Warp feature flag once it is stable for everyone, deleting the definition, the Cargo entries and every conditional check.

AGPL-3.0Auto-check passedDevelopment

Install Warp Feature Flag Removal

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

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

GitHub CLI
$ gh skill install warpdotdev/warp remove-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/remove-feature-flag .claude/skills/remove-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
remove-feature-flag
GitHub stars
65k
Used in
1 other repo
Token cost
~1.1k tokens
SKILL.md length
376 words
Files
1
Skills in repo
46
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Removes a Warp feature flag once it is stable for everyone, deleting the definition, the Cargo entries and every conditional check.

  • Works in 8 steps: Remove from app/Cargo.toml → Remove from FeatureFlag enum → Remove from app/src/lib.rs → …
  • A flag has shipped to all users and proved stable
  • SKILL.md covers Overview, When to Remove, Steps and Best Practices, plus 1 more section
  • Calls rg and cargo

What it does

After a flag has been on for all users and has settled in production, keeping it only adds technical debt, so this skill strips out the flag definition and the branches that depend on it. It lists when removal is justified: the feature is in the `default` features of `app/Cargo.toml`, it has been stable for a reasonable time, nobody plans to turn it off or make it configurable, and the team agrees it is permanent.

The steps remove the entry from `[features]` and the `default` array in `app/Cargo.toml`, the variant from the `FeatureFlag` enum in `warp_core/src/features.rs`, the conditional compilation line in `app/src/lib.rs`, and any listing in `DOGFOOD_FLAGS`, `PREVIEW_FLAGS` or `RELEASE_FLAGS`. Runtime `is_enabled()` checks are then collapsed so the new behavior is unconditional, found with ripgrep across `app/`, `warp_core/` and `crates/warp_tui/`, and keybinding predicates that mention the flag are dropped.

When your agent uses it

  • A flag has shipped to all users and proved stable
  • Cleaning up dead else branches left behind by a rolled-out flag
  • Removing a flag's keybinding predicates and Cargo feature entries

Example prompts

  • “The block sharing flag has been on for everyone for months, so remove it.”
  • “Find every place that still checks this feature flag, including the TUI crate, and make the new path unconditional.”
  • “Clean up the leftover Cargo feature and enum variant for the finished feature.”

Requirements

  • A checkout of the Warp repository
  • ripgrep for finding flag usages

Workflow steps

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

  1. Remove from app/Cargo.toml
  2. Remove from FeatureFlag enum
  3. Remove from app/src/lib.rs
  4. Remove from DOGFOOD_FLAGS/PREVIEW_FLAGS/RELEASE_FLAGS
  5. Remove all runtime checks and dead code
  6. Remove keybinding predicates
  7. Clean up dead code branches
  8. Run tests and validation

What it can do on your machine

Read from SKILL.md and the folder at commit f571865. 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:

    • rg
    • 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 Removal loads about 1.1k tokens when it runs. Until then it costs about 27 tokens; SKILL.md has 376 words of instructions outside code blocks.

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

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 f571865, republished under its AGPL-3.0 licence (© warpdotdev). 376 words, ~1,077 tokens.

Download SKILL.mdSave it as .claude/skills/remove-feature-flag/SKILL.md (or your agent's skills folder).
name
remove-feature-flag
description
Remove a feature flag after it has been rolled out and stabilized in the Warp codebase.

remove-feature-flag

Remove a feature flag after it has been rolled out and stabilized in the Warp codebase.

Overview

After a feature flag has been enabled for all users and has stabilized in production, the flag should be removed to reduce technical debt and simplify the codebase. This involves removing the flag definition and all conditional checks.

When to Remove

Remove a feature flag when:

  • The feature has been enabled in default features in app/Cargo.toml
  • The feature has been stable in production for a reasonable period
  • There are no plans to disable the feature or provide configuration options
  • The team agrees the feature is permanent

Steps

1. Remove from app/Cargo.toml

Remove the feature from both the [features] section and the default array:

toml
[features]
default = [
    # Remove "your_feature_name" from here
]

# Remove this line:
# your_feature_name = []
2. Remove from FeatureFlag enum

Remove the variant from the FeatureFlag enum in warp_core/src/features.rs:

rust
#[derive(Sequence)]
pub enum FeatureFlag {
    // Remove YourFeatureName,
}
3. Remove from app/src/lib.rs

Remove the conditional compilation directive:

rust
// Remove these lines:
// #[cfg(feature = "your_feature_name")]
// YourFeatureName,
4. Remove from DOGFOOD_FLAGS/PREVIEW_FLAGS/RELEASE_FLAGS

If the flag was listed in any of these arrays in features.rs, remove it:

rust
pub const DOGFOOD_FLAGS: &[FeatureFlag] = &[
    // Remove FeatureFlag::YourFeatureName,
];
5. Remove all runtime checks and dead code

Find and remove all FeatureFlag::YourFeatureName.is_enabled() checks throughout the codebase:

Before:

rust
if FeatureFlag::YourFeatureName.is_enabled() {
    // new behavior
} else {
    // old behavior (dead code)
}

After:

rust
// new behavior (unconditionally enabled)

Use ripgrep to find all occurrences. The shared FeatureFlag may be used from the headless TUI, so search crates/warp_tui/ (and other non-app/ crates), not just app/ and warp_core/:

bash
rg "YourFeatureName" app/ warp_core/ crates/warp_tui/
6. Remove keybinding predicates

If the feature flag was used in keybinding enabled predicates, remove the predicate:

Before:

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

After:

rust
EditableBinding::new(
    "action:name",
    "Action description",
    YourAction::Variant
)
.with_key_binding("cmdorctrl-key")
Show full SKILL.md (148 more words)Show less
7. Clean up dead code branches

Remove any code paths that were only executed when the feature was disabled (the else branches in feature checks). These are now dead code.

8. Run tests and validation

After removing the flag:

bash
# Run affected tests first
cargo nextest run -p <affected-package>

# Then run the applicable Clippy check
cargo clippy -p <affected-package> --all-targets --tests -- -D warnings

# Format once after the code is settled
./script/format

Add affected packages or test filters when the flag crosses package boundaries.

Do not run the full workspace suite, launch the GUI or TUI, rerun earlier checks after formatting, or add ./script/presubmit unless the user, task, or approved spec explicitly requires it.

CI owns broader platform and workspace coverage.

Best Practices

  • Remove feature flags promptly after they're no longer needed to reduce technical debt
  • When removing a flag, remove ALL related code (checks, dead branches, keybinding predicates)
  • Use grep/ripgrep to ensure you've found all occurrences
  • Test the affected behavior after removal to ensure no regressions
  • Consider doing flag removal in a separate PR for easier review

Example Search Commands

bash
# Find all occurrences of the flag name (include the TUI and other non-app crates)
rg "YourFeatureName" app/ warp_core/ crates/warp_tui/

# Find feature flag checks
rg "FeatureFlag::YourFeatureName" app/ crates/warp_tui/

# Find cfg attributes
rg 'cfg\(feature = "your_feature_name"\)' app/

© 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/remove-feature-flag of warpdotdev/warp.

Open the folder on GitHubat commit f571865

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 Removal 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 Removal compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Warp Feature Flag Removal this skillwarpdotdev/warp65k1 repos~1.1kAutomated safety check: PassAGPL-3.0
Rust Hygiene Audittsz-org/tsz572—~1.5kAutomated safety check: PassApache-2.0
Code RefinerMathews-Tom/armory327—~3.1kAutomated safety check: PassMIT
Migrate Core Code to Submodulestinyhumansai/openhuman41k—~2.6kAutomated safety check: PassGPL-3.0
Systematic Code Refactoringluongnv89/claude-howto42k—~3kAutomated safety check: PassMIT
Rust Best Practicesfarm-fe/farm5.6k3 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Run a deep DRY + code-hygiene audit of the Rust workspace and turn the findings into verified, deduplicated, hierarchical GitHub tech-debt issues.

    572 GitHub stars~1.5k tokensUpdated 27 days ago
    DevelopmentAuto-check passed
  • Code Refiner

    Mathews-Tom/armory

    Deep code simplification and refactoring preserving behavior across Python, Go, TypeScript, Rust.

    327 GitHub stars~3.1k tokensUpdated yesterday
    DevelopmentAuto-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.

    41k GitHub stars~2.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Systematic Code Refactoring

    luongnv89/claude-howto

    Guides refactoring in phases based on Martin Fowler's method: research, test coverage check, planning and small tested steps, with your approval at each phase.

    42k GitHub stars~3k tokensUpdated 7 days ago
    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
  • Describes seven Rust design patterns for the RTK CLI filter modules, with when to use each, RTK examples, and notes on when a pattern is overkill.

    83k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed

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 Removal

What does Warp Feature Flag Removal do?

Removes a Warp feature flag once it is stable for everyone, deleting the definition, the Cargo entries and every conditional check. After a flag has been on for all users and has settled in production, keeping it only adds technical debt, so this skill strips out the flag definition and the branches that depend on it.toml`, it has been stable for a reasonable time, nobody plans to turn it off or make it configurable, and the team agrees it is permanent.

When should I use Warp Feature Flag Removal?

Warp Feature Flag Removal fits situations like: A flag has shipped to all users and proved stable; cleaning up dead else branches left behind by a rolled-out flag; removing a flag's keybinding predicates and Cargo feature entries.

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

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

How do I install Warp Feature Flag Removal in Codex?

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

Can I use Warp Feature Flag Removal 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 remove-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/remove-feature-flag, .gemini/skills/remove-feature-flag, .github/skills/remove-feature-flag and .opencode/skills/remove-feature-flag in your project.

What does Warp Feature Flag Removal need to run?

Going by SKILL.md and its folder, Warp Feature Flag Removal needs the command-line tools its instructions call (rg and cargo). Our summary lists: A checkout of the Warp repository; ripgrep for finding flag usages.

Does Warp Feature Flag Removal 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 Removal 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 Removal use?

Warp Feature Flag Removal 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 Removal use?

About 1.1k tokens (SKILL.md is roughly 4.3k 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 Removal?

Skills that share tags, products or a category with Warp Feature Flag Removal: Rust Hygiene Audit (tsz-org/tsz, 572 stars), Code Refiner (Mathews-Tom/armory, 327 stars), Migrate Core Code to Submodules (tinyhumansai/openhuman, 41k stars) and Systematic Code Refactoring (luongnv89/claude-howto, 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 Removal?

warpdotdev (a GitHub organization) maintains it in warpdotdev/warp, which has 65,380 GitHub stars. The repository holds 46 skills in this directory. The repository was last updated on October 7, 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.