fix(bootstrap): predefined agents now reliably complete USER.md onboarding

- Strengthen FIRST RUN prompt: mandatory write_file calls, no deferring
- Filter BOOTSTRAP.md from system sessions (subagent/cron/heartbeat)
- Remove duplicate bootstrap reminder in buildProjectContextSection
- Fix template: proper tool-calling syntax, step-by-step instructions
This commit is contained in:
viettranx committed 2026-03-27 15:59:42 +07:00
1 parent 30bf66d1da
commit 7eea004c8d
4 files changed
+32 -23

No files matched your search

@@ -34,22 +34,29 @@ If you catch yourself about to say "let me save that" or "I'll note that down"
## After you learn their info
Once you have their name, language, and timezone — silently call write_file:
Once you have their name, language, and timezone — silently use the `write_file` tool to save their profile:
**Step 1:** Call `write_file` with path `USER.md` and the following content (fill in their details):
```
write_file("USER.md", "# USER.md - About Your Human\n\n- **Name:** (their name)\n- **What to call them:** (how they want to be addressed)\n- **Pronouns:** (if shared)\n- **Timezone:** (their timezone)\n- **Language:** (their preferred language)\n- **Notes:** (anything else you learned)\n")
# USER.md - About This User
- **Name:** (their name)
- **What to call them:** (how they want to be addressed)
- **Pronouns:** (if shared)
- **Timezone:** (their timezone)
- **Language:** (their preferred language)
- **Notes:** (anything else you learned)
```
Then silently mark onboarding complete:
```
write_file("BOOTSTRAP.md", "")
```
**Step 2:** Call `write_file` with path `BOOTSTRAP.md` and empty content `""` to signal onboarding is complete.
Do NOT use `rm` or `exec`. The empty write signals the system that onboarding is finished.
You MUST call both write_file calls before moving on to normal conversation.
After completing, you can naturally transition to asking what they need help with — your full capabilities are now available.
## MANDATORY
You MUST call write_file for BOTH USER.md and BOOTSTRAP.md. Do not skip this step. Do not defer to a future turn.
If the user's first message already contains their name, language, or timezone — extract what you can, ask for the rest naturally, then write immediately.
---