Skip to content

[Feature] Onboarding completion criteria — at least one skill or exhausted attempts #596

Closed

Description

@graycyrus

Summary

Define and enforce clear completion criteria for the onboarding conversation: agent marks done only after user connects at least one skill OR agent has genuinely tried and user declined.

Problem

Currently the welcome agent can call complete_onboarding({"action": "complete"}) at any point with no enforced minimum engagement. This means onboarding can be "completed" after a single exchange with no skills connected.

Solution

Combine prompt-level and code-level guards:

Prompt-level (in prompt.md):

  • Agent instructed to only call complete after: (a) at least one skill connected, OR (b) offered connections 2-3 times and user explicitly declined
  • AND at least 3 back-and-forth exchanges have occurred

Code-level (in complete_onboarding.rs):

  • complete action validates minimum criteria before flipping the flag
  • If criteria not met, return error with reason: "User hasn't connected any skills and minimum exchanges not reached"
  • The check_status action returns ready_to_complete: bool and reason: string

Graceful fallback:

  • If user says "skip", "later", "not now" — agent acknowledges, briefly explains how to connect later (settings), then completes
  • If user is clearly disengaged after 3+ exchanges — agent wraps up gracefully

Acceptance criteria

  • Minimum exchanges — complete action rejects if fewer than 3 back-and-forth exchanges
  • Skill attempt — Agent tries to get at least one skill connected before completing
  • Graceful decline — If user declines all skills, agent completes after explaining how to connect later
  • Skip support — "Skip" / "later" / "not now" recognized as explicit decline, handled gracefully
  • Server-side enforcement — complete_onboarding tool enforces criteria, not just prompt-level
  • Status reporting — check_status returns ready_to_complete with reason

Related


Parent: #599 — Conversational onboarding agent

Activity

  1. added a commit that references this issue on Apr 16, 2026
  2. moved this from Todo to Done in Team Openhumanon Apr 16, 2026
  3. closed this as completedby moving to Done in Team Openhumanon Apr 16, 2026
  4. added theissue type on Aug 9, 2026
  5. added a commit that references this issue on Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions