-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
deep-interview: ambiguityThreshold in settings.json is documented but never read at runtime #2192
Description
Summary
The deep-interview skill documents an optional ambiguityThreshold configuration in .claude/settings.json (SKILL.md line 544-561), but the execution steps never read this value. The threshold is hardcoded to 0.2 in the state initialization (line 84-85), so user-configured values like 0.15 are silently ignored.
Steps to Reproduce
- Add configuration to
.claude/settings.json:
{
"omc": {
"deepInterview": {
"ambiguityThreshold": 0.15
}
}
}- Run
/deep-interviewwith any idea - Observe that the announcement says "ambiguity drops below 20%" and the state has
"threshold": 0.2
Expected Behavior
The skill should read the configured ambiguityThreshold from settings.json and use it instead of the hardcoded default 0.2.
Root Cause
In skills/deep-interview/SKILL.md:
- Line 84: State initialization hardcodes
"threshold": 0.2 - Line 94-95: Announcement text hardcodes
"ambiguity drops below 20%" - Line 544-561: Configuration section documents the setting — but no step in Phase 1 says "read settings.json and override the default"
The Configuration section declares the interface, but the Steps section never references it. There is no "if user configured ambiguityThreshold, use that value" logic in the initialization flow.
Suggested Fix
Add a step in Phase 1 (between steps 3 and 4) that reads the user's settings.json configuration and applies overrides before initializing state. For example:
3.5. Load user configuration: Read
.claude/settings.json. Ifomc.deepInterview.ambiguityThresholdis set, use that value asthresholdinstead of the default0.2. Apply the same override logic for other documented config keys (maxRounds,softWarningRounds, etc.).
And update the announcement template (line 94-95) to use the dynamic threshold value instead of hardcoded "20%".
Environment
- oh-my-claudecode version: 4.10.1
- Claude Code CLI