Best for
- Building a new product or system from scratch
- Major platform redesign or migration
- The scope is large enough that getting the design wrong is costly
xoai/sage/core/capabilities/elicitation/deep-elicit/SKILL.md
Comprehensive requirements elicitation through Socratic conversation, producing a product brief with problem, users, scope, and success criteria in ~10 minutes. Use when starting a new product, designing a system from scratch, planning a major redesign, or when the user says "I want to build", "new project", or "help me plan this product".
Decision brief
Guide the human through comprehensive discovery of what they're building and why. Not a form to fill — a conversation that surfaces the important decisions.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/xoai/sage --skill "core/capabilities/elicitation/deep-elicit"Inspect the Agent Skill "deep-elicit" from https://github.com/xoai/sage/blob/f7cc487b393474030cef15d50efdbb195612b756/core/capabilities/elicitation/deep-elicit/SKILL.md at commit f7cc487b393474030cef15d50efdbb195612b756. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Start with the WHY, not the WHAT. Ask:
ARCHITECT mode, before architecture or planning. When: - Building a new product or system from scratch - Major platform redesign or migration - The scope is large enough that getting the design wrong is costly
Start with the WHY, not the WHAT. Ask:
[Chose framing]. Pain: [pain]. Challenged: [premise names]. (deep-elicit Round 1)
Now narrow from problem to solution:
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 86/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 25 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Guide the human through comprehensive discovery of what they're building and why. Not a form to fill — a conversation that surfaces the important decisions.
Core Principle: The most expensive bugs are requirements bugs. Spending 10 minutes on elicitation saves days of rework. But spending 60 minutes loses the human's attention. Be thorough AND efficient.
ARCHITECT mode, before architecture or planning. When:
Do NOT use when:
quick-elicit instead — faster, less thorough)Start with the WHY, not the WHAT. Ask:
"What problem are you solving? Who has this problem?" Get the core pain point and who feels it. "I want to build a task app" is not enough — "My team loses track of client deliverables across 5 projects" is better.
"What happens if this problem isn't solved? What are people doing now?" Understand urgency and current alternatives. This grounds the conversation in reality — are people using spreadsheets? A competitor? Nothing?
"What does success look like in 3 months?" Concrete, measurable. Not "users love it" but "50 active teams managing projects, 80% weekly retention."
Draft and show:
PROBLEM BRIEF:
Problem: [specific pain point]
Who: [target users — be specific]
Current alternative: [what they do today]
Success: [measurable 3-month goal]
"Does this capture the real problem? Anything to adjust?"
Premise challenge (after Problem Brief is confirmed):
Before moving to Round 2, surface 2-3 implicit premises in the user's framing. Present as brief observations:
Before we scope this — I see a few assumptions worth examining:
1. [Premise]: [one sentence stating the assumption]
→ [one sentence describing why it might be wrong]
2. [Premise]: [one sentence stating the assumption]
→ [one sentence describing why it might be wrong]
3. [Premise]: [one sentence stating the assumption]
→ [one sentence describing why it might be wrong]
Do these hold, or should we adjust our framing?
deep-elicit can challenge 2-3 premises (vs. quick-elicit's 1-2) because the architect workflow operates at higher stakes and the user expects a more thorough examination.
What counts as a premise: The framing of the problem itself, the assumed solution category, the assumed scope, the assumed user, the assumed timeline. NOT technical choices — those come in Round 2/3.
Record the framing decision in the brief's Vision section and
prepend to .sage/decisions.md:
### YYYY-MM-DD — Framing: [initiative]
[Chose framing]. Pain: [pain]. Challenged: [premise names].
(deep-elicit Round 1)
Now narrow from problem to solution:
"If you could only ship THREE features for launch, what are they?" Forces ruthless prioritization. Everything else is post-launch.
"What should this explicitly NOT do? What's tempting but out of scope?" Boundaries prevent scope creep. "We won't build a mobile app for v1" is a useful constraint.
"Are there constraints I should know? Budget, timeline, team size, compliance, existing systems to integrate with?" Non-functional requirements surface here — security, performance, scale, accessibility, regulatory.
Draft and show:
SCOPE:
Must have (launch): [3 features]
Won't have (v1): [explicit exclusions]
Constraints: [non-functional requirements]
"Walk me through the most important user flow, step by step." Get the happy path. "User signs up → creates a project → adds tasks → assigns to team → dashboard shows status." This becomes the architecture driver.
"Who else uses this besides the primary user? (admin, viewer, API consumer?)" Multiple user types = different permission models, different UI surfaces.
"What's the most complex or risky part of this?" The human usually knows where the dragons are. This is where architecture attention should focus.
Draft and show:
USERS:
Primary: [who, what they do]
Secondary: [other user types]
KEY FLOW:
1. [step] → 2. [step] → 3. [step] → ...
HIGH RISK AREAS:
- [identified complexity]
Combine all rounds into .sage/work/<YYYYMMDD>-<slug>/brief.md:
# Product Brief: [name]
## Problem
[from Round 1]
## Users
[from Round 3]
## Success Criteria
[measurable, from Round 1]
## Scope
### Must Have (Launch)
[from Round 2]
### Won't Have (v1)
[from Round 2]
## Key User Flow
[from Round 3]
## Constraints
[from Round 2]
## High Risk Areas
[from Round 3]
Show the complete brief. Wait for approval. "Here's the product brief. This is the foundation for architecture and planning. Ready to proceed, or anything to adjust?"
MUST (violation = bad brief or lost trust):
SHOULD (violation = suboptimal elicitation):
MAY (context-dependent):