# Grok CLI Context Guide for this Repository (llm-tools)

This document provides persistent context, best practices, and usage patterns for Grok CLI Agent mode when working in this repository. It is automatically included in context (via .grok/context.md convention or explicit inclusion) to keep interactions model-provider agnostic, efficient, and aligned with the tools/skills here.

## Core Principles
- **Provider Agnostic**: All documentation, prompts, and workflows should work for Claude, Grok, or any MCP-compatible LLM. Avoid platform-specific assumptions (e.g., prefer MCP tools over Claude-only skills where possible). Update README.md, SKILL.md, and sub-READMEs accordingly.
- **MCP-First**: Leverage the built-in MCP tools exposed in Grok CLI (prefixed `mcp_dicom-mcp__*`, `mcp_filesystem-mcp__*`, `mcp_playwright-mcp__*`, `mcp_selenium-mcp__*`, `mcp_github__*`, `mcp_us-weather-mcp__*`, etc.). These map directly to the MCP servers now located in `~/Projects/local/mcp_servers/`.
- **Sub-Agent System**: Use the `task` tool proactively:
  - `general`: Multi-step execution, editing, implementation.
  - `explore`: Fast read-only research, reviews, "how does this work?".
  - `verify`: Sandbox-aware builds, tests, validation.
  - `computer`: Desktop interaction (snapshots, clicks, typing, screenshots).
  - Prefer `delegate` for long-running read-only background work.
- **Workflow Priorities** (from system instructions):
  1. Understand the request.
  2. Decide on sub-agent for investigation (default to `task` for review/research/bug triage/verification).
  3. Use `read_file`, `bash` for direct exploration (small tasks).
  4. `bash` with `background=true` for servers/watchers.
  5. `delegate` for parallel read-only work.
  6. `edit_file` (surgical), `write_file` (new/full rewrites).
  7. Verify with reads, tests, builds.
  8. `search_web`/`search_x` for up-to-date info.
- **Tool Preferences**:
  - File ops: Dedicated `read_file`/`write_file`/`edit_file` over bash.
  - Edits: `edit_file` for targeted changes (unique old_string + context); `write_file` only for new files or full overwrites.
  - Background: Use for dev servers; manage with `process_*` tools.
  - Schedules: Use `schedule_*` tools for recurring tasks.
  - Images/Video: `generate_image`/`generate_video`.
  - Payments/Wallet: `wallet_*`, `paid_request`, `fetch_payment_info`.
  - Desktop: `computer_*` tools (snapshot first for stable @e refs).
  - MCP: Call directly (e.g., `mcp_dicom-mcp__dicom_summarize_directory`); see individual MCP READMEs for params.
- **Context Management**: This file + `.grokignore` keep context lean. Avoid loading binaries, large dirs, or node_modules. Explicitly include key files (README.md, SKILL.md, specific MCP docs) when needed.

## Key Directories & When to Use
- **mcps/** (or the new `~/Projects/local/mcp_servers/` location): Launch MCP servers via scripts (e.g., `bash ~/Projects/local/mcp_servers/dicom_mcp/run_dicom_mcp_server.sh` or from the local mcps/ wrapper). Use corresponding `mcp_*` tools in Grok.
  - dicom_mcp: QA for DICOM (Dixon, SNR, metadata, rendering, validation). Start here for medical imaging tasks. See mcps/dicom_mcp/README.md + docs/.
  - Others: filesystem (ops), open_meteo (weather), playwright/selenium (browser automation/testing).
- **skills/**: Reusable agent instructions. Read `SKILL.md` files for patterns (e.g., mcp-builder for new MCPs, artifacts-builder for UIs, document-skills for Office/PDF). Adapt YAML frontmatter + guidelines into prompts or custom tools. `mcp-builder/SKILL.md` is especially valuable for extending this repo.
- **config/** & **.claude/**: Claude-specific; update paths in claude_desktop_config.json for cross-machine use. Ignore for Grok workflows.
- **.mcp.json**: Registers MCPs for Claude Code; useful reference for tool signatures.

## Best Practices for Grok CLI in this Repo
- **Exploration**: `task` with `explore` agent first for reviews/research ("review this change", "how does MCP X work?"). Follow with `general` for edits.
- **Verification**: Always use `verify` sub-agent for builds/tests/smoke tests before/after changes.
- **Editing**: Quote sufficient unique context in `edit_file`. Verify by re-reading the file.
- **DICOM QA**: Prefer `mcp_dicom-mcp__*` tools (e.g., `dicom_summarize_directory`, `dicom_compute_snr`, `dicom_render_image`). Use `dicom_read_pixels` + `dicom_compute_snr` with ROIs identified via render.
- **Browser Automation**: Choose playwright-mcp for modern snapshots/eval; selenium-mcp for multi-session or specific WebDriver needs. Combine with `computer_*` if testing desktop apps.
- **Avoid**: Loading entire node_modules, large image/DICOM dirs (use .grokignore), or Claude-only phrasing. For long research, `delegate` to `explore`.
- **Extending**: Follow skills/mcp-builder/SKILL.md phases (research/planning → implementation → evaluation). Use mcp_github__* tools for PRs/commits if working on remote repos.
- **Scheduling**: Use `schedule_create` for recurring checks (e.g., daily DICOM validation or security scans).

## Quick MCP Tool Examples (Grok CLI)
- Summarize DICOM dir: `mcp_dicom-mcp__dicom_summarize_directory` (directory=..., recursive=true).
- Filesystem write: `mcp_filesystem-mcp__write_file` (after setting default if needed).
- Browser: `mcp_playwright-mcp__browser_navigate` or `mcp_selenium-mcp__selenium_navigate`.
- Weather: `mcp_uk-weather-mcp__get_forecast` or open-meteo equivalent.

Refer to this file in prompts: "Follow the Grok CLI context in .grok/context.md (and the shared CONTEXT.md / CLAUDE.md), the updated README.md, and relevant SKILL.md files. Keep all outputs provider-agnostic. The MCP servers are now at ~/Projects/local/mcp_servers/."

Update this context.md as the repo evolves (e.g., new MCPs, refined workflows). For full tool list, inspect available tools or run `grep -o 'mcp_[^ ]*' -r . --include="*.py" | sort | uniq`.