extensions/diffs/skills/diffs/SKILL.md
Use the diffs tool to produce real, shareable diffs (viewer URL, file artifact, or both) instead of manual edit summaries.
npx skillsauth add openclaw/openclaw diffsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
Use mode=view when you want an interactive gateway-hosted viewer. After the tool returns, use details.viewerUrl with the canvas tool via canvas present or canvas navigate.
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, call the message tool and pass details.filePath through path or filePath.
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.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
data-ai
Example TaskFlow authoring pattern for inbox triage. Use when messages need different treatment based on intent, with some routes notifying immediately, some waiting on outside answers, and others rolling into a later summary.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------