diffs

Generate shareable diffs as viewer URLs or rendered PNG and PDF file artifacts.

Updated Jun 19, 2026
One-click install
npx skills add https://github.com/AmirulAndalib/Vilvona-AI --skill diffs-amirulandalib
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: diffs
Source: https://github.com/AmirulAndalib/Vilvona-AI/tree/main/extensions/diffs/skills/diffs
Command: npx skills add https://github.com/AmirulAndalib/Vilvona-AI --skill diffs-amirulandalib

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Manual edit summaries are hard to read and easy to misinterpret when reviewing code or text changes. This Skill produces real, shareable diffs—either an interactive viewer URL or a rendered file artifact—so reviewers see exactly what changed. ## Core Features & Use Cases - Viewer URLs: Render an interactive gateway-hosted diff viewer with mode=view, then present it via the canvas tool. - File Artifacts: Render diffs to PNG or PDF files with mode=file, with quality presets (standard, hq, print) and scale/width overrides. - Flexible Input: Accepts either before + after text or a unified patch string, with optional path for file naming. - Use Case: After refactoring a function, generate a diff of the old and new versions and deliver the rendered PNG to a chat channel using the message tool with the returned filePath. ## Quick Start Use the diffs tool to show the changes between the original and edited versions of config.yaml as a shareable viewer link.

Frequently Asked Questions about diffs

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a shareable diff from two versions of a file?

Call the diffs tool with the original text as `before` and the updated text as `after`, optionally including `path` for the file name. Use `mode=view` to get an interactive viewer URL or `mode=file` for a rendered artifact.

How do I render a diff as a PNG or PDF file?

Set `mode=file` and choose `fileFormat=png` (the default) or `fileFormat=pdf`. The tool result includes `details.filePath`, which you can pass to the message tool via `path` or `filePath` to deliver the file.

Can I use a unified patch string instead of before and after text?

Yes, the diffs tool accepts a unified `patch` string as an alternative to providing `before` and `after` text. Both input styles produce the same viewer or file outputs.

Why does the diff viewer URL fail behind a loopback proxy?

With a loopback trusted proxy such as Tailscale Serve, raw loopback viewer requests can fail closed without forwarded client-IP headers. Use `mode=file` or `mode=both`, or configure `viewerBaseUrl` or an explicit public `baseUrl`.

How do I control diff image quality for large files?

Set `fileQuality` to `standard`, `hq`, or `print` for higher-fidelity output. You can also override `fileScale` and `fileMaxWidth` to adjust rendering dimensions for large diffs.