Proactive requirements gathering - systematically interviews the user to uncover ambiguities, preferences, and constraints BEFORE implementation begins.
Proactively interviews users to gather requirements and resolve ambiguities before implementation begins.
/plugin marketplace add lerianstudio/ring/plugin install ring-default@ringThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Proactively surface and resolve ambiguities by systematically interviewing the user BEFORE implementation begins. This prevents wasted effort from incorrect assumptions.
Core principle: It's better to ask 5 questions upfront than to rewrite code 3 times.
Announce at start: "I'm using the interviewing-user skill to gather requirements before we begin."
| Phase | Key Activities | Tool | Output |
|---|---|---|---|
| 1. Context Analysis | Analyze task, identify ambiguities | Internal | Ambiguity inventory |
| 2. Question Clustering | Group questions by category | Internal | Prioritized question list |
| 3. Structured Interview | Ask questions using AskUserQuestion | AskUserQuestion | User responses |
| 4. Understanding Summary | Synthesize and confirm | Text output | Validated Understanding |
| 5. Proceed or Iterate | User confirms or clarifies | User input | Green light to proceed |
Copy this checklist to track progress:
Interview Progress:
- [ ] Phase 1: Context Analysis (ambiguities identified)
- [ ] Phase 2: Question Clustering (questions prioritized)
- [ ] Phase 3: Structured Interview (questions asked and answered)
- [ ] Phase 4: Understanding Summary (presented to user)
- [ ] Phase 5: Proceed or Iterate (user confirmed)
BEFORE asking any questions, analyze:
Create an Ambiguity Inventory:
Ambiguity Inventory:
- Architecture: [list unclear architectural decisions]
- Behavior: [list unclear behavioral requirements]
- Constraints: [list unclear constraints or limitations]
- Preferences: [list unclear user preferences]
- Integration: [list unclear integration points]
Group questions by category and prioritize:
| Priority | Category | Criteria |
|---|---|---|
| P0 | Blocking | Cannot proceed without answer |
| P1 | Architecture | Affects overall structure |
| P2 | Behavior | Affects user-facing functionality |
| P3 | Preferences | Affects style, not correctness |
Question Budget:
Use AskUserQuestion tool with well-structured options:
Question Quality Checklist:
Example - Good Question:
header: "Auth Method"
question: "The codebase has both session-based auth (UserService) and JWT (APIService). Which should this new endpoint use?"
options:
- label: "Session-based (Recommended)"
description: "Matches existing user-facing endpoints, simpler cookie handling"
- label: "JWT tokens"
description: "Matches API patterns, better for external integrations"
- label: "Support both"
description: "Maximum flexibility, more implementation complexity"
Example - Bad Question:
question: "What authentication should I use?"
options:
- label: "Option 1"
- label: "Option 2"
After gathering responses, synthesize into a Validated Understanding:
## Validated Understanding
### What We're Building
[1-2 sentence summary of the goal]
### Key Decisions Made
| Decision | Choice | Rationale |
|----------|--------|-----------|
| [Topic] | [Selected option] | [Why this was chosen] |
### Constraints Confirmed
- [Constraint 1]
- [Constraint 2]
### Out of Scope (Explicit)
- [Thing we're NOT doing]
### Assumptions (If Any)
- [Assumption]: [What would invalidate this]
Present this to the user for confirmation.
Confirmation Gate:
Understanding is NOT confirmed until user explicitly says:
These do NOT mean confirmation:
If not confirmed: Return to Phase 3 with targeted follow-up questions.
Claude SHOULD invoke this skill automatically when:
Claude should NOT auto-trigger when:
| Anti-Pattern | Why It's Wrong | Correct Approach |
|---|---|---|
| Asking without exploring first | Wastes user's time | Explore codebase THEN ask |
| Open-ended questions only | Hard to answer, vague responses | Provide concrete options |
| Too many questions at once | Overwhelming | Max 4 per round, max 3 rounds |
| Asking about things user already said | Shows you weren't listening | Re-read conversation first |
| Asking preferences when conventions exist | CLAUDE.md/codebase already answers | Follow existing patterns |
| Skipping summary phase | User can't correct misunderstandings | Always present Validated Understanding |
| Skill | Relationship |
|---|---|
doubt-triggered-questions | Use for single questions during work; use interviewing-user for systematic upfront gathering |
brainstorming | Interview first to gather requirements, THEN brainstorm solutions |
writing-plans | Interview first to clarify scope, THEN create plan |
This skill uses these universal patterns:
skills/shared-patterns/state-tracking.mdskills/shared-patterns/failure-recovery.mdskills/shared-patterns/exit-criteria.mdInterview is complete when ALL of these are true:
| Principle | Application |
|---|---|
| Explore before asking | 30 seconds of exploration can save a question |
| Structured choices | Use AskUserQuestion with 2-4 concrete options |
| Show your work | Include what you found and why you're uncertain |
| Respect time | Max 3 rounds, max 4 questions per round |
| Confirm understanding | Always present summary for validation |
| Iterate if needed | Unclear confirmation = ask follow-up |
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.