SKILL.md
Feature Flags (FlagPole)
New features should be gated behind a feature flag.
- Register the flag in
src/sentry/features/temporary.py:
``python manager.add("organizations:my-feature", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True) ``
Use api_expose=True if the frontend needs to check the flag. Use ProjectFeature and a projects: prefix for project-scoped flags.
- Python check:
``python if features.has("organizations:my-feature", organization, actor=user): ``
- Frontend check (requires
api_expose=True):
``typescript organization.features.includes('my-feature'); ``
- Tests:
``python with self.feature("organizations:my-feature"): ... ``
- Rollout: FlagPole YAML config lives in the
sentry-options-automator repo, not here.
- Removal: once the rollout is finished, the flag comes out in a fixed three-PR order — see the
remove-option-or-flag skill.
See https://develop.sentry.dev/feature-flags/ for full docs.