Complete lesson text and action cards
Source-owned text for offline reading and retrieval. Command success still requires actual local evidence.
Choose Grok Bot, not Grok Build
Open the official Grok Bot get-started page. Check current account eligibility, cloud data requirements and your company policy before downloading. Grok Bot is the long-lived teammate app; Grok Build is the terminal coding agent.
Expected: The chosen product and eligible account path are recorded without a forced plan upgrade.
Select the correct installer
Open x.ai/bot downloads. Windows: choose x64/Arm64 from Settings → System → About, run the official installer and launch from Start. macOS: check chip in About This Mac, open the DMG and drag into Applications. Linux: select the official package for your architecture/distribution and install through its supported package route.
Expected: The official app opens on the chosen OS/architecture and its version is recorded.
Complete account sign-in and name the bot
Sign in personally using the eligible linked account. Create one bot named Practice Reviewer with the job “review one supplied document and draft sourced corrections.” Confirm the visible chat title before sending any task.
Expected: The app shows Practice Reviewer and the intended account; the bot has one concrete job.
Set rules, voice and approvals
Write a description with the job, supplied source boundary, concise voice and rules: cite the provided source, say unknown when absent, ask before sending messages or editing shared files. Keep secrets and real customer data out of the practice task.
Expected: The bot description has one job, a voice, a source rule and explicit approval rules.
Review one tool connection
Use the app’s connector/tool screen to review the scope of one needed service. Prefer a private test document or supplied text. Approve only the minimum access and record how to revoke it. If no connection is needed, paste the public practice text directly.
Expected: The task uses only its required data and the connection’s access/removal plan is recorded.
Verify the document review
Supply this source sentence: “The practice total function sums every item, including repeated values.” Ask the bot to review the false draft “Repeated values should be removed.” Require a sourced correction and forbid external sending.
Expected: The bot rejects the false draft and cites the supplied statement about repeated values.
all
Read this source: The practice total function sums every item, including repeated values. Review this draft: Repeated values should be removed. Return a correction, source evidence and what remains unknown. Do not send, publish or edit anything.
Ask an unsupported question and reopen the chat
Ask what currency the practice source uses (it does not say). Verify the bot says unknown. Close/reopen the app and select Practice Reviewer explicitly; ask it to summarize its job and source boundary.
Expected: The unsupported fact remains unknown and the selected bot retains the intended job/context.
Draft the check-in routine
Write a numbered daily routine: read supplied review queue, cite sources, flag blockers, draft summary, request approval before sending. Set an explicit frequency and stop condition. Do not enable an external-action routine during this practice task.
Expected: The routine plan has numbered actions, frequency, cost limit, approval boundary and stop rule.
Write a repeatable onboarding checklist
Fill in onboarding-checklist.md for your agent. Record AGENTS.md, the tool’s user settings and memory folder, the assigned workspace, permissions, guard location, backup schedule, and a final proof task. Keep the checklist in your project.
Expected: The checklist contains a concrete path and owner for rules, memory, permissions, guard, backup, restore and final verification.
Demonstrate the variable-path limit safely
Run workspace_guard.py --self-test. Read the source: the target is resolved before deciding. The variable_target case points at the home folder but performs no filesystem operation. Compare this with a hook that sees only command text.
Expected: GUARD PASS reports inside allowed and profile, outside, variable-derived profile and workspace root denied; no deletion was executed.
windows
python workspace_guard.py --self-test
macos
python3 workspace_guard.py --self-test
linux
python3 workspace_guard.py --self-test
Verify the actual protection in your tool
For CLI tools, open the hook/permissions screen and confirm the configured guard is active. Use your tool’s documented pre-command hook protocol; the BBB working reference is linked in Sources. Run a harmless directory listing, then a guard dry-run targeting the profile. Do not execute a destructive profile probe. Grok Bot has no proven local shell guard here: use project-only tasks and reviewed actions, with backups.
Expected: A harmless command runs, the guard dry-run returns DENY, and the checklist records the actual hook protocol and active state or the Grok Bot limitation.
Enable a real backup of memory and project files
Connect a second backup drive. Windows: configure System Protection as additional recovery and use a scheduled copy/File History that explicitly includes hidden agent folders. macOS: configure Time Machine and verify dot folders are included. Linux: use a home backup such as restic/Deja Dup; Timeshift omits /home by default. Download the copy-only profile backup script for your platform, inspect it, and adapt the folder list to your tool. Record the last successful scheduled run; protect backup access because it may contain credentials.
Expected: A backup on another drive includes the tool’s user settings and memory folder and this project, and a successful schedule/time is recorded.
windows
.\profile-backup.ps1 -Destination D:\Backups\llm-profiles
macos
bash profile-backup.sh /Volumes/YourBackup/llm-profiles
linux
bash profile-backup.sh /media/YourBackup/llm-profiles
Practice a hash-verified restore
Run restore_drill.py with a separate backup directory. The script creates a new proof file, copies it, restores a second copy, and compares SHA256 hashes. Then restore one non-secret file from your actual agent memory backup into a separate scratch directory and open it; do not overwrite the live profile.
Expected: RESTORE PASS contains matching hashes; the actual memory file is readable after restoration into scratch.
windows
python restore_drill.py --backup-root D:\Backups\bbb-practice --work-root practice
macos
python3 restore_drill.py --backup-root /Volumes/YourBackup/bbb-practice --work-root practice
linux
python3 restore_drill.py --backup-root /media/YourBackup/bbb-practice --work-root practice
Reopen the intended bot
Launch the app, select Practice Reviewer, verify the visible title and account, then ask for the current source boundary and next reviewed task. Inspect the routine state before relying on a scheduled run.
Expected: The selected teammate, job, source boundary and routine state are verified after reopening.