Agent skill
feature-flag-patterns
機能フラグ(Feature Flag/Feature Toggle)による段階的リリースとA/Bテスト実装スキル。 リスク管理とカナリアリリースを可能にし、本番環境での安全な機能展開を実現します。 Anchors: • Feature Toggles (Pete Hodgson - Martin Fowler blog) / 適用: フラグ設計パターン / 目的: Release/Experiment/Ops/Permission Togglesの適切な使い分け • Continuous Delivery (Jez Humble) / 適用: デプロイ戦略 / 目的: デプロイと機能リリースの分離による安全性向上 Trigger: Use when implementing feature flags, feature toggles, A/B testing, gradual rollouts, canary releases, or managing feature lifecycles. feature flag, feature toggle, A/B testing, canary release, gradual rollout, dark launch, percentage rollout, kill switch
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/feature-flag-patterns
SKILL.md
feature-flag-patterns
概要
機能フラグによる段階的リリースとA/Bテスト実装スキル。 デプロイと機能リリースを分離し、本番環境でのリスクを最小化する。
ワークフロー
Phase 1: フラグ設計
目的: 機能フラグの種類・スコープ・ライフサイクルを決定
アクション:
- 機能要件から適切なフラグタイプを選択(Release/Experiment/Ops/Permission)
- フラグのスコープを決定(global/user/organization/request)
- ライフサイクル計画を策定(一時的 vs 長期的)
- 必要なリソースレベル(Level 1-4)を判定
Task: agents/design-flag.md を参照
Phase 2: フラグ実装
目的: 選択されたパターンに基づいてフラグを実装
アクション:
assets/flag-template.tsを使用してフラグ定義を作成references/implementation-patterns.mdでパターンを確認- フラグ評価ロジックを実装(クライアント/サーバー)
- テストケースを作成(全状態をカバー)
Task: agents/implement-flag.md を参照
Phase 3: 段階的ロールアウト
目的: 安全な段階的リリース戦略の実行
アクション:
references/rollout-strategies.mdでロールアウト戦略を選択- パーセンテージベースまたはコホートベースの展開を実装
- メトリクス収集とモニタリングを設定
- ロールバック手順を準備
Task: agents/rollout-flag.md を参照
Phase 4: フラグ管理とクリーンアップ
目的: フラグライフサイクル管理とテクニカルデット防止
アクション:
scripts/audit-flags.mjsでフラグ一覧を監査- 古いフラグや不要なフラグを特定
- フラグ削除計画を策定
scripts/log_usage.mjsで使用記録を保存
Task: agents/manage-flags.md を参照
Task仕様ナビ
| Task | 起動タイミング | 入力 | 出力 |
|---|---|---|---|
| design-flag | Phase 1開始時 | 機能要件 | フラグ設計書 |
| implement-flag | Phase 2開始時 | フラグ設計書 | 実装コード+テスト |
| rollout-flag | Phase 3開始時 | 実装コード | ロールアウト計画+設定 |
| manage-flags | Phase 4開始時 | 既存フラグ一覧 | クリーンアップ計画 |
詳細仕様: 各Taskの詳細は agents/ ディレクトリを参照
ベストプラクティス
すべきこと
| 推奨事項 | 理由 |
|---|---|
| フラグに有効期限を設定 | テクニカルデット防止 |
| デフォルト値を安全な状態に | フラグサービス障害時の安全性確保 |
| フラグ評価ログを記録 | デバッグとトラブルシューティング支援 |
| 段階的ロールアウト実施 | リスク最小化(1%→10%→50%→100%) |
| Kill Switchを準備 | 緊急時の即座な機能無効化 |
| フラグごとにオーナーを指定 | 責任の明確化とクリーンアップ促進 |
避けるべきこと
| 禁止事項 | 問題点 |
|---|---|
| フラグのネスト | 複雑性の爆発的増加(2^n の組み合わせ) |
| ビジネスロジックへの埋め込み | コードの可読性低下 |
| 無期限のフラグ保持 | テクニカルデットの蓄積 |
| フラグなしでのテスト | 全状態の検証漏れ |
| フラグ命名の不統一 | 管理の困難化 |
リソース参照
references/(詳細知識)
| リソース | パス | 読込条件 |
|---|---|---|
| 基礎概念 | references/Level1_basics.md | 初回利用時 |
| 実装パターン | references/Level2_intermediate.md | 実装時 |
| 高度な戦略 | references/Level3_advanced.md | 複雑なロールアウト時 |
| エキスパートパターン | references/Level4_expert.md | スケール・最適化時 |
| 実装パターン詳細 | references/implementation-patterns.md | Phase 2実行時 |
| ロールアウト戦略 | references/rollout-strategies.md | Phase 3実行時 |
| フラグタイプリファレンス | references/flag-types.md | フラグタイプ選択時 |
| アンチパターン集 | references/anti-patterns.md | 設計レビュー時 |
scripts/(決定論的処理)
| スクリプト | 機能 |
|---|---|
scripts/audit-flags.mjs |
フラグ一覧の監査と分析 |
scripts/validate-flag.mjs |
フラグ定義の検証 |
scripts/log_usage.mjs |
フィードバック記録 |
assets/(テンプレート)
| アセット | 用途 |
|---|---|
assets/flag-template.ts |
TypeScript フラグ定義 |
assets/flag-config-schema.json |
フラグ設定のJSON Schema |
assets/rollout-plan.md |
ロールアウト計画テンプレート |
変更履歴
| Version | Date | Changes |
|---|---|---|
| 1.0.0 | 2025-12-31 | 初版作成。18-skills.md完全準拠版。 |
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?