From 1d3896491f0aed7e12b71df1ceae7e2f3a91983e Mon Sep 17 00:00:00 2001 From: mkorwel Date: Thu, 19 Feb 2026 20:52:29 -0600 Subject: [PATCH] docs(skill): add research and key files sections to experimentation skill --- .gemini/skills/experimentation/SKILL.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.gemini/skills/experimentation/SKILL.md b/.gemini/skills/experimentation/SKILL.md index a195221126..7a4f3c1daa 100644 --- a/.gemini/skills/experimentation/SKILL.md +++ b/.gemini/skills/experimentation/SKILL.md @@ -7,6 +7,10 @@ description: Guide developers through the process of adding new remote experimen This skill assists developers in adding net-new remote experiments (feature flags) to the Gemini CLI codebase. It acts as an interactive guide to ensure all necessary scaffolding, telemetry, command-line overrides, settings, and code placement are considered. +## Key Files +- `packages/core/src/code_assist/experiments/flagNames.ts`: Definitions and metadata for all experiment flags. +- `packages/core/src/config/config.ts`: Unified configuration object where strongly typed wrappers for experiments are added. + ## Core Pattern: Unified Configuration Gemini CLI uses a unified `Config` object as the source of truth. Every experiment should be accessed via the `config.getExperimentValue(flagId)` method, which internally handles the priority of overrides: @@ -16,6 +20,11 @@ Gemini CLI uses a unified `Config` object as the source of truth. Every experime When a user asks to add a new experiment, follow these steps sequentially: +### 0. Research and Discovery +- **Locate Existing Flags:** Read `packages/core/src/code_assist/experiments/flagNames.ts` to see current IDs and naming conventions. +- **Check for Duplicates:** Ensure the proposed experiment doesn't already exist or overlap with another flag. +- **Analyze Usage:** Search for `getExperimentValue` in `packages/core/src/config/config.ts` to see how similar experiments are wrapped and used. + ### 1. Scaffolding the Config Entry - **File:** `packages/core/src/code_assist/experiments/flagNames.ts` - Add the new experiment ID to `ExperimentFlags`.