67 lines
3.6 KiB
Markdown
67 lines
3.6 KiB
Markdown
# Claude-Code-only tooling
|
||
|
||
Everything here depends on the Claude Code harness. **A Codex, Grok, Aider or other
|
||
non-Claude agent cannot use these** — they are listed so you recognise a reference to
|
||
them rather than hunting for a binary that will not work.
|
||
|
||
## ratecheck — how close this session is to its rate limits
|
||
|
||
`~/.claude/bin/ratecheck` (NOT on PATH). Exit `0` GO · `1` PAUSE · `2` UNKNOWN. Prints
|
||
both windows, the file's age and the reset time.
|
||
|
||
The numbers are **not otherwise visible to an agent**: no CLI subcommand exposes them
|
||
and nothing else on disk carries them. The harness pipes them to the statusline only,
|
||
so `~/.claude/statusline-command.sh` tees them to `~/.claude/rate-limits.json` on every
|
||
render. **If that tee is removed, everything built on it silently stops working**,
|
||
which is why a stale file reports UNKNOWN rather than healthy.
|
||
|
||
- under ~85% — proceed normally
|
||
- ~85–93% — prefer the cheap path; resume an existing subagent rather than spawning one
|
||
- at/over the project threshold — stop starting new expensive work; let in-flight finish
|
||
- **UNKNOWN — proceed, loudly.** A broken instrument that halts everything is a
|
||
self-inflicted outage worse than the overspend it guards. Say plainly that limits
|
||
were unreadable and you continued blind.
|
||
|
||
⚠ A GO is margin, not permission for an arbitrarily large action — one consult subagent
|
||
has measured at 270k–650k tokens, so a round cleared at 92% can finish past 100%.
|
||
|
||
## remote-ssh MCP
|
||
|
||
Project-scoped in `eshpfi-management/.mcp.json`; tools `ssh_hosts` / `ssh_open` /
|
||
`ssh_run` / `ssh_peek` / `ssh_interrupt` / `ssh_list` / `ssh_close`. Holds a
|
||
**persistent shell**, so `cd` and exports survive between calls at ~6 ms per command.
|
||
For reconnaissance; it deliberately has no file transfer and no idempotency (that is
|
||
elway's half).
|
||
|
||
⚠⚠ **A bare `sudo` HANGS the session — always pipe it: `sudo -n <cmd> | cat`.** Cause:
|
||
sudo ≥1.9.14 defaults `use_pty` on; with stdin on `/dev/null` and stdout on the session
|
||
PTY the relay never completes and the completion marker never arrives. A pipe makes
|
||
stdout a non-tty and sudo skips the PTY.
|
||
|
||
⚠ The **host allowlist is the only real containment boundary** — the denylist is three
|
||
regexes and `bash -c` walks past it. `SSH_MCP_STRICT_ALLOWLIST=1` makes
|
||
`~/.config/remote-ssh-mcp/config.json`'s `allowedHosts` authoritative.
|
||
|
||
## albok MCP
|
||
|
||
`albok-mcp`, registered at **user** scope (2026-10-16: `claude mcp add --scope user albok -- /home/lkraven/.local/bin/albok-mcp`).
|
||
Tools `albok_search` / `albok_read` / `albok_sidecar` / `albok_related` / `albok_status` / …, the same verbs as the
|
||
`albok` CLI (see `albok.md`). It reads `ALBOK_SERVICE` and `ALBOK_TOKEN` from the environment the session inherits
|
||
(`~/.zshenv` sources `~/.config/secrets/env.sh`); no token is written into `~/.claude.json`. A session started
|
||
from a shell older than that wiring gets a "no token" error from the tools: start a new session.
|
||
|
||
## task-board MCP — MOTHBALLED (2026-09-24)
|
||
|
||
Superseded by the High Seat (SVOS) and ledger; the container is stopped. **Do not call `task_*` tools** or
|
||
wire its hooks into new sessions. Its data and stack are kept for a one-command bring-back (eshpfi CLAUDE.md).
|
||
|
||
## Skills
|
||
|
||
Claude Code skills live in `~/.claude/skills/`. Notable ones with fleet meaning:
|
||
`/snapshot` (durable repo memory), `/handoff` (transfer active work to an agent of
|
||
another family — **this is the cross-family bridge**), `/heid` (cross-frontier consult),
|
||
`/park`, `/elitk`, `/vor`, `/tdd`.
|
||
|
||
**`/handoff` is the supported way to move in-flight work from Claude to Codex/Grok** —
|
||
it writes an agent-agnostic brief to `/tmp` naming the repo's convention files.
|