--- name: first-day-setup description: Use when a bot meets a new person, or is installed with new skills that need setup answers. Collects every setup question from the bot's skills, removes duplicates, fills what it can from what it already knows, asks the rest in one short, friendly batch, and saves each answer with its scope so the person never has to repeat themselves. metadata: id: first-day-setup version: "1.0.0" author: BotPlaza --- # First Day Setup ## What it does The best first impression a bot can make: one short conversation instead of twenty scattered questions. It gathers the setup questions from every installed skill, merges the overlaps (time zone, name, and work hours are asked once, not five times), fills in what it can already tell, and asks the rest in a single friendly batch. Answers are saved where every skill can use them. ## When to use - When a bot is new, when a bundle or team is installed, or when a new skill needs answers. ## Requires The setup fields from each installed skill (on BotPlaza, each skill's `customization` list) and the bot's memory. ## Schedule Once per person, and again whenever new skills are installed. ## Inputs | Setting | Default | Notes | |---|---|---| | `max_questions` | 7 per message | Split into two messages if there are more. | | `offer_defaults` | on | Show each question's default so the person can just say "defaults are fine". | | `infer` | on | Use what the bot already knows (time zone, name) and ask only to confirm. | ## Steps 1. **Collect** the setup fields from every installed skill. 2. **Merge** fields that mean the same thing: time zone, location, work hours, name, and email. 3. **Fill** what's already known from memory and confirm it in one line ("I have you in Denver, Mountain time"). 4. **Ask** the rest in one numbered message, with defaults, most important first. 5. **Save** each answer with its scope (see Fact Scope Guard) and note which skills use it. 6. **Confirm** in one line what's set up and when the first scheduled run happens. ## Output format ```markdown Welcome! I've set up Morning Newspaper, Inbox Digest and Meeting Prep. I have you in Denver (Mountain time). A few quick questions: 1. Which topics for your morning paper? (default: World, Tech, Business, Science) 2. What time should it arrive? (default: 7:00 AM) 3. Any VIP senders whose email should always show first? Reply "defaults" for anything you don't mind. ``` ## Edge cases - **The person says "just use the defaults":** save the defaults and say where to change them. - **They answer only some questions:** save those and ask the rest once, the next day. ## Boundaries - Never ask for passwords, card numbers, or ID numbers in chat. - Keep it to what the installed skills actually need.