From trueline-mcp
Guides workflows using Trueline MCP tools (read, edit, search, outline, verify, changes) for efficient file operations with hash-verified refs, cutting context tokens 60-90% vs built-in Read/Edit/Grep.
npx claudepluginhub rjkaes/trueline-mcp --plugin trueline-mcpThis skill uses the workspace's default tool permissions.
Trueline MCP tools replace built-in `Read`/`Edit`/`Grep` with hash-verified, streaming, ref-based equivalents. Catches hallucinated edits, cuts tokens. Use in right order.
Handles file reads, writes, edits, directory listings, searches, trees, and moves via Claude Code's native tools like Read, Write, Edit, Glob, Grep, and Bash. Replaces MCP server; triggers on file operation requests.
Filters large inputs like logs, VCS diffs, stacktraces, JSON/YAML surgically using grep/jq; adapts output verbosity, resolves ambiguity first, manages context window pressure.
Guides token-efficient tool patterns: Edit for diffs, Glob/Grep for searches, concise context. Applies always to extend session capacity.
Share bugs, ideas, or general feedback.
Trueline MCP tools replace built-in Read/Edit/Grep with hash-verified, streaming, ref-based equivalents. Catches hallucinated edits, cuts tokens. Use in right order.
| Tool | Use when | Why |
|---|---|---|
trueline_outline | First look, any file | ~10-20 lines vs hundreds |
trueline_search | Know target string/symbol | Lines with hash prefixes + refs, one call |
trueline_read | Need exact edit context | Per-line hashes + checksums; globs and path:range |
trueline_edit | All edits | Hash-verified, atomic; built-in Edit blocked by hook |
trueline_verify | Refs held across turns | Checks staleness without re-read |
trueline_changes | Review vs git | Symbol-level semantic diff |
Pick one matching what you know.
trueline_search(file_paths, pattern) → trueline_edit
No read step. trueline_search returns lines with hash prefixes plus ref. Feed straight into trueline_edit. Fastest. Use for renames, string swaps, bugfixes on named function.
trueline_outline → trueline_read (targeted ranges) → trueline_edit
Outline gives structure. Read only ranges you need. trueline_read accepts path:startLine-endLine inline for multiple slices in one call.
trueline_verify(refs) → re-read only stale ranges → trueline_edit
Nothing changed → edit straight away. Stale → re-read just that range. Never re-read whole file on spec.
trueline_search output:
ab.10 old line one
cd.11 old line two
ref:R1
Replace both:
trueline_edit(
file_path=…,
edits=[{ range: "ab.10-cd.11", ref: "R1", content: "new line one\nnew line two" }]
)
range uses hash.line identifiers verbatim from output.ref is short token (R1) — copy verbatim, never guess.Non-negotiable. Violations → verification errors or silent data loss.
R1/R2/… directly from output. Made-up ref fails verification.ab.10) required. Not decoration — verify content at that line.action="insert_after" to add lines. Without it, range is replaced and content lost. To add next to existing lines, pass action: "insert_after".trueline_edit.Editing many files? Use Grep to find files, then pass all paths to one trueline_search call. Refs for every match in one round-trip.
If trueline schemas deferred, load in one batch:
ToolSearch("+trueline read edit")
Loads all six schemas together. One call, not six.
trueline_outline.trueline_search → trueline_edit.trueline_changes.trueline_verify.