AgentStack
SKILL verified Apache-2.0 Self-run

Manage Feature Flags

skill-harness-harness-skills-manage-feature-flags · by harness

>-

No reviews yet
0 installs
8 views
0.0% view→install

Install

$ agentstack add skill-harness-harness-skills-manage-feature-flags

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Manage Feature Flags? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Manage Feature Flags

Create, list, kill/restore, and delete Harness FME (Split.io-backed) Feature Flags via MCP.

Prerequisites

FME flags are workspace-scoped (not project-scoped). You must discover the workspace_id and environment_id before most operations.

Step 0a: List workspaces

Call MCP tool: harness_list
Parameters:
  resource_type: "fme_workspace"

Step 0b: List environments (per workspace)

Call MCP tool: harness_list
Parameters:
  resource_type: "fme_environment"
  workspace_id: ""

Instructions

Step 1: List Existing Flags

Call MCP tool: harness_list
Parameters:
  resource_type: "fme_feature_flag"
  workspace_id: ""

Filter by name, tags, or rollout status:

Call MCP tool: harness_list
Parameters:
  resource_type: "fme_feature_flag"
  workspace_id: ""
  name: "dark_mode"
  tags: "ui"
  rollout_status_id: ""   # discover via fme_rollout_status

Step 2: Get Flag Details

Call MCP tool: harness_get
Parameters:
  resource_type: "fme_feature_flag"
  workspace_id: ""
  feature_flag_name: ""

For per-environment targeting/state, use fme_feature_flag_definition and pass environment_id.

Step 3: Create a Flag

Call MCP tool: harness_create
Parameters:
  resource_type: "fme_feature_flag"
  workspace_id: ""
  traffic_type_id: ""   # required by FME
  body:
    name: "dark_mode"
    description: "Enable dark mode UI theme"
    tags: ["ui", "rollout"]

Step 4: Kill or Restore a Flag (per environment)

Kill (turn the flag OFF in one environment):

Call MCP tool: harness_execute
Parameters:
  resource_type: "fme_feature_flag"
  action: "kill"
  workspace_id: ""
  feature_flag_name: ""
  environment_id: ""

Restore (re-enable after a kill):

Call MCP tool: harness_execute
Parameters:
  resource_type: "fme_feature_flag"
  action: "restore"
  workspace_id: ""
  feature_flag_name: ""
  environment_id: ""

Step 5: Archive / Unarchive a Flag

Call MCP tool: harness_execute
Parameters:
  resource_type: "fme_feature_flag"
  action: "archive"      # or "unarchive"
  workspace_id: ""
  feature_flag_name: ""

Archiving is subject to OPA policy checks (returns 409 on violation). Unarchive returns 409 if dependent objects exist.

Step 6: Update Flag Metadata

Call MCP tool: harness_update
Parameters:
  resource_type: "fme_feature_flag"
  workspace_id: ""
  feature_flag_name: ""
  body:
    description: "Updated description"
    tags: ["ui", "ga"]

Step 7: Delete a Flag

Call MCP tool: harness_delete
Parameters:
  resource_type: "fme_feature_flag"
  workspace_id: ""
  feature_flag_name: ""

FME Resource Types Reference

| Resource Type | Operations | Description | |--------------|-----------|-------------| | fme_workspace | list | List FME workspaces | | fme_environment | list | List FME environments (per workspace) | | fme_feature_flag | list, get, create, update, delete, execute(kill/restore/archive/unarchive) | Flag metadata at workspace scope | | fme_feature_flag_definition | list, get | Per-environment rollout targeting and state | | fme_rollout_status | list | Discover valid rollout_status_id values | | fme_rule_based_segment | list, get | Rule-based segments | | fme_rule_based_segment_definition | list, get, execute(enable/disable/change_request) | Segment definition per environment |

Examples

  • "Create a feature flag for dark mode" — Create fme_feature_flag with body: { name: "dark_mode", ... }
  • "Kill the experimental-search flag in production" — Execute kill with production environment_id
  • "Restore the new-checkout flag in staging" — Execute restore with staging environment_id
  • "List all feature flags in my workspace" — List fme_feature_flag for workspace
  • "Archive the stale beta_banner flag" — Execute archive

Performance Notes

  • Always discover workspace_id and environment_id before kill/restore — wrong environment can affect production.
  • List existing flags before creating to avoid duplicates.
  • FME does not expose a single "toggle" action — use kill (off) and restore (on) per environment.

Troubleshooting

Flag won't kill/restore

  • environment_id is required — kills are per-environment
  • Confirm feature_flag_name is exact (case-sensitive)
  • Verify the flag lives in the specified workspace_id

Flag Not Found

  • FME flags are workspace-scoped — confirm the correct workspace_id
  • Use harness_list with resource_type: "fme_feature_flag" and no filters to see all flags in the workspace

Archive fails with 409

  • An OPA policy may block archival — review governance policies
  • For unarchive, remove dependent segments/targeting before retrying

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

  • Author: harness
  • Source: harness/harness-skills
  • License: Apache-2.0
  • Homepage: https://developer.harness.io/docs/platform/harness-ai/harness-skills/

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.