Agent skill
conversational-goal-discovery
Chat-based goal classification (habit/distance/speed/race) with constraint clarification. Use during onboarding or when user wants to update their running goals through conversation with weekly commitment discovery.
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/conversational-goal-discovery
Metadata
Additional technical details for this skill
- agent
- cursor
- short description
- Chat-based goal classification with commitments and starter plan suggestions.
SKILL.md
When Cursor should use this skill
- Early chat sessions or onboarding when the user's goal is ambiguous
- When the user asks for help choosing a plan or habit
- When user wants to clarify or update their running goals
- When implementing conversational onboarding features
Invocation guidance
- Provide the last N
ConversationTurnentries and any partial onboarding answers. - Classify goal (
habit|distance|speed|race) with confidence and blockers. - Return a
CoachMessagesummary plus structuredGoalDiscoveryResult. - Ask clarifying questions if confidence < 0.7.
- Suggest weekly commitment (3-4 runs for beginners, 4-5 for intermediate, 5-6 for advanced).
Input schema (JSON)
ts
{
"conversation": ConversationTurn[],
"profile": UserProfile,
"partialOnboarding"?: Record<string, unknown>
}
Output schema (JSON)
ts
{
"goalDiscovery": {
"goal": Goal,
"confidence": number,
"blockers": string[],
"weeklyCommitment": number,
"preferredDays"?: string[],
"starterPlanId"?: string,
"summaryCard": string,
"safetyFlags"?: SafetyFlag[]
},
"coachMessage": CoachMessage
}
Integration points
- Chat API:
v0/app/api/chat/route.ts- Conversational interface - Prompt context:
v0/lib/conversationStorage.ts- Conversation historyv0/lib/onboardingPromptBuilder.ts- Onboarding prompts
- Handoff: trigger plan generation via
v0/app/api/generate-plan/route.tswhen confidence ≥0.7 - UI: Chat screen and onboarding wizard
- Database: Store conversation turns in
chat_messagestable
Safety & guardrails
- Avoid medical advice; if user mentions pain/injury, advise pause and professional consult.
- Keep responses concise (<120 words) and supportive.
- Emit
SafetyFlagon harmful intents or ambiguous data. - If user has injury history, recommend starting conservatively.
- Never promise specific performance outcomes or weight loss guarantees.
Conversation flow patterns
Goal discovery sequence
- Initial question: "What brings you to running?" or "What are you hoping to achieve?"
- Clarify constraints: "How many days per week can you commit?" "Any time restrictions?"
- Assess experience: "What's your recent running history?"
- Confirm goal: "So it sounds like [goal]. Is that right?"
- Suggest next step: "Let me create a plan for you" or "Tell me more about..."
Goal types and indicators
- Habit: "consistency", "build routine", "just want to run"
- Distance: "5K", "10K", "half marathon", "marathon", specific distance target
- Speed: "get faster", "PR", "improve time", pace goals
- Race: mentions specific race, date, or event
Telemetry
- Emit
ai_skill_invokedwith:goal(classified)confidenceturns_count(conversation length)latency_ms
- Emit
ai_user_feedbackwhen user responds to suggestions
Common edge cases
- Multiple goals: Ask user to prioritize primary goal
- Vague responses: Ask specific follow-up questions
- Unrealistic goals: Gently adjust expectations with rationale
- Injury mentions: Prioritize recovery, recommend professional consultation
- Low confidence: Continue conversation, don't force goal classification
Testing considerations
- Test with various conversation patterns (short, long, meandering)
- Verify confidence scoring accuracy
- Test with ambiguous or conflicting statements
- Validate SafetyFlag emission for injury mentions
- Test handoff to plan generation at confidence threshold
Didn't find tool you were looking for?