跳到正文
cccskills
免费在 GitHub 公开

diff-checker

Compare files, text, and data effectively with diff strategies, semantic comparison, and review workflows.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md4.9 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Overview

Diffing is how we understand change: code reviews, config audits, data validation, plagiarism checks. But raw diffs lie by omission — whitespace noise, reordered keys, semantically identical reformatting. This skill covers choosing the right diff strategy: textual, semantic, and structural comparison, plus review workflows that surface real changes.

When to use

  • Reviewing code or config changes

  • Comparing document versions

  • Validating data migrations or transformations

  • Finding differences between environments

  • Choosing diff tools and strategies

Core concepts

    • Textual vs semantic diff. Textual diff (line-based: diff, git diff) shows character changes. Semantic diff understands structure: JSON key reordering isn't a change, reformatted code with identical AST isn't a change. Use semantic diff when formatting noise drowns signal.
    • Normalize before comparing. Sort JSON keys, standardize line endings (CRLF vs LF), strip trailing whitespace, normalize timestamps. Most "everything changed" diffs are normalization failures, not real changes.
    • Word diff for prose. Line-based diff is terrible for paragraphs — one changed word repaints the whole paragraph. Use word-level diff (git diff --word-diff, or --color-words) for docs, copy, and articles.
    • The three-way view. Comparing A and B is often insufficient — you need the base (what both changed from). Three-way diff/merge shows: base → A, base → B, revealing whether changes conflict or compose.
    • Ignore patterns. Whitespace (-w, -b), case (-i), blank lines (-B). Know what you're ignoring and why — ignoring whitespace hides nothing important; ignoring case in passwords would be catastrophic.
    • Diff as review workflow. The goal isn't spotting every changed character — it's understanding intent. Good reviews: read the diff, reconstruct what changed and why, then verify against tests and requirements.

Practical workflow

    1. Choose the tool. Text files → diff -u / git diff. Word-level for prose → git diff --word-diff. Directories → diff -r / git diff --no-index. JSON → normalize with jq -S first. Binary → cmp (byte-identical?) then format-aware tools.
    1. Normalize first. Line endings (dos2unix or sed), trailing whitespace, sorted keys for JSON/YAML. Re-run the diff — if 90% of noise vanishes, it was normalization.
    1. Read structurally. Start with the stat summary (git diff --stat): which files, how much churn. Then read file by file. For large diffs, review by logical change (feature commits help enormously — atomic commits are a diffing strategy).
    1. Verify semantics. For refactors: does the behavior actually match? Run tests. For data: compare row counts, checksums, and sample records — not just "the diff looks small."
    1. Use the right granularity. Config change → exact diff matters (one character can break everything). Prose edit → word diff. Generated files → don't diff the artifact, diff the source.
    1. Document the comparison. For audits and migrations: what was compared, normalization applied, what differed, and the verdict. "Diffed prod vs staging configs after normalization; only expected differences in hostnames" — that's a reviewable artifact.

Handy commands:

diff -u old.txt new.txt              # unified text diff
diff -u -w old.txt new.txt           # ignore whitespace
git diff --word-diff doc.md          # word-level for prose
git diff --stat                      # change summary
diff <(jq -S . a.json) <(jq -S . b.json)   # semantic JSON diff
diff -r dir1 dir2 --brief            # which files differ
cmp -l a.bin b.bin | head            # byte-level binary diff

Common pitfalls

    • Unnormalized comparison. Diffing JSON with different key orders or files with mixed line endings produces noise mistaken for signal. Normalize first, always.
    • Diffing generated artifacts. Reviewing compiled output, lockfile churn, or built assets instead of the source change. Diff the source; spot-check the artifact.
    • Whitespace-only commits. Reformatting mixed with logic changes makes review impossible. Separate formatting commits from functional ones — enforce via tooling.
    • Huge diffs. 5,000-line diffs don't get reviewed; they get rubber-stamped. Break changes into reviewable chunks (<400 lines is the research-backed sweet spot).
    • Ignoring binary diffs. "Binary files differ" with no further investigation. Use format-aware tools (or at least cmp + context) — a changed binary in a PR deserves scrutiny.
    • Trusting the diff alone. A clean-looking diff with no test run is hope, not verification. Diff shows what changed; tests show what broke.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Master 1Password: vaults, Watchtower, passkeys, SSH agent, CLI, and family/team administration. Use when getting full value from 1Password personally or administering it for others.

中文简介正在准备中。当前显示原文说明。

aicodedecode/awesome-muse-skills282026年10月10日 更新

Create 3D visuals with modeling, texturing, lighting, rendering, and optimization for web and product.

中文简介正在准备中。当前显示原文说明。

aicodedecode/awesome-muse-skills282026年10月10日 更新

Create 3D web experiences: scene setup, models, materials, lighting, animation, scroll-driven scenes, and performance budgets. Use when adding 3D to websites beyond basic demos.

中文简介正在准备中。当前显示原文说明。

aicodedecode/awesome-muse-skills282026年10月10日 更新

Writing abstracts that get papers read — structured content, the 5-sentence core, and journal-specific constraints.

中文简介正在准备中。当前显示原文说明。

aicodedecode/awesome-muse-skills282026年10月10日 更新

Learn effectively from courses and academies: choosing programs, studying actively, and converting courses into skills. Use when investing time/money in structured learning.

中文简介正在准备中。当前显示原文说明。

aicodedecode/awesome-muse-skills282026年10月10日 更新

Audit designs for accessibility with WCAG checklists covering color, type, focus, motion, and content.

中文简介正在准备中。当前显示原文说明。

aicodedecode/awesome-muse-skills282026年10月10日 更新

查看 aicodedecode 的全部技能

报告此技能的问题