Skip to content
Agentmart
Submit a tool

cheez-write

Hash-anchored file editing using tilth MCP.

Skill by paulnsorensen

IndexedMIT★ 1
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/paulnsorensen-cheez-write

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Hash-anchored file editing using tilth MCP. Replace specific functions or blocks using hash anchors from tilth_read, not entire file rewrites. Use when: editing code, replacing functions, deleting blocks, or making precise surgical changes. Always read first to get hash anchors. Do NOT use for reading files — use cheez-read. Do NOT use for searching — use cheez-search. Examples: "replace the validateToken function with this new implementation", "delete lines 44-89", "update the authenticate method".

Use cases: writing, agent-building

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/cheez-write

Tools it pre-approves 2

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • mcp__tilth__tilth_edit,
  • mcp__tilth__tilth_read

What's inside

Skill name
cheez-write
Description
Hash-anchored file editing using tilth MCP. Replace specific functions or blocks using hash anchors from tilth_read, not entire file rewrites. Use when: editing code, replacing functions, deleting blocks, or making precise surgical changes. Always read first to get hash anchors. Do NOT use for reading files — use cheez-read. Do NOT use for searching — use cheez-search. Examples: "replace the validateToken function with this new implementation", "delete lines 44-89", "update the authenticate method".
License
MIT
Compatibility
Requires tilth MCP server
Allowed tools
mcp__tilth__tilth_edit,, mcp__tilth__tilth_read
Instructions
296 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# cheez-write

> **Hard dependency**: If `mcp__tilth__tilth_edit` is unavailable, stop immediately and report
> "tilth MCP server is not loaded — cannot proceed." Do NOT fall back to `Edit`, `Write`,
> or any host tool.

Hash-anchored file editing via **tilth MCP** (`tilth_edit`).
Never rewrite whole files. Use hash anchors from tilth_read to make precise, surgical edits.

---

## Core Principle: Anchors, Not Rewrites

Traditional AI editing rewrites entire files, wasting tokens and risking data loss.
tilth_edit uses **hash anchors** — unique identifiers for each line — to:
- Make precise, surgical changes
- Reject edits if the file changed (hash mismatch)
- Show you exactly what changed

**The protocol:**
1. Read the file section with `tilth_read` → get hash anchors
2. Note start/end anchors for the block you'll change
3. Call `tilth_edit` with those anchors and new content

---

## Hash Anchor Format

When you read a file with tilth_read, lines have anchors:

```
42:a3f│  let x = compute();
43:f1b│  return x;
```

Format: `<line>:<hash>│ <content>`

The hash is a short content fingerprint. If someone else edits the file,
hashes change, and your edit is safely rejected.

---

## MCP Tool Reference

### tilth_edit — Precise File Editing

**Single line edit:**
```json
tilth_edit({
  "path": "src/auth.ts",
  "edits": [
    { "start": "42:a3f", "content": "  let x = recompute();" }
  ]
})
```

**Multi-line range replacement:**
```json
tilth_edit({
  "path": "src/auth.ts",
  "edits": [
    {
      "start": "44:b2c",
      "end": "89:e1d",
      "content": "export function handleAuth(req, res, next) {\n  // new implementation\n  const token = extractToken(req);\n  if (!token) return res.status(401).end();\n  next();\n}"
    }
  ]
})
```

**Delete a block:**
```json
tilth_edit({
  "path": "src/auth.ts",
  "edits": [
    { "start": "44:b2c", "end": "89:e1d", "content": "" }
  ]
})
```

**Multiple edits in one call:**
```json
tilth_edit({
  "path": "src/auth.ts",
  "edits": [
    { "start": "12:a1b", "content": "import { newHelper } from './helpers';" },
    { "start": "44:b2c", "end": "89:e1d", "content": "// replaced function\n..." }
  ]
})
```

**Show diff in response:**
```json
tilth_edit({
  "path": "src/auth.ts",
  "diff": true,
  "edits": [...]
})
```

---

## The Read-Edit Protocol

### Step 1: Read to Get Anchors

```
tilth_read(path: "src/auth.ts", section: "44-89")
```

Output:
```
44:b2c│ export function handleAuth(req, res, next) {
45:c3d│   const token = req.headers.authorization?.split(' ')[1];
...
88:d4e│   next();
89:e1d│ }
```

From paulnsorensen/cheese-flow, MIT.

More from paulnsorensen/cheese-flow

Signals

Stars
1
Forks
1
Open issues
25
Last commit (this folder)
Apr 26, 2026 (6 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from paulnsorensen

Cite this page

cheez-write skill. Agent Mart. https://agentmart.dev/skills/paulnsorensen-cheez-write (last updated 2026-10-24)