
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:
- Deployments: products it exists on (
cloud,self_hosted). Fixed in code. - Kill switch: off everywhere at once, outranking everything below. This is the revert; no deploy.
- Operator lock: a self-hosted operator forces it on or off for the whole install (Helm
config.features.<key>). - 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. - Organization override: platform admins turn it on or off for one organization in
/admin. - Everyone: on or off for everyone on the deployment, changed in
/adminwithout 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.

