Agent skill

Discover Feature Flags

by harness in harness/harness-skills

Audit Harness FME feature flags across a project. An agent skill from harness/harness-skills.

Apache-2.0Auto-check passed

Install Discover Feature Flags

skills CLI
$ npx skills add harness/harness-skills --skill discover-feature-flags -a claude-code

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

GitHub CLI
$ gh skill install harness/harness-skills discover-feature-flags --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/harness/harness-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/discover-feature-flags .claude/skills/discover-feature-flags && 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
discover-feature-flags
GitHub stars
115
Token cost
~2.8k tokens
SKILL.md length
1,036 words
Files
3 (incl. references)
Skills in repo
24
Repo updated
First seen
Licence
Apache-2.0

At a glance

Audit Harness FME feature flags across a project. An agent skill from harness/harness-skills.

  • Works in 6 steps: Establish scope → Collect inputs → List environments and rollout statuses → …
  • Asked to show me all flags
  • SKILL.md covers Tools, Output, Instructions and Examples, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Discover Feature Flags is an agent skill from harness/harness-skills. Audit Harness FME feature flags across a project. Read-only; never writes. Four modes: inventory (list flags with metadata), rollout-report (per-env rollout state with stalled-promotion detection across a confirmed env sequence), stale-audit (find flags with no impressions via lastImpressionAt), pattern-search (find flags whose rule conditions structurally match an attribute name, matcher type, literal value, segment reference, or flag dependency — not a text grep). Use when asked to "show me all flags", "which…

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/promotion-check.md` and `references/rule-patterns.md`). Compatibility notes: Requires the Harness MCP server or the Harness CLI

The repository describes itself as: A collection of structured AI agent skills that enable Claude Code, Cursor, GitHub Copilot, and other AI coding assistants to create, operate, debug, and govern Harness CI/CD… The licence is Apache-2.0.

When your agent uses it

  • Asked to show me all flags
  • Which flags are stale
  • What flags are rolled out
  • Cleanup candidates

Example prompts

  • “show me all flags”
  • “which flags are stale”
  • “what flags are rolled out”
  • “/discover-feature-flags”

Requirements

  • Compatibility (from SKILL.md): Requires the Harness MCP server or the Harness CLI

Workflow steps

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

  1. Establish scope
  2. Collect inputs
  3. List environments and rollout statuses
  4. List flags
  5. List and classify definitions
  6. Output

What it can do on your machine

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

    No scripts in the folder and no shell commands in SKILL.md.

    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.

  • Compatibility

    Requires the Harness MCP server or the Harness CLI

    From compatibility in the SKILL.md frontmatter.

Context cost

Discover Feature Flags loads about 2.8k tokens when it runs, and up to ~7.3k if it reads all its reference files. Until then it costs about 252 tokens; SKILL.md has 1,036 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~252
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.3k

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 harness/harness-skills at commit c25faee, republished under its Apache-2.0 licence (© harness). 1,036 words, ~2,752 tokens.

Download SKILL.mdSave it as .claude/skills/discover-feature-flags/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
discover-feature-flags
description
Audit Harness FME feature flags across a project. Read-only; never writes. Four modes: inventory (list flags with metadata), rollout-report (per-env rollout state with stalled-promotion detection across a confirmed env sequence), stale-audit (find flags with no impressions via lastImpressionAt), pattern-search (find flags whose rule conditions structurally match an attribute name, matcher type, literal value, segment reference, or flag dependency — not a text grep). Use when asked to "show me all flags", "which flags are stale", "what flags are rolled out", "flag inventory", "flag health", "cleanup candidates", "find flags targeting segment X", "which flags depend on flag Y", or "find flags with rule matching attribute Z". Do not use for single-flag deep dive (explain-flag), creating flags (create-feature-flag), updating targeting (update-flag-targeting), archiving/deleting (manage-flag-lifecycle), pipeline rollouts (fme-pipeline), or code removal (cleanup-feature-flags).
compatibility
Requires the Harness MCP server or the Harness CLI
metadata.author
Harness
metadata.version
1.3.0
metadata.mcp-server
harness-mcp
license
Apache-2.0

Discover Feature Flags

Audit Harness FME feature flags across a project: list all flags with metadata, show rollout status per environment, find stale flags, or search rule conditions structurally. Read-only. Never writes. Related: explain-flag (single flag), cleanup-feature-flags (code removal), manage-flag-lifecycle (archive).

Tools

Works through the Harness MCP server or the Harness CLI; names are from tool-map.md.

OperationMCPCLI
List environmentsharness_list · fme_environment · filters: { offset: 0, limit: 100 } · compact: falseharness list fme_environment --json
List rollout statusesharness_list · fme_rollout_status · filters: { offset: 0, limit: 100 } · compact: falseharness list rollout_status --json
List flagsharness_list · fme_feature_flag · size: 50 · filters: { name?, tags?, rollout_status_id?, offset? } · compact: falseharness list feature_flag [--search <name>] [--status <ACTIVE|ARCHIVED>] --limit 50 --json
Get flagharness_get · fme_feature_flag · params.feature_flag_nameharness get feature_flag <name> --json
List definitionsharness_list · fme_feature_flag_definition · params.feature_flag_name · filters: { offset: 0, limit: 100 } · compact: falseharness list feature_flag:definition <name> --json
List segmentsharness_list · fme_segment · filters: { segment_type, status?, offset: 0, limit: 100 } · compact: falseharness list segment --segment-type <STANDARD|LARGE|RULE_BASED> --json; cover ACTIVE and ARCHIVED with declared status filters
List experimentsharness_list · fme_experiment · filters: { parent_type: "FEATURE_FLAG", parent_name, status: ["ACTIVE", "PAUSED"], offset: 0, limit: 100 } · compact: falseharness list experiment --parent-type FEATURE_FLAG --parent-name <name> --status ACTIVE --json, then again with --status PAUSED

For each filter: apply it server-side if declared by the installed transport (verify via --help); otherwise fetch the complete inventory and filter client-side. Paginate every list to completion per tool-map.md.

Output

Fixed shape per mode:

Inventory: | Flag | Traffic type | Status | Rollout status | Tags | Owners | Created | Updated |

Rollout report: | Flag | <Env 1>* | <Env 2>* | … | Promotion | Notes | (production envs *; cells use actual treatment names/percentages, killed→<fallback>, targeted, limited, missing, unknown or archived). Promotion: stalled?, ahead, ok, behind (no alert), divergence, both killed, missing, unknown, intended ✓, not comparable, archived, or — for neutral-only. Label each hop in multi-env chains; see promotion-check.md.

Stale audit: | Flag | Bucket | Last Impression Per Env | Config | Next Step | (buckets: stale / active / unknown / never evaluated; verdicts: ready / caution / blocked)

Pattern search: | Flag | Env | Rule # | Combiner | Negated | Matcher type | Predicate match | Status | Notes | (coverage footer: matched N / no-match M / unparsed P / unchecked U; see rule-patterns.md)

Summary: counts per class, truncation line if paginated, hand-offs to sibling skills.

Instructions

Phase 1: Establish scope

Follow scope-establishment.md. Restate: Working in org=..., project=....

Phase 2: Collect inputs

Ask only for missing items relevant to the user's goal:

  • Mode: inventory (default) / rollout-report / stale-audit / pattern-search. Infer from prompt.
  • Filters: name substring, tag, rollout status name, traffic type, status (ACTIVE / ARCHIVED), owner — apply server-side where declared; client-side otherwise on the complete inventory.
  • Environment subset (rollout-report / stale-audit / pattern-search): default all.
  • Staleness threshold (stale-audit only): default 30 days per concepts.md.
  • Pattern-search predicates: collect per rule-patterns.md §Clarification.
  • Promotion check: both the environment sequence and intended target treatment must be confirmed before promotion classifications; otherwise show neutral differences. See promotion-check.md §Inputs.
Phase 3: List environments and rollout statuses

List environments through every page: ID → { name, isProduction }. Default display order: non-production first, production last. The environment sequence for promotion checks must be confirmed explicitly by the user — do not derive order from isProduction alone. List rollout statuses through every page: name → ID. Apply pagination completeness checks from tool-map.md.

Phase 4: List flags

Apply declared server-side filters (name, tags, rollout_status_id); handle remaining filters client-side on the complete inventory. Page through every offset to a short page. Inventory mode stops here. Skip to Phase 6.

Cost guard (rollout-report / stale-audit / pattern-search): If >50 flags after filtering, STOP: "This will fetch N paginated definition inventories. Narrow by tag, name, rollout status, or status, or confirm to proceed." See tool-map.md.

Show full SKILL.md (457 more words)Show less
Phase 5: List and classify definitions

For each flag, list definitions (all pages, filters.limit: 100, advance offset). Failed or skipped pages → incomplete; never label unseen definitions missing.

Rollout-report: Classify each (flag, env) cell per concepts.md: killed → no definition → allocation < 100 → rules/targets present → defaultRule shape. For the confirmed promotion sequence, apply promotion-check.md to produce the Promotion column. Archived flags (global status: ARCHIVED): include in table as archived row; exclude from stalled/divergence alerts.

Stale-audit: Buckets per concepts.md §Staleness. impressions.lastImpressionAt: ISO-8601 (null = never evaluated; absent = unknown). For ready/caution candidates, run the experiment check (ACTIVE and PAUSED) per write-safety.md. Next Step: hand off to cleanup-feature-flags (code) or manage-flag-lifecycle (archive).

Pattern-search: Apply structural rule matching per rule-patterns.md. To resolve a segment name to its type, list that segment type's metadata via List segments (one complete paginated inventory per type; reuse across all flags). Killed flag definitions: scan rules but annotate matches inactive (killed). Archived flags included by the requested status filter: retain structural matches and annotate inactive (archived); do not imply live exposure.

Phase 6: Output

Present the fixed table for the mode. Summary counts per class or bucket. Pagination alone is not truncation: report truncation/incomplete coverage only if the inventory was not finished.

Hand-offs: Single-flag → explain-flag. Cleanup candidate → cleanup-feature-flags. Archive → manage-flag-lifecycle. Update targeting → update-flag-targeting. Pipeline rollout → fme-pipeline.

Examples

  • "Show me all feature flags" — Inventory mode.
  • "Which flags are stale?" — Stale-audit mode, default 30 days.
  • "Where is new-checkout-flow rolled out?" — Route to explain-flag for one flag.
  • "List flags with tag payments" — Inventory mode, filter by tag.
  • "Find cleanup candidates" — Stale-audit mode, bucket stale + fully rolled out.
  • "Show rollout status for all flags in production" — Rollout-report mode, environment subset.
  • "Find flags that target segment beta-users (STANDARD)" — Pattern-search, segment reference predicate.
  • "Which flags depend on flag-A?" — Pattern-search, flag dependency predicate (IN_SPLIT).
  • "Are flags stalled between staging and prod?" — Rollout-report with promotion check; requires confirmed env IDs, sequence, and intended treatment per flag.

Performance Notes

  • Inventory mode: One paginated flag inventory; no definitions.
  • Rollout-report / stale-audit / pattern-search: One paginated definition inventory per flag. Cost guard at 50 flags; narrow first by tag, name, rollout status, or status.
  • Stale-audit experiment check: Run only for ready/caution candidates, not every flag. Paginate ACTIVE and PAUSED separately.
  • Pattern-search segment resolution: List each needed segment type once; reuse across all flags.
  • Parallelizing definition reads: Batch list-definitions calls where the client supports parallel calls.
  • Pagination: See tool-map.md.

Troubleshooting

IssueFix
impressions.lastImpressionAt absentTreat as unknown bucket; never infer "unused"
Definitions call fails with 404Re-list flags; confirm exact name (case-sensitive)
"Too many requests" or timeoutNarrow by tag, rollout status, or name; or process in batches
Pattern-search returns unparsed rowsSee rule-patterns.md §Unparsed Shapes
Promotion check cannot compareConfirm env IDs, sequence, and intended treatment per promotion-check.md

See tool-map.md for generic errors.

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

Files

SKILL.md and 2 other files (references) in skills/discover-feature-flags of harness/harness-skills.

  • SKILL.md
  • references/promotion-check.md
  • references/rule-patterns.md

Open the folder on GitHubat commit c25faee

Compare with similar skills

Discover Feature Flags 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.

Discover Feature Flags compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Discover Feature Flags this skillharness/harness-skills115—~2.8kAutomated safety check: PassApache-2.0
Flagsvercel/next.js143k—~746Automated safety check: PassMIT
Discover Pluginsruvnet/ruflo74k—~2kAutomated safety check: NotesMIT
Aas Discoversickn33/agentic-awesome-skills47k1 repos~523Automated safety check: PassMIT
Feature Flagssickn33/agentic-awesome-skills47k1 repos~2.6kAutomated safety check: PassMIT
Feature Flagsgetsentry/sentry46k—~374Automated safety check: PassCustom licence

Similar skills

  • Flags

    vercel/next.js

    Official

    How to add or modify Next.js experimental feature flags end-to-end.

    143k GitHub stars~746 tokensUpdated today
    DevelopmentAuto-check passed
  • Discover Plugins

    ruvnet/ruflo

    Discover and recommend ruflo plugins based on your workflow, installed MCP tools, and current task

    74k GitHub stars~2k tokensUpdated today
    Agent WorkflowsAuto-check: notes
  • Aas Discover

    sickn33/agentic-awesome-skills

    Discover AAS skills for an explicit task and compare their complete instructions without installing them.

    47k GitHub starsUsed in 1 repo~523 tokens
    Auto-check passed
  • Feature Flags

    sickn33/agentic-awesome-skills

    Implement feature flags for progressive feature rollout using LaunchDarkly, Unleash, or custom solutions.

    47k GitHub starsUsed in 1 repo~2.6k tokens
    Auto-check passed
  • Feature Flags

    getsentry/sentry

    Official

    Gate a Sentry feature behind a FlagPole feature flag. An agent skill from getsentry/sentry.

    46k GitHub stars~374 tokensUpdated today
    Frontend & DesignAuto-check passed
  • Official

    A skill your agent uses when writing a Storybook story for a component gated on a feature flag — boolean flags or multivariate/experiment-arm variants.

    40k GitHub stars~1.1k tokensUpdated today
    Testing & QAAuto-check passed

More from harness/harness-skills

All 24 skills in this repo
  • Audit Report

    harness/harness-skills

    Generate audit reports and compliance trails using Harness audit trail data via MCP v2 tools.

    115 GitHub stars~1.3k tokensUpdated 2 days ago
    Auto-check passed
  • Chaos Dr Test

    harness/harness-skills

    A skill your agent uses when working with Chaos Engineering steps inside a Harness pipeline.

    115 GitHub stars~2.6k tokensUpdated 2 days ago
    Auto-check passed
  • Chaos Experiment

    harness/harness-skills

    A skill your agent uses when the user asks to create, edit, update, design, or configure a Harness Chaos Experiment — including faults, probes, actions, experiment YAML, fault injection, pod-delete…

    115 GitHub stars~1.6k tokensUpdated 2 days ago
    Auto-check passed
  • Cleanup Feature Flags

    harness/harness-skills

    Remove a launched Harness FME feature flag from application code, keeping the treatment FME serves today, and open a pull request.

    115 GitHub stars~2.4k tokensUpdated 2 days ago
    Auto-check passed
  • Configure Repo Scan

    harness/harness-skills

    Configure code scanning in Harness pipelines using STO security scanners.

    115 GitHub stars~2.2k tokensUpdated 2 days ago
    Auto-check passed
  • Create Agent Template

    harness/harness-skills

    Generate Harness Agent Template files for AI-powered automation agents.

    115 GitHub stars~2.2k tokensUpdated 2 days ago
    Auto-check passed

Questions about Discover Feature Flags

What does Discover Feature Flags do?

Audit Harness FME feature flags across a project. An agent skill from harness/harness-skills. Discover Feature Flags is an agent skill from harness/harness-skills. Audit Harness FME feature flags across a project.

When should I use Discover Feature Flags?

Discover Feature Flags fits situations like: asked to show me all flags; which flags are stale; what flags are rolled out; cleanup candidates.

How do I install Discover Feature Flags in Claude Code?

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

How do I install Discover Feature Flags in Codex?

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

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

What does Discover Feature Flags need to run?

SKILL.md names no scripts, command-line tools or credentials: Discover Feature Flags is instructions for the agent only. Compatibility (from SKILL.md): Requires the Harness MCP server or the Harness CLI.

Does Discover Feature Flags 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 Discover Feature Flags 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 Discover Feature Flags use?

Discover Feature Flags is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Discover Feature Flags use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.6k tokens, read only when the agent opens those files.

What are the alternatives to Discover Feature Flags?

Skills that share tags, products or a category with Discover Feature Flags: Flags (vercel/next.js, 143k stars), Discover Plugins (ruvnet/ruflo, 74k stars), Aas Discover (sickn33/agentic-awesome-skills, 47k stars) and Feature Flags (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Discover Feature Flags?

harness (a GitHub organization) maintains it in harness/harness-skills, which has 115 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 6, 2026.

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