Skills

Feature Flag Rollouts

Decides on feature flags for user-visible changes and runs their rollout or revert.

Install

npx skills add different-ai/openwork --skill add-a-feature -g -a claude-code -y
Repository
different-ai/openwork24.4k
Category
DevOps
Updated
3d ago
License
See repository
Context cost
Mediumabout 2,649 tokens
Runs scripts
No, instructions only

What it does

Decide whether work needs a feature flag (any change to product behavior users can see does), then declare it, roll it out (per organization, for everyone, cloud or self-hosted), revert or kill it. Use for any user-visible behavior change, and when finishing or removing a rollout.

Skill: Add a feature

Default: flag what users see. Any change to product behavior that users can see ships behind a feature, so it can be turned off without a deploy. Work users won't notice as a behavior change ships directly and is reverted with a normal revert if needed.

When a flag is warranted, it is a feature in the registry, declared before any feature code, off.

Registry: packages/features/src/registry.ts (package @openwork/features). That file is the only one you edit to declare a feature. The rules live in resolve.ts and are tested in resolve.test.ts (pnpm --filter @openwork/features test).

The model: one rollout, several dimensions

A feature is rolled out, and reverted, along these dimensions, resolved in this order by one function (resolveFeature) everywhere it is checked:

  1. Deployments: products it exists on (cloud, self_hosted). Fixed in code.
  2. Kill switch: off everywhere at once, outranking everything below. This is the revert; no deploy.
  3. Operator lock: a self-hosted operator forces it on or off for the whole install (Helm config.features.<key>).
  4. Member override: platform admins turn it on or off for one active organization member from the organization’s Members page in /admin. No override inherits the organization setting.
  5. Organization override: platform admins turn it on or off for one organization in /admin.
  6. Everyone: on or off for everyone on the deployment, changed in /admin without a deploy.

Steps 2, 5 and 6 are set per deployment in /admin (Features page and each organization's row) or with the admin MCP tools den_list_features, den_set_feature_rollout and den_set_org_capability.

Read the whole SKILL.md on GitHub

More in DevOps