Context Loading Protocol
npx machina-cli add skill bofrese/bob/context-protocol --openclawContext Loading Protocol
Follow this protocol at the start of every bob command.
Universal (All Commands)
Date: Run python3 -c "from datetime import date;print(date.today().isoformat(),end='')"
If that fails, determine today's date in YYYY-MM-DD via any available command. Use this date in all output filenames and document timestamps.
Project familiarity: Silently explore the project structure before starting. Commands with specific focus areas note them in their Context block.
Per-Command Loading
Read each listed file if it exists. Skip silently if missing. Skip any file already read in this conversation.
| Command | Load at start |
|---|---|
product-vision | docs/product/vision.md |
personas | docs/product/vision.md, docs/product/design-brief.md |
design-brief | docs/product/vision.md, docs/product/personas.md |
problem-space | docs/product/vision.md, docs/product/problem-space.md |
business-plan | docs/product/vision.md, docs/product/business-plan.md |
positioning | docs/product/vision.md, docs/product/positioning.md |
validation-plan | docs/product/vision.md, docs/product/validation-plan.md |
product-coach | docs/product/vision.md, docs/product/README.md |
art-director | docs/product/vision.md |
brainstorm | docs/product/vision.md |
plan | docs/product/vision.md |
review-plan | docs/product/vision.md |
implement | docs/product/vision.md |
review | docs/product/vision.md |
ui-review | docs/product/vision.md, docs/product/personas.md, docs/product/design-brief.md, then invoke the bob:ui-design skill |
new-command | invoke the bob:prompt-engineering skill |
review-command | invoke the bob:prompt-engineering skill |
improve-command | invoke the bob:prompt-engineering skill |
investigate | — |
document | — |
guidelines | — |
docker-setup | — |
bob | — |
Guidelines (Engineering commands, after scope is clear)
For brainstorm, plan, review-plan, implement, review, ui-review:
- Read
docs/guidelines/README.mdas navigation — do not load all guideline files. - Load only guidelines matching the current scope:
- File extensions in play (e.g.,
.ts→ typescript.md) - Paths involved (e.g.,
Frontend/→ angular.md) - Concepts being touched (e.g., auth changes → authentication.md)
- File extensions in play (e.g.,
- If
docs/guidelines/doesn't exist, skip silently.
Source
git clone https://github.com/bofrese/bob/blob/master/skills/context-protocol/SKILL.mdView on GitHub Overview
Context Loading Protocol guides the initial setup for every bob command by specifying which project files to load. It silently loads existing files based on the command, uses a consistent date for filenames and timestamps, and ensures commands operate with the right context even when some files are missing. This protocol helps maintain project-local context and predictable behavior across diverse command flows.
How This Skill Works
At the start of a bob command, the protocol selects the per-command list of files to load from the documented mapping. It then attempts to read each listed file if it exists, skipping any missing files or ones already read in the conversation. For complex flows like ui-review, it may load multiple docs and then invoke related skills such as bob:ui-design; meanwhile, a universal date is determined for filenames and timestamps using a Python snippet or a fallback method.
When to Use It
- When initiating any bob command to establish the initial file context (e.g., product-vision or design-brief).
- When switching to a command with a different focus (e.g., personas, problem-space, or business-plan) to load the appropriate docs.
- For UI related workflows like ui-review that require multiple docs before design steps.
- When troubleshooting missing files by allowing the protocol to skip absent docs and continue.
- When ensuring consistent dating and timestamping by applying the universal date to all outputs.
Quick Start
- Step 1: At command start, determine today's date with the provided Python snippet or a fallback method for output timestamps.
- Step 2: Load each listed file for the command if it exists and has not been read previously in this conversation.
- Step 3: Proceed with the bob command using the loaded context and any invoked skilled flows.
Best Practices
- Predefine the per-command load list and keep docs under the documented paths (e.g., docs/product).
- Only load files that exist; skip silently for missing files to avoid command failures.
- Do not reload files already loaded earlier in the session to avoid duplication.
- Follow the exact file mappings for each command (for example, product-vision loads docs/product/vision.md).
- If guidelines or required folders are missing, skip gracefully instead of failing the command.
Example Use Cases
- Running the product-vision command loads docs/product/vision.md if it exists.
- Running the personas command loads docs/product/vision.md and docs/product/design-brief.md when present.
- Running the design-brief command loads docs/product/vision.md and docs/product/personas.md if they exist.
- Executing ui-review loads docs/product/vision.md, docs/product/personas.md, and docs/product/design-brief.md, then invokes the bob:ui-design skill.
- Starting investigate loads no files since its load list is empty, proceeding with the command without preloaded docs.