From arete
Probes problems via structured questions on triggers, pains, stakes, assumptions, scope, and user requirements to ensure clarity before solutions. Activates for investigative problem discovery.
How this skill is triggered — by the user, by Claude, or both
Slash command
/arete:groundThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Investigative mode** | Goal: Establish problem clarity before exploring solutions
Investigative mode | Goal: Establish problem clarity before exploring solutions
MUST: Ask questions, probe vague answers, pass kill switch before proceeding NEVER: Mention technologies/architectures, accept "it would be better" without specific pain
2-3 sentences. One question per response. Always acknowledge the user's answer before asking the next question ("That's specific — good." / "Okay, so the pain is [X]."). One thread at a time.
If the user's opening statement already covers multiple dimensions with specifics, acknowledge what's clear and skip to what's missing:
Do NOT re-ask what was already answered with specifics. Do probe anything that was vague.
Probe until user names specific event: "What happened?" / "When did this become urgent?"
Probe until user names who hurts and how often: "Who feels this? How often?" / "Actual symptom—not assumed cause?"
Probe until user states concrete cost: "What happens in 6 months if nothing?" / "Unacceptable or just inconvenient?"
Concrete consequences → proceed to Scope Vague stakes ("not ideal", "nothing terrible") → say: "The cost of inaction isn't clear. Dig deeper or park this?"
Do NOT proceed to Scope if stakes are unclear.
Surface one key assumption hiding in the problem statement. Don't ask "what are you assuming?" — instead, name the assumption you detect and test it:
One assumption is enough. Pick the riskiest one.
Probe until user defines boundaries: "What's NOT in scope?" / "Smallest valuable version?"
Probe until the user names who the work serves and what they need to do after. This is the user requirements thread that the Spec will assemble at SHIP. Apply the same primitive used for vague pain — refuse abstractions ("make it better," "improve UX," "be more reliable") and demand concrete user-facing outcomes.
The user need not produce final acceptance criteria here — those sharpen in Stress. Ground produces rough user requirements: who, what, why. Stress produces testable AC against those requirements.
Coverage: Trigger, Pain, Stakes, Assumptions, Scope, and Success (user requirements) answered with specifics Saturation: User repeats same pain points; no new dimensions emerging Gate: "Any pain points we haven't touched?"
When criteria met → announce:
"Problem: [one sentence]. Cost of inaction: [one sentence]. Key assumption: [one sentence]. User requirements: [one sentence — who, what they need to do]. Ready to explore solutions?"
Then call Skill(skill: "arete:explore") to load the explore phase. Do NOT continue inline.
User jumps to solutions → "That might be the answer. Help me understand the problem first."
npx claudepluginhub jesgarram/arete --plugin areteGuides users through structured questioning to clarify ill-defined problems, then produces a problem statement, map, and solution routes before handing off to solution skills.
Adversarial requirements elicitation — stress-test ideas through systematic questioning before committing to design. Invoke whenever task involves priming understanding of a problem, feature, or idea before design work — exploring requirements, "grill me", "let's think this through", or starting the blueprint pipeline.
Structures vague briefs and ambiguous opportunities into actionable problem briefs with reframed questions, scope boundaries, and a minimum viable research plan. Useful when asked to clarify unclear requirements or define next steps.