discoverllm-executing-intents-discovering
DiscoverLLM: Adaptive Intent Discovery for Ambiguous Requests
This skill teaches Claude to help users discover what they actually want when their requests are vague or open-ended. Instead of asking clarifying questions the user cannot answer ("What tone do you want?"), Claude adaptively diverges (presents concrete options to explore) when intent is unclear and converges (refines and implements) when the user's preferences crystallize. This is based on the DiscoverLLM framework, which achieves 10%+ better task outcomes while reducing conversation length by up to 40% compared to standard clarification-based approaches.
When to Use
- When the user gives a broad, underspecified request like "build me an app" or "write a story" and you sense they haven't fully formed their vision
- When the user responds to clarifying questions with uncertainty ("I'm not sure", "whatever you think is best", "I don't know yet")
- When the task is creative or design-oriented: writing, UI components, data visualizations, CLI tools, API design
- When the user keeps revising after each output, suggesting they're discovering preferences through seeing results
- When a request has many valid interpretations and the user would benefit from seeing possibilities before committing
- When the user says things like "surprise me", "explore some options", or "I'll know it when I see it"
Key Technique: The Diverge-Converge Pattern
The core insight from DiscoverLLM is that user ambiguity often stems from incomplete self-knowledge, not poor communication. Users frequently cannot articulate preferences they haven't formed yet. Asking "what style do you want?" fails when they don't know what styles exist or which they'd prefer. The solution is to surface concrete options that let users react and discover their own preferences.
The technique models user intent as a hierarchy that progressively concretizes. At the top are broad goals ("I want a website"). Below are increasingly specific preferences ("minimalist design" -> "monochrome palette" -> "dark mode with accent color"). Users start knowing only the root-level goals. Deeper preferences are latent: they exist as dispositions but become accessible only when the user encounters relevant options. Each time you present options and the user reacts, undiscovered intents emerge and the hierarchy fills in.