# Diffs

> Use the diffs tool to produce real, shareable diffs (viewer URL, file artifact, or both) instead…

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

- Page: https://ss33.ai/skills/openclaw/diffs-87961240921
- Publisher: openclaw
- Category: [Software Development](https://ss33.ai/skills/category/software-development-t44z8z) › [Source control & code review](https://ss33.ai/skills/category/software-development-t44z8z/source-control-and-code-review-jebezw)
- License: MIT
- Source: https://github.com/openclaw/openclaw/blob/1d210bb5f2fa927f44fb0e52af4c415ecee51e99/extensions/diffs/skills/diffs/SKILL.md

## Skill

SKILL.md: https://ss33.ai/api/v1/ss33/download/openclaw/diffs-87961240921

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 be rejected 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.
