What problem does it solve?
Managing temporary release toggles across a Go backend and a web frontend is error-prone: flags can drift between profile defaults, typed config, registries, and UI gates, leaving disabled features reachable or stale flags impossible to remove safely. This Skill provides a complete checklist for adding, rolling out, promoting, graduating, and removing runtime feature flags in the Kandev codebase.
Core Features & Use Cases
- End-to-end flag lifecycle: Covers adding a flag (profile defaults, backend config, registry binding, backend gates, frontend contract, tests), staged rollout, promotion to default-on, and full graduation with retired-identity registration.
- Fail-closed invariants: Enforces that disabled features are unreachable through HTTP, WebSocket, MCP, agent-tool, and background-job entry points, with a single identity across
features.<camelCaseKey>, KANDEV_FEATURES_<UPPER_SNAKE_CASE>, and frontend keys.
- Verification workflow: Lists exact test, lint, typecheck, and E2E commands plus handoff reporting requirements.
- Use Case: When a task asks to put a risky new feature behind a kill switch, use this Skill to wire the toggle through
profiles.yaml, runtimeflags/registry.go, backend gates, and the frontend features slice in one consistent change.
Quick Start
Add a new runtime feature flag for the experimental dashboard feature, keeping it off in all shipped profiles and gated on every backend and frontend entry path.