Install
$ agentstack add skill-harness-harness-skills-manage-feature-flags ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
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_flagwithbody: { name: "dark_mode", ... } - "Kill the experimental-search flag in production" — Execute
killwith productionenvironment_id - "Restore the new-checkout flag in staging" — Execute
restorewith stagingenvironment_id - "List all feature flags in my workspace" — List
fme_feature_flagfor workspace - "Archive the stale beta_banner flag" — Execute
archive
Performance Notes
- Always discover
workspace_idandenvironment_idbefore 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) andrestore(on) per environment.
Troubleshooting
Flag won't kill/restore
environment_idis required — kills are per-environment- Confirm
feature_flag_nameis 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_listwithresource_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.
Write a review
Versions
- v0.1.0 Imported from the upstream source.