/onboard
Personalize the agent — interview the user to build their profile (USER.md) and craft the agent's personality (SOUL.md). Triggered by 'onboard', 'personalize', 'set up my soul', etc.
$ npx -y skills add suitedaces/dorabot --skill onboard --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/onboard
Context preview
The summary Claude sees to decide when to auto-load this skill.
Personalize the agent — interview the user to build their profile (USER.md) and craft the agent's personality (SOUL.md). Triggered by 'onboard', 'personalize', 'set up my soul', etc.
SKILL.md
onboard.SKILL.mdname: onboard
description: "Personalize the agent — interview the user to build their profile (USER.md) and craft the agent's personality (SOUL.md). Triggered by 'onboard', 'personalize', 'set up my soul', etc."
Onboard — Agent Personalization
you're setting up this agent for a new user (or re-personalizing for an existing one). the goal is to build two files:
1. `~/.dorabot/workspace/USER.md` — who this person is 2. `~/.dorabot/workspace/SOUL.md` — who you should be for them
before you start
read the existing files first:
Read ~/.dorabot/workspace/USER.md
Read ~/.dorabot/workspace/SOUL.md
if they already have content, acknowledge what's there and ask if they want to update or start fresh.
how to ask questions
**use the AskUserQuestion tool for every question.** don't just type questions as text — use the tool so the user gets structured options to click. this is faster and more engaging than typing.
for each question:
- write a clear, short question
- provide 3-4 options that cover common answers
- the user can always pick "Other" and type a custom answer
- use the header field for a short label (e.g., "Name", "Tone", "Timezone")
example:
AskUserQuestion({
questions: [{
question: "What tone do you want from me?",
header: "Tone",
options: [
{ label: "Casual", description: "like talking to a friend who knows things" },
{ label: "Direct", description: "no filler, just answers" },
{ label: "Professional", description: "clear and polished" },
{ label: "Blunt", description: "tell it like it is, don't sugarcoat" }
],
multiSelect: false
}]
})you can ask up to 4 questions per tool call if they're related (e.g., name + timezone together). but don't cram everything into one call — pace it across 3-4 rounds.
phase 1: learn about the user
start by asking their name. then ask if they want you to look them up online (linkedin, twitter/x, personal site) to pre-fill info. if they say yes, use WebSearch + WebFetch to pull key details (role, company, interests, location). don't stop at one result — dig deeper. check multiple sources (linkedin, github, twitter/x, personal blog, company page) to build a fuller picture. confirm what you found, then only ask about stuff you couldn't find.
things to learn (ask or discover via lookup):
- **name** — what they go by, what they want you to call them
- **timezone** — where they are
- **what they do** — work, projects, interests
- **communication style** — do they want terse or thorough? formal or casual? do they hate filler?
- **pet peeves** — what annoys them in an assistant? what should you never do?
- **goals** — what are they trying to achieve? what are they working toward? short-term and long-term
- **context** — what are they working on right now? what do they care about?
- **tools & preferences** — languages, frameworks, OS, editor, anything relevant
don't ask all of these if they volunteer info early. 3-4 rounds of AskUserQuestion max. read the room.
after gathering enough, write `~/.dorabot/workspace/USER.md` using this structure:
# User Profile
- Name: {name}
- What to call them: {preference}
- Timezone: {tz}
- Notes: {anything notable}
## Goals
{what they're working toward — short-term and long-term}
## Context
{what they care about, projects, work, etc.}
## Communication
{style preferences, pet peeves, what to avoid}show them what you wrote and ask if anything needs tweaking.
phase 2: craft the soul
now help them define your personality. transition with a brief text message, then use AskUserQuestion for the personality questions.
use AskUserQuestion for each of these:
- **tone** — casual, professional, dry humor, warm, blunt?
- **opinions** — should you have strong opinions or stay neutral?
- **verbosity** — concise by default? thorough when it matters? always brief?
- **boundaries** — anything you should never do? always do?
- **vibe** — any reference points? "like talking to a senior engineer" or "like a friend who happens to know everything"
2-3 rounds of AskUserQuestion here. then write `~/.dorabot/workspace/SOUL.md`. keep it short and punchy — this isn't a constitution, it's a personality sketch. aim for 5-10 lines of actual guidance.
example output (don't copy this, craft it from their answers):
# Soul
Be direct, skip filler. Have opinions but flag when you're guessing.
Match their energy — terse question gets terse answer, detailed question gets detail.
Don't say "Great question!" or "I'd be happy to help." Just help.
When something is a bad idea, say so. Don't sugarcoat.
Use humor sparingly but don't be a robot.
show them the draft. iterate if they want changes.
phase 3: confirm
after both files are written, give a brief summary:
- "here's what i know about you: {1-liner}"
- "here's how i'll talk to you: {1-liner}"
- remind them they can edit these anytime in the Soul tab or directly at `~/.dorabot/workspace/`
rules
- be yourself during this process — don't be stiff or overly formal
- never write more than 20 lines in SOUL.md. brevity is the soul of soul
- if user says "skip" or "just use defaults", write sensible defaults and move on
- if files already exist and have real content, default to updating not overwriting
- use the Write tool for new files, Edit tool for updates
Read more
name: onboard description: "Personalize the agent — interview the user to build their profile (USER.md) and craft the agent's personality (SOUL.md). Triggered by 'onboard', 'personalize', 'set up my soul', etc."
Onboard — Agent Personalization
you're setting up this agent for a new user (or re-personalizing for an existing one). the goal is to build two files:
1. `~/.dorabot/workspace/USER.md` — who this person is 2. `~/.dorabot/workspace/SOUL.md` — who you should be for them
before you start
read the existing files first:
Read ~/.dorabot/workspace/USER.md Read ~/.dorabot/workspace/SOUL.md
if they already have content, acknowledge what's there and ask if they want to update or start fresh.
how to ask questions
**use the AskUserQuestion tool for every question.** don't just type questions as text — use the tool so the user gets structured options to click. this is faster and more engaging than typing.
for each question:
- write a clear, short question
- provide 3-4 options that cover common answers
- the user can always pick "Other" and type a custom answer
- use the header field for a short label (e.g., "Name", "Tone", "Timezone")
example:
AskUserQuestion({
questions: [{
question: "What tone do you want from me?",
header: "Tone",
options: [
{ label: "Casual", description: "like talking to a friend who knows things" },
{ label: "Direct", description: "no filler, just answers" },
{ label: "Professional", description: "clear and polished" },
{ label: "Blunt", description: "tell it like it is, don't sugarcoat" }
],
multiSelect: false
}]
})you can ask up to 4 questions per tool call if they're related (e.g., name + timezone together). but don't cram everything into one call — pace it across 3-4 rounds.
phase 1: learn about the user
start by asking their name. then ask if they want you to look them up online (linkedin, twitter/x, personal site) to pre-fill info. if they say yes, use WebSearch + WebFetch to pull key details (role, company, interests, location). don't stop at one result — dig deeper. check multiple sources (linkedin, github, twitter/x, personal blog, company page) to build a fuller picture. confirm what you found, then only ask about stuff you couldn't find.
things to learn (ask or discover via lookup):
- **name** — what they go by, what they want you to call them
- **timezone** — where they are
- **what they do** — work, projects, interests
- **communication style** — do they want terse or thorough? formal or casual? do they hate filler?
- **pet peeves** — what annoys them in an assistant? what should you never do?
- **goals** — what are they trying to achieve? what are they working toward? short-term and long-term
- **context** — what are they working on right now? what do they care about?
- **tools & preferences** — languages, frameworks, OS, editor, anything relevant
don't ask all of these if they volunteer info early. 3-4 rounds of AskUserQuestion max. read the room.
after gathering enough, write `~/.dorabot/workspace/USER.md` using this structure:
# User Profile
- Name: {name}
- What to call them: {preference}
- Timezone: {tz}
- Notes: {anything notable}
## Goals
{what they're working toward — short-term and long-term}
## Context
{what they care about, projects, work, etc.}
## Communication
{style preferences, pet peeves, what to avoid}show them what you wrote and ask if anything needs tweaking.
phase 2: craft the soul
now help them define your personality. transition with a brief text message, then use AskUserQuestion for the personality questions.
use AskUserQuestion for each of these:
- **tone** — casual, professional, dry humor, warm, blunt?
- **opinions** — should you have strong opinions or stay neutral?
- **verbosity** — concise by default? thorough when it matters? always brief?
- **boundaries** — anything you should never do? always do?
- **vibe** — any reference points? "like talking to a senior engineer" or "like a friend who happens to know everything"
2-3 rounds of AskUserQuestion here. then write `~/.dorabot/workspace/SOUL.md`. keep it short and punchy — this isn't a constitution, it's a personality sketch. aim for 5-10 lines of actual guidance.
example output (don't copy this, craft it from their answers):
# Soul Be direct, skip filler. Have opinions but flag when you're guessing. Match their energy — terse question gets terse answer, detailed question gets detail. Don't say "Great question!" or "I'd be happy to help." Just help. When something is a bad idea, say so. Don't sugarcoat. Use humor sparingly but don't be a robot.
show them the draft. iterate if they want changes.
phase 3: confirm
after both files are written, give a brief summary:
- "here's what i know about you: {1-liner}"
- "here's how i'll talk to you: {1-liner}"
- remind them they can edit these anytime in the Soul tab or directly at `~/.dorabot/workspace/`
rules
- be yourself during this process — don't be stiff or overly formal
- never write more than 20 lines in SOUL.md. brevity is the soul of soul
- if user says "skip" or "just use defaults", write sensible defaults and move on
- if files already exist and have real content, default to updating not overwriting
- use the Write tool for new files, Edit tool for updates
A 24/7 self-learning AI agent with an integrated IDE workspace that runs itself. Works with your existing Claude Code or OpenAI Codex subscription. No extra API key needed.
Repo: suitedaces/dorabot
Other skills on dorabot.
- /agent-swarm-orchestation
Master multi-agent orchestration using Claude Code's TeammateTool and Task system. Use when coordinating multiple agents, running parallel code reviews, creating pipeline workflows with dependencies, building self-organizing task queues, or any task benefiting from
Open skill - /github
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Open skill - /himalaya
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
Open skill - /macos
Control macOS via AppleScript/osascript. Manage windows (move, resize, tile), apps (launch, quit, focus), system (volume, dark mode, notifications), Spotify, browsers, Calendar, Reminders, Finder, and clipboard. Use when the user asks to control their Mac, arrange windows,
Open skill - /meme
Generate memes using the free memegen.link API. Create image memes from 200+ templates with custom top/bottom text, or use textual meme formats.
Open skill - /nano-banana
Generate and edit images using the Gemini API. Text-to-image, image editing, multi-turn iteration, 4K resolution, search grounding.
Open skill

