CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

create-feature-flag

Create a new Harness FME feature flag and its per-environment definitions with a safe default, following the project's naming and tagging conventions. Use when asked to create a feature flag, add a flag, set up a new FME flag, or initialize flag targeting. Flag/definition writes only: does not gate application code (instrument-feature-flag) and is not a first-time onboarding entry point (feature-flag-onboarding). Do not use for updating existing flag targeting (update-flag-targeting), deep analysis of a single flag (explain-flag), listing/discovering flags (discover-feature-flags), flag lifecycle like archive/delete (manage-flag-lifecycle), segments (manage-segments), experiments (manage-experiments), pipeline rollouts (fme-pipeline), or removing flags from code (cleanup-feature-flags). Trigger phrases: create feature flag, add flag, new flag, set up flag, FME flag create, initialize flag.

Quality

91%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

88%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A tightly engineered operational skill: exact tool invocations, verbatim plan/verify templates, a confirmation-gated six-phase workflow with collision checks, live-state failure recovery, and read-back verification. The weaknesses are minor: duplicated collision/routing text costs tokens, and every detailed reference (tool-map, write-safety, targeting-recipes, concepts, schema-validation-loop) points outside the skill directory and none ship in the bundle.

Suggestions

Consolidate the name-collision protocol — currently written out in both Phase 3 and the Troubleshooting 409 row — into one location, and cross-reference it from the other; the same applies to sibling-skill routing, which appears in both the intro and Phase 6.

Ship the referenced files (tool-map.md, write-safety.md, concepts.md, targeting-recipes.md, schema-validation-loop.md) inside this skill's bundle, or inline the critical safe-default definition body — all current links use ../../../ or ../ paths that resolve outside the skill directory and none exist in the provided bundle.

Split Phase 3's overloaded bullets (e.g., the environment-initialization rule mixing default, delegated, and STOP conditions in one sentence; the owners-confirmation rule) into labeled sub-bullets so each constraint scans independently.

DimensionReasoningScore

Conciseness

The body is dense and operational with zero explanation of concepts Claude already knows (no "what is a feature flag" padding), and detail is pushed to references. Not 5: tokens don't all earn their place — the name-collision protocol is stated twice (Phase 3 "If the flag exists during a delegated create, return the collision..." and the 409 Troubleshooting row), sibling routing is repeated (intro "Related: update-flag-targeting (ramp), manage-experiments (A/B test)" and again in Phase 6), and Phase 3/Phase 5 pack multiple rules into single overloaded sentences. Not 3: this is minor duplication, not "some unnecessary explanation".

4 / 5

Actionability

Quotes: exact MCP tool names with parameter shapes and CLI commands per operation ("harness_create · fme_feature_flag_definition · params: { feature_flag_name, environment_id } · body: { treatments, defaultTreatment, defaultRule, comment? }"), a verbatim plan template, a literal audit comment ("create-feature-flag: initial definition with safe default — <ticket or purpose>"), and a verification restatement template. Guidance is fully executable, including the CLI tags/owners syntax caveat. Not 4: no meaningful gaps — the only deferred spec (the safe-default definition body) is pointed to by an exact anchor link, which is deliberate disclosure, not missing detail.

5 / 5

Workflow Clarity

Quotes: six clearly sequenced phases (Scope → Explore → Propose → Plan and confirm → Execute → Verify) with explicit checkpoints: "STOP and wait for explicit confirmation", a pre-create collision check ("A 404 still requires correct scope/identifier/access before creation"), a mid-failure feedback loop ("report exactly which environments succeeded and which failed... Resume from that live state"), 400 handling routed to a schema-validation loop, and a verify phase that reads back live flag/definition state. Validation steps and error-recovery loops are explicit for this batch-write operation. Not 4: no validation gaps — collision check, confirmation gate, live-state resumption, and post-write verification are all present.

5 / 5

Progressive Disclosure

Quotes: references are clearly signaled with purpose and anchor targets ("Restate: Working in org=..., project=..." → scope-establishment.md; "Never control (reserved; see [concepts.md])"; "See [targeting-recipes.md](...#i-initialize-a-definition-where-none-exists) for the definition body"; pagination and common-errors anchors in tool-map.md) — all one level deep, no chained references, and the SKILL.md body stays a lean overview. Not 5: scored against the actual bundle structure, no references/ directory exists and every link resolves outside the skill's own directory ("../../../references/fme/tool-map.md", "../update-flag-targeting/references/targeting-recipes.md"), so the referenced detail is not shipped with or verifiable in this bundle. Not 3: references are clearly signaled and content is appropriately split, not buried or inlined.

4 / 5

Total

18

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary description: it states the capability concretely, gives explicit 'Use when' guidance with an enumerated trigger-phrase list, and draws precise negative boundaries against nine sibling skills. The only gap is synonym coverage in the trigger list (e.g., 'feature toggle'), which keeps trigger term quality at 4.

DimensionReasoningScore

Specificity

Quotes: "Create a new Harness FME feature flag and its per-environment definitions with a safe default, following the project's naming and tagging conventions" — multiple specific concrete actions (create flag, create per-environment definitions, apply safe defaults, follow naming/tagging conventions) with comprehensive coverage of the skill's capability set. Not 4: unlike "minor gaps in coverage", every capability of the skill is explicitly named with concrete detail.

5 / 5

Completeness

Quotes: "Use when asked to create a feature flag, add a flag, set up a new FME flag, or initialize flag targeting" plus an explicit "Trigger phrases:" list. Both "what" (create flag + per-environment definitions with safe default) and "when" (explicit use-when clause and concrete trigger phrases) are clearly and explicitly answered. Not 4: the "when" is not merely present but enumerated, matching the anchor-5 example pattern exactly.

5 / 5

Trigger Term Quality

Quotes: "create feature flag, add flag, new flag, set up flag, FME flag create, initialize flag" — good, natural phrasing users would actually say, covering the create/add/set-up/initialize verb space. Not 5: anchor 5 demands comprehensive synonym coverage, and common user phrasings like "feature toggle" or "make a flag" are absent; not 3: far more than "some relevant keywords", the trigger list is explicit and natural.

4 / 5

Distinctiveness Conflict Risk

Quotes: "Do not use for updating existing flag targeting (update-flag-targeting), deep analysis of a single flag (explain-flag), listing/discovering flags (discover-feature-flags), flag lifecycle like archive/delete (manage-flag-lifecycle), segments..., experiments..., pipeline rollouts..., or removing flags from code (cleanup-feature-flags)" — an explicit negative boundary against nine named sibling skills. Clear niche (flag/definition writes only, creation only) with distinct triggers; minimal conflict risk. Not 4: overlap risk is not "minor" but actively enumerated and excluded.

5 / 5

Total

19

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 8 suspicious

Warning

Total

15

/

16

Passed

Repository

harness/harness-ai

Path

plugins/claude/skills/create-feature-flag/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.