getsentry/sentry

feature-flags

Gate a Sentry feature behind a FlagPole feature flag.

Installation

$ npx skills add getsentry/sentry --skill feature-flags

Summary

  • Gate a Sentry feature behind a FlagPole feature flag.
  • Use when adding a feature flag, registering a flag in temporary.py, checking a flag from Python or the frontend, enabling a flag in tests, or asking where FlagPole rollout config lives.
  • Trigger on "add a feature flag", "gate this behind a flag", "register a flag", "features.has", "api_expose", "OrganizationFeature", "ProjectFeature", "FlagPole".

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from getsentry/sentry · top by installs.

npx skills add getsentry/sentry

Browse all from getsentry/sentry

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 44.7K
License LICENSE.md
Default branch master
Open issues 1,795
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 1,495 B
  • docs SUMMARY.md 422 B

History

  1. First recorded snapshot · 4 installs

SKILL.md

Feature Flags (FlagPole)

New features should be gated behind a feature flag.

  1. 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.

  1. Python check:

``python if features.has("organizations:my-feature", organization, actor=user): ``

  1. Frontend check (requires api_expose=True):

``typescript organization.features.includes('my-feature'); ``

  1. Tests:

``python with self.feature("organizations:my-feature"): ... ``

  1. Rollout: FlagPole YAML config lives in the sentry-options-automator repo, not here.
  1. 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.