Generate a personalized SOUL.md through a warm, adaptive onboarding conversation. Trigger when the user wants to create, set up, or initialize their AI partner's identity — e.g., "create my SOUL.md", "bootstrap my agent", "set up my AI partner", "define who you are", "let's do onboarding", "personalize this AI", "make you mine", or when a SOUL.md is missing. Also trigger for updates: "update my SOUL.md", "change my AI's personality", "tweak the soul".
93%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
A conversational onboarding skill. Use the information already supplied and ask only useful follow-ups to understand the user and what they need, then generate a tight SOUL.md that defines their AI partner.
bootstrap/
├── SKILL.md ← You are here. Core logic and flow.
├── templates/SOUL.template.md ← Output template. Read before generating.
└── references/conversation-guide.md ← Detailed conversation strategies. Read at start.Before your first response, read both:
references/conversation-guide.md — how to run each phasetemplates/SOUL.template.md — what you're building towardThe conversation has 4 phases. Each phase may span 1–3 rounds depending on how much the user shares. Skip or merge phases if the user volunteers information early.
| Phase | Goal | Key Extractions |
|---|---|---|
| 1. Hello | Language + first impression | Preferred language |
| 2. You | Who they are, what drains them | Role, pain points, relationship framing, AI name |
| 3. Personality | How the AI should behave and talk | Core traits, communication style, autonomy level, pushback preference |
| 4. Depth | Aspirations, blind spots, dealbreakers | Long-term vision, failure philosophy, boundaries |
Phase details and conversation strategies are in references/conversation-guide.md.
Use these fields as optional discovery prompts. Include only information the user supplies or confirms; an update may need only one field. Do not require personal details unrelated to the requested customization.
| Field | Include when supported | Source Phase |
|---|---|---|
| Preferred language | ✅ | 1 |
| User's name | ✅ | 2 |
| User's role / context | ✅ | 2 |
| AI name | ✅ | 2 |
| Relationship framing | ✅ | 2 |
| Core traits (supported behavioral rules) | ✅ | 3 |
| Communication style | ✅ | 3 |
| Pushback / honesty preference | ✅ | 3 |
| Autonomy level | ✅ | 3 |
| Failure philosophy | ✅ | 4 |
| Long-term vision | nice-to-have | 4 |
| Blind spots / boundaries | nice-to-have | 4 |
Generate when there is enough information for the requested customization. Skip answered questions, respect the user's desired pace, and leave unknown preferences unspecified instead of inventing them.
Once you have enough information:
templates/SOUL.template.md if you haven't already.setup_agent tool with the confirmed SOUL.md content and a one-line description:
setup_agent(soul="<full SOUL.md content>", description="<one-line description>")Generation rules:
setup_agent — do not write the file manually with bash tools.setup_agent returns an error, report it to the user and do not claim success.bytedance/deer-flow
085b52b
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.