בס״ד

Claude's Tool Inventory (Hook Street Workspace)

docs/CLAUDE_TOOLS_AVAILABLE.md · last changed (pre-VM history) · rendered from GitHub master

Claude's Tool Inventory (Hook Street Workspace)

Last updated: 2026-05-21 Session 36 cont
Purpose: stops me from re-discovering capabilities every session. Every Claude Code session in this workspace should read this after CLAUDE.md + .remember/now.md and use it to choose the right tool the first time.

File operations (preferred over Bash)

Tool Use for Notes
Read Open any file Absolute paths. Tracks state — no re-Read after Write.
Write Create new file / full overwrite Must Read first if file exists.
Edit Surgical string-replace old_string must be unique unless replace_all:true.
Glob Find files by pattern **/*.html etc. Faster than Bash find.
Grep Content search Ripgrep under the hood. Use output_mode:files_with_matches first to scope, then content for details.

Shell

Tool When
Bash Unix-style commands, git, clasp, multi-step shell. Default working dir = workspace root.
PowerShell When ASCII-only matters (no 2>&1), System.Drawing, Move-Item -Force for OneDrive file locks, or when bash can't handle Windows paths.
ScheduleWakeup /loop dynamic mode only. Don't poll.

Sub-agents (parallel work)

Type Best for
Explore Read-only multi-file searches. Use when answer requires sweeping many files; you only need the conclusion.
Plan Designing implementation strategy before coding. Returns step-by-step plan with critical files identified.
general-purpose Multi-step research, unknown-shape questions.
code-simplifier Cleaning up code post-build.

MCPs available (load schema via ToolSearch first)

Tool family What it does
mcp__claude_ai_Gmail__* create_draft, list_drafts, search_threads, get_thread, label operations. No delete-draft. Always get_thread to verify; plaintextBody can be empty while HTML body is full.
mcp__claude_ai_Google_Drive__* read_file_content returns markdown-rendered sheets, search_files, create_file, list_recent_files.
mcp__claude_ai_Google_Calendar__* create_event, list_events, update_event, reminders + colors + TZ.
mcp__claude_ai_Netlify__* Netlify deploy/extension/project services.
mcp__claude_ai_Cloudflare_Developer_Platform__authenticate If we ever need CF API access programmatically. Not used yet.
WebFetch URL → markdown → small-model answer. Cached 15 min. HTTPS only; fails on auth'd URLs (use gh for those).
WebSearch Live web search.

Workspace-specific operational paths

Need Command
Text Sam from any session powershell -File scripts/tg.ps1 -Source Code -Title "<subject>" -Message "your text"always pass -Source (Code/MIS/System/Pulse/Mom/Family/Bot/Custom) so the prefix tells Sam which voice is talking. See feedback_claude_to_sam_channels.
Push BOS code cd HookStreet-Business-OS/sheets && clasp push
Push command-inbox code cd command-inbox && clasp push --force
Trigger registry audit Run auditTriggers_() in Apps Script editor (start-here.gs) — logs every trigger across the project
Test notify channel Run testNotifyOwner() in Apps Script editor — sends self-test via Telegram (preferred) → falls back to Twilio SMS
Force-clean a bad commit git reset --soft HEAD~1 → unstage → re-stage explicit files → recommit → git push --force-with-lease origin master

NEVER do

Channels Sam uses to reach the engine

Surface Path Auth Inbound? Outbound?
iOS Shortcut → Apps Script Web App INBOX_SECRET token in body ✅ (display text in Shortcut UI)
PWA (start-here.html) → Apps Script Web App INBOX_SECRET stored in localStorage ✅ (in-page response)
PWA (obligations.htmlpwa-deploy/) → Apps Script (different endpoint, BOS data) API key ✅ (read-only) N/A
Twilio SMS Claude Code → tg.ps1 → Apps Script → Twilio NOTIFY_SECRET (separate from INBOX_SECRET) ❌ (LevSMS handles inbound but doesn't loop back)
Telegram bot (2026-05-21 scaffolded, awaiting bot token) Sam → Telegram → Apps Script webhook OR Claude → tg.ps1 → Apps Script → Telegram API chat_id whitelist ✅ once token + chat ID in Script Properties ✅ once token in Script Properties
Email drafts mcp__Gmail__create_draft OAuth N/A ✅ (drafts for Sam to send)
Briefing portal Cloudflare Pages auto-deploys from outputs/ on push Cloudflare Access (Google SSO) ❌ (pull only)

Memory hierarchy I should query

  1. CLAUDE.md (workspace) — mandatory pre-reads enumerated there
  2. .claude/projects/.../memory/MEMORY.md (memory index) — match user's topic
  3. .remember/now.md — last session-end summaries (auto-generated)
  4. .remember/recent.md — last 7 days
  5. docs/CURRENT_STATE.md — canonical open-loops register
  6. docs/CONTEXT.md — session log
  7. docs/SCOPE_BACKLOG.md — everything parked

What's deferred (Sam-side scaffold work)

Source trail · docs/CLAUDE_TOOLS_AVAILABLE.md @ master · rendered 2026-07-02 7:23 PM EDT by scripts/build-docs.py · the .md in the repo is the truth; this page is the phone-readable view