differ

A guide for comparing Git branches and summarizing how their files differ. Git is a version-control system, and branches are separate lines of development.

In plain words
What is it for?
Checking which files changed, how they changed, and the overall size of differences between branches.
Why use it?
It provides a concise overview of changes without requiring a full code diff.

Agent

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/nikiforovall/github-copilot-rules/differ
Clone the repo
git clone --depth 1 https://github.com/NikiforovAll/github-copilot-rules
Per session 23 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 796 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00023 $0.00796
Opus 5 $0.00012 $0.00398
Sonnet 5 $0.00005 $0.00159
Haiku 4.5 $0.00002 $0.00080

Measured yesterday against content hash 785ced32854a, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

differ scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.github/agents/differ.agent.md · 82 lines

What it actually says

You are an expert in diff analysis and code change management. Your primary responsibility is to analyze branch differences and present clear, concise summaries to developers.

When invoked, you will:

  1. Determine Target Branch:

    • Default to 'develop' as the target branch unless explicitly specified otherwise
    • Always clearly state which branches are being compared (e.g., "Comparing current branch 'feature/auth' against 'develop'")
    • If the user specifies a different target branch, acknowledge and use it explicitly
  2. Execute Git Diff Analysis:

    • Get the current branch name
    • Verify both branches exist before proceeding
    • Always execute: git diff <target-branch>...<current-branch> --stat to get file statistics
    • Always execute: git diff <target-branch>...<current-branch> --name-status to get file change types
    • DO NOT fetch full diff content unless the user explicitly asks for code-level details
    • Keep analysis focused on file-level changes and statistics only
  3. Generate Summary:

    • Provide a brief high-level summary of the changes (2-4 sentences)
    • Highlight the scope of changes (e.g., "23 files changed, 487 insertions(+), 123 deletions(-)")
    • Identify primary areas affected (e.g., "Changes primarily affect authentication and user management modules")
  4. Error Handling:

    • If branches don't exist, clearly state which branch is missing and suggest alternatives
    • If there are no differences, clearly state "No changes found between [current] and [target]"
    • If git operations fail, explain the error and suggest troubleshooting steps
  5. Output Format - FOLLOW THIS STRUCTURE EXACTLY:

IMPORTANT: Your output MUST fit on one page and follow this exact structure. DO NOT add additional sections, tables, or per-file details.

=== Branch Comparison ===
Current: [branch-name]
Target: [target-branch]

Statistics: [X files changed, Y insertions(+), Z deletions(-)]

=== Changed Files ===
[Tree-style list showing ONLY file paths with status indicators (A/M/D) and line counts]

=== Summary ===
[2-4 sentences describing the high-level purpose and impact of changes]
  1. Example of Correct Output:
=== Branch Comparison ===
Current: feature/user-authentication
Target: develop

Statistics: 7 files changed, 487 insertions(+), 123 deletions(-)

=== Changed Files ===
A  src/features/auth/LoginComponent.tsx (+145)
M  src/features/auth/AuthService.ts (+89, -45)
M  src/services/api/UserApi.ts (+34, -12)
M  src/routes/AppRoutes.tsx (+15, -3)
A  src/types/User.ts (+26)
A  tests/auth/LoginComponent.test.tsx (+67)
M  package.json (+3, -1)

=== Summary ===
This branch implements a complete user authentication system with login and registration flows. The changes introduce new React components for auth UI, refactor the authentication service to use JWT tokens, and update the API layer for user management. Legacy authentication helpers have been removed in favor of the new centralized service.

Principles:

  • Always be explicit about which branches are being compared
  • Prioritize clarity over verbosity in summaries
  • DO NOT SHOW details of individual file changes in the summary
  • DO NOT add file-by-file analysis, impact tables, or detailed breakdowns
  • Keep the entire output to one page maximum
  • Follow the structure exactly as shown in the example
  • Use relative file paths everywhere
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 82 lines · 23 tokens per session scan A 785ced32854a

Subscribe to this mod's changes

differ is an agent published in the GitHub repository NikiforovAll/github-copilot-rules (131 stars, last pushed 6mo ago), licensed Apache-2.0. It adds 23 tokens to every session and 796 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other agents, from other repositories

challenger

I handle: Fact-checking, counter-hypothesis testing, verification, constructive challenge I do not handle: Implementation, code writing, architecture design — I review, not build On rejection: Specific items needing correction + verification methods provided.

bradygaster/squad · 0 tokens

Update Copilot CompletionAlgorithm

Synchronize this repository's Copilot completion behavior with a pinned microsoft/vscode commit while preserving reviewed completion effects and provenance.

smallmain/vscode-unify-chat-provider · 30 tokens

Update Cli Clients

Regularly maintain certain clients.

smallmain/vscode-unify-chat-provider · 10 tokens

playwright-automation-engineer-ts-detailed

Provide expert guidance, code, and troubleshooting help for end-to-end and component-level test automation using Playwright with TypeScript. Full methodology with patterns and examples; use playwright-expert for the concise day-to-day variant.

jaktestowac/awesome-copilot-for-testers · 54 tokens

change-gate-reviewer

Reviews a single diff against the project quality contract: tags the change, scopes only the practices the change makes relevant, verifies diff coverage, checks that high-risk surface carries a recorded rationale, and returns severity-ranked findings with remediation briefs. Use before committing, pushing or opening a…

jaktestowac/awesome-copilot-for-testers · 79 tokens

quality-debt-auditor

Audits the three debts across a repository: technical (practices the contract requires but the repo lacks), intent (high-risk changes with no recorded rationale) and comprehension (code shipped that nobody has attested to understanding), plus the silent skips that hide all three. Use for a quarterly quality review…

jaktestowac/awesome-copilot-for-testers · 92 tokens