# Diffs

> Use the diffs tool to produce real, shareable diffs (viewer URL, file artifact, or both) instead of manual edit summaries.

- Skill: `openclaw/diffs` (Agent Skill)
- Install (CLI): `npx skillmds@latest add openclaw/diffs`
- Raw SKILL.md: https://api.skillmd.com/api/skills/openclaw/diffs/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: OpenClaw (https://skillmd.com/u/openclaw)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/openclaw/diffs

---


When you need to show edits as a real diff, prefer the `diffs` tool instead of writing a manual summary.

The `diffs` tool accepts either `before` + `after` text, or a unified `patch` string.

Check `details.changed`: identical before/after input returns `false` without creating an artifact; rendered results return `true`.

Use `mode=view` when you want an interactive gateway-hosted viewer. After the tool returns, present `details.viewerUrl` with an available surface-presentation tool.
If the deployment uses a loopback trusted proxy (for example Tailscale Serve with `gateway.trustedProxies` including `127.0.0.1`), raw loopback viewer requests can fail closed without forwarded client-IP headers. In that topology, prefer `mode=file` / `mode=both`, or use a configured `viewerBaseUrl` / explicit proxy/public `baseUrl` when you need a shareable viewer URL.

Use `mode=file` when you need a rendered file artifact. Set `fileFormat=png` (default) or `fileFormat=pdf`. The tool result includes `details.filePath`.

For large or high-fidelity files, use `fileQuality` (`standard`|`hq`|`print`) and optionally override `fileScale`/`fileMaxWidth`.

When you need to deliver the rendered file to a user or channel, do not rely on the raw tool-result renderer. Instead, use an available file-sending tool to send `details.filePath` as an attachment.

Use `mode=both` when you want both the gateway viewer URL and the rendered artifact.

If the user has configured diffs plugin defaults, prefer omitting `mode`, `theme`, `layout`, and related presentation options unless you need to override them for this specific diff.

Include `path` for before/after text when you know the file name.

