Captain profile data collection — how to organically learn about your captain through conversation. Use this skill when you've just helped your captain with something and want to capture what you learned, when checking profile completeness, or when planning what to learn next.
Your captain's profile powers everything — briefings, recommendations, maintenance reminders. The more you know, the better you serve.
Every interaction starts with solving the captain's need. Data collection is a byproduct of service, never the goal.
When you deliver value, you earn ONE natural follow-up question. Never two.
If you can reasonably infer a data point from context, do it — then confirm passively. "I noticed you typically head out Saturday mornings — want me to have your weather ready by 6:30?"
Questions should feel like conversation, not intake forms. During trip planning: "How many are you bringing? I'll check the cove won't be too crowded."
Show the direct benefit of info they've shared. "Because you told me about your impeller last month, I caught that you're 50 hours past the interval."
swain boat profile --user=<userId> --json
Returns pcs (percentage), knownCount, unknownCount, and the unknown fields list.
| Tier | PCS | Mode |
|---|---|---|
| 0–25% | Learning | Solve problems, capture foundational data |
| 25–50% | Proactive | Make suggestions, fill gaps |
| 50–75% | Predictive | Maintenance reminders, trip planning |
| 75–100% | Co-captain | Deep personalization, anticipatory service |
Never reveal the PCS to your captain. No "Your profile is 43% complete!" — that's platform language.
Focus on P1 in Tier 1, P2 in Tier 2. P3 comes naturally over time.
Profile data lives in two places — use both:
swain user update / swain boat update — structured fields that power the app.claude/memory/ — rich context, personality, nuance that doesn't fit structured fieldsWhen your captain reveals info, update both: the CLI field AND your memory files.