packages/knowledge-hub/dataset/.skills/capability/manage-flags/SKILL.md
Manages feature flag lifecycle: creation, activation, deactivation, and cleanup. Follows feature-flags guidelines. Idempotent: detects existing flags, shows current state, offers lifecycle actions rather than re-creating.
npx skillsauth add foomakers/pair manage-flagsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage feature flags throughout their lifecycle: creation, activation, deactivation, and cleanup. Follows the feature flags guidelines for flag types, implementation patterns, and cleanup strategies.
| Argument | Required | Description |
| -------- | -------- | ----------------------------------------------------------------------------------------------- |
| $flag | No | Flag name to manage. If omitted, scans for all flags and presents status. |
| $action| No | Lifecycle action: create, activate, deactivate, cleanup, status. Default: status. |
feature-flags.json, flags.yml, environment variables)isEnabled('flag-name'), useFeatureFlag())status (default)Act: Present the flag inventory:
Feature Flag Status:
| Flag | Type | Status | References | Age | |------|------|--------|------------|-----| | [name] | [type] | [active/inactive/stale] | [N files] | [days/weeks] |
Stale flags (inactive > 30 days) should be cleaned up.
Verify: Status reported. No modifications.
create$flag already exist?activate$flag exist and is currently inactive?deactivate$flag exist and is currently active?cleanupCheck: Does $flag exist? Is it safe to remove (inactive, no active references in critical paths)?
Act: Present cleanup plan:
Cleanup plan for
$flag:
- Remove flag from configuration
- Remove flag checks from [N files]
- Keep the winning code path (flag-on or flag-off behavior)
Proceed with cleanup?
Act: If developer confirms:
Verify: Flag fully removed. No orphaned references.
FLAG MANAGEMENT COMPLETE:
├── Flag: [$flag | inventory scan]
├── Action: [status | create | activate | deactivate | cleanup]
├── Status: [active | inactive | removed | inventory shown]
├── Files: [N files modified | 0 (status only)]
└── Result: [Complete | Confirmed existing | Cleaned up]
When composed by /implement:
/implement may invoke /manage-flags with $action=create when a task requires feature-flagged code./implement continues with the flag available.When invoked independently:
create on an existing flag shows its current state instead of re-creating. Invoking activate on an active flag confirms the state. Invoking cleanup always requires explicit confirmation.SCREAMING_SNAKE_CASE for env vars, camelCase for code constants).status action helps identify cleanup candidates.development
Creates or updates a Product Requirements Document through structured template analysis, hypothesis-driven information gathering, and iterative review. Idempotent — detects existing PRD and offers selective section update.
development
Reviews a pull request through a structured 6-phase process: validation, technical review, adoption compliance, completeness check, decision, and optional merge with parent cascade. Composes /verify-quality, /verify-done, /record-decision, /assess-debt (required) and /verify-adoption, /assess-stack (optional with graceful degradation). Output follows the code review template. Idempotent — re-invocation resumes from incomplete phases.
tools
Refines a user story from Todo to Refined state through structured phases: selection, requirements analysis (Given-When-Then), technical analysis, sprint readiness, and documentation. Section-level idempotency — detects partial refinement and resumes. Composes /write-issue for PM tool updates.
testing
Breaks a refined user story into implementation tasks. Task-level idempotency: detects existing tasks and creates only missing ones. Appends condensed Technical Analysis + Task Breakdown (checklist, Dependency Graph, AC Coverage table, detailed tasks) to the story body. Composes /write-issue to update the story issue body. Tasks are documented inline in the story — no separate task issues are created.