Agent skill

Warp Feature Flag Promotion

by warpdotdev in warpdotdev/warp

Walks through promoting a feature-flagged Warp feature to Dogfood, Preview or Stable, including the compile-time bridge and a safe delay before flag cleanup.

AGPL-3.0Auto-check passedDevelopment

Install Warp Feature Flag Promotion

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

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

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

At a glance

Walks through promoting a feature-flagged Warp feature to Dogfood, Preview or Stable, including the compile-time bridge and a safe delay before flag cleanup.

  • Works in 3 steps: app/Cargo.toml — add to default → app/src/lib.rs — add to… → warp_core/src/features.rs — remove from…
  • Rolling a feature flag out to dogfood users
  • SKILL.md covers Overview, TUI note, Promote to Dogfood and Promote to Preview, plus 1 more section
  • Calls cargo

What it does

Warp feature flags work in two layers. At runtime, per-channel arrays named DOGFOOD_FLAGS, PREVIEW_FLAGS and RELEASE_FLAGS control what each channel enables at startup; at compile time, Cargo features in app/Cargo.toml are bridged to flag variants by enabled_features() in app/src/lib.rs. Promotion to Dogfood is just adding the flag to its array. Preview means adding it to the Preview array and removing it from Dogfood, since Preview flags already flow into Dogfood builds.

Promotion to Stable touches three files, with the main step being to add the snake_case feature name to the default list in app/Cargo.toml, which compiles it into all builds and makes rollback a one-line change. The flag should stay for at least one or two release cycles before cleanup, which the separate remove-feature-flag skill handles later. A note explains that the runtime arrays also drive the headless TUI, while the compile-time bridge applies only to the GUI app.

When your agent uses it

  • Rolling a feature flag out to dogfood users
  • Moving a flagged feature to Preview or Stable
  • Planning safe cleanup of a flag after a Stable release

Example prompts

  • “Promote the cloud-mode feature flag to Preview.”
  • “Make the new tab-configs feature available in Stable and keep the flag so we can roll back.”
  • “Add the flag to dogfood and tell me which files change.”

Requirements

  • A checkout of the Warp repository

Workflow steps

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

  1. app/Cargo.toml — add to default
  2. app/src/lib.rs — add to enabled_features() bridge
  3. warp_core/src/features.rs — remove from PREVIEW_FLAGS / DOGFOOD_FLAGS

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:

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

Always · name and description, kept in context so the agent knows when to use it
~68
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). 379 words, ~1,097 tokens.

Download SKILL.mdSave it as .claude/skills/promote-feature/SKILL.md (or your agent's skills folder).
name
promote-feature
description
Promote a feature-flagged feature to Dogfood, Preview, or Stable in the Warp codebase. Use when a feature behind a FeatureFlag is ready to roll out to a broader audience, including wiring up the compile-time/runtime bridge and deferring flag cleanup safely.

promote-feature

Guides the staged promotion of a gated FeatureFlag variant to Dogfood, Preview, or Stable, and schedules the follow-up cleanup.

Overview

Feature flags have two interacting layers:

  • Runtime (warp_core/src/features.rs): DOGFOOD_FLAGS, PREVIEW_FLAGS, RELEASE_FLAGS — enabled per-channel at startup.
  • Compile-time (app/Cargo.toml + app/src/lib.rs): Cargo features in [features]. The default = [...] array enables a feature for all builds. enabled_features() in app/src/lib.rs bridges each Cargo feature to its FeatureFlag variant via #[cfg(feature = "...")].

Do not remove the flag immediately after promoting to Stable. Keep it for at least 1–2 release cycles so a rollback is a one-line PR (remove the entry from default). Use the remove-feature-flag skill for the cleanup step later.

TUI note

The per-channel arrays in warp_core/src/features.rs (DOGFOOD_FLAGS/PREVIEW_FLAGS/RELEASE_FLAGS) are shared and drive both the GUI desktop app (app/) and the headless TUI (crates/warp_tui) at runtime. The app/Cargo.toml default + app/src/lib.rs enabled_features() compile-time bridge is GUI-app-only. If a promoted feature should also reach the TUI, make sure it is enabled at runtime for the target channel (the shared arrays already do this) and, if the feature relies on a compile-time Cargo feature, that the TUI binary (crates/warp_tui/Cargo.toml) enables it too.

Promote to Dogfood

Add the flag to DOGFOOD_FLAGS in warp_core/src/features.rs:

rust
pub const DOGFOOD_FLAGS: &[FeatureFlag] = &[
    // ...
    FeatureFlag::YourFeature,
];

No other file changes needed.

Promote to Preview

  1. Add to PREVIEW_FLAGS in warp_core/src/features.rs.
  2. Remove from DOGFOOD_FLAGS if present — Preview flags are automatically included in Dogfood builds.
rust
pub const PREVIEW_FLAGS: &[FeatureFlag] = &[
    // ...
    FeatureFlag::YourFeature,
];

Promote to Stable

This requires changes in three files.

Show full SKILL.md (150 more words)Show less
1. app/Cargo.toml — add to default

Add the snake_case feature name to the default = [...] array:

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

Prefer this over adding to RELEASE_FLAGS (see comment at warp_core/src/features.rs:787-790). It compiles the feature into all builds and enables a one-line rollback.

2. app/src/lib.rs — add to enabled_features() bridge

Add a #[cfg(...)] entry inside the flags.extend([...]) block in enabled_features(), following the existing pattern:

rust
#[cfg(feature = "your_feature_name")]
FeatureFlag::YourFeature,

Place it near logically related entries.

3. warp_core/src/features.rs — remove from PREVIEW_FLAGS / DOGFOOD_FLAGS

Remove the variant from whichever arrays it currently lives in:

rust
pub const PREVIEW_FLAGS: &[FeatureFlag] = &[
    // Remove FeatureFlag::YourFeature,
];
Validate
bash
cargo clippy -p warp_core --all-targets --tests -- -D warnings
# Also lint the GUI app when app/Cargo.toml or app/src/lib.rs changed.
cargo clippy -p warp --all-targets --tests -- -D warnings
# Also lint the TUI when crates/warp_tui/Cargo.toml changed.
cargo clippy -p warp_tui --all-targets --tests -- -D warnings
./script/format

If the promotion changes behavior beyond flag lists or configuration, run affected tests before Clippy. Format once after all other changes are complete. Do not rerun earlier checks after formatting or add a full presubmit unless explicitly required; CI owns broader platform and workspace coverage.

Create a follow-up Linear issue

After the PR lands, create a Linear issue to remind the team to remove the flag. Use the Linear MCP tool:

save_issue(
  title: "Remove FeatureFlag::YourFeature after stabilization",
  team: <your team>,
  assignee: "me",
  description: "FeatureFlag::YourFeature was promoted to Stable in <PR link>. Remove the flag and dead code branches after 1–2 release cycles. Follow the `remove-feature-flag` skill.",
  labels: ["tech-debt"],
  priority: 4  // Low
)

© 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/promote-feature 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 Promotion 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 Promotion compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Warp Feature Flag Promotion this skillwarpdotdev/warp65k1 repos~1.1kAutomated safety check: PassAGPL-3.0
Release MaintainerUndertone0809/rudder292—~2.1kAutomated safety check: PassApache-2.0
Release Orchestratorborghei/Claude-Skills874—~1.5kAutomated safety check: PassMIT
Create Release Checklistsoftware-mansion/smelter732—~1.9kAutomated safety check: NotesCustom licence
Prepare Rslint npm Releaseweb-infra-dev/rslint460—~1.5kAutomated safety check: PassMIT
Upgrade Dear Imgui StackLatias94/dear-imgui-rs107—~977Automated safety check: PassApache-2.0

Similar skills

  • Release Maintainer

    Undertone0809/rudder

    A skill your agent uses when inspecting, preparing, executing, recovering, or verifying Rudder releases across npm, GitHub Releases, Desktop assets, tags, dist-tags, changelogs, Discord…

    292 GitHub stars~2.1k tokensUpdated today
    DevelopmentAuto-check passed
  • Release Orchestrator

    borghei/Claude-Skills

    Orchestrate end-to-end release pipelines. An agent skill from borghei/Claude-Skills.

    874 GitHub stars~1.5k tokensUpdated today
    DevelopmentAuto-check passed
  • 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 yesterday
    DevelopmentAuto-check: notes
  • Prepare Rslint npm Release

    web-infra-dev/rslint

    Prepare a stable release PR for the unified rslint npm packages by updating package versions and rule/TypeScript release metadata.

    460 GitHub stars~1.5k tokensUpdated today
    DevelopmentAuto-check passed
  • 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 Process

    padamson/playwright-rust

    End-to-end release runbook for playwright-rust — version bump, supply-chain refresh, per-crate CHANGELOGs, tag-prefix routing for the three workspace crates, the safer push-then-tag workflow that…

    152 GitHub stars~4.1k tokensUpdated 2 days ago
    Testing & QAAuto-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

Questions about Warp Feature Flag Promotion

What does Warp Feature Flag Promotion do?

Walks through promoting a feature-flagged Warp feature to Dogfood, Preview or Stable, including the compile-time bridge and a safe delay before flag cleanup. Warp feature flags work in two layers.rs.

When should I use Warp Feature Flag Promotion?

Warp Feature Flag Promotion fits situations like: rolling a feature flag out to dogfood users; moving a flagged feature to Preview or Stable; planning safe cleanup of a flag after a Stable release.

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

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

How do I install Warp Feature Flag Promotion in Codex?

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

Can I use Warp Feature Flag Promotion 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 promote-feature -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/promote-feature, .gemini/skills/promote-feature, .github/skills/promote-feature and .opencode/skills/promote-feature in your project.

What does Warp Feature Flag Promotion need to run?

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

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

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

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

Skills that share tags, products or a category with Warp Feature Flag Promotion: Release Maintainer (Undertone0809/rudder, 292 stars), Release Orchestrator (borghei/Claude-Skills, 874 stars), Create Release Checklist (software-mansion/smelter, 732 stars) and Prepare Rslint npm Release (web-infra-dev/rslint, 460 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 Promotion?

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.