Skip to content
Development
Skill

/calldiff

Diff call stacks across git commits for agentic code review (22 languages). Run `calldiff --help` for usage details.

BOOST
From plugin
humanlayer
12k56 skills
Install
$ npx -y skills add humanlayer/humanlayer --skill calldiff --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/calldiff

Context preview

The summary Claude sees to decide when to auto-load this skill.

Diff call stacks across git commits for agentic code review (22 languages). Run `calldiff --help` for usage details.

SKILL.md

calldiff.SKILL.md
name: calldiff
description: Diff call stacks across git commits for agentic code review (22 languages). Run `calldiff --help` for usage details.
requires_bin: calldiff
command: calldiff

Installation

If the `calldiff` command is unavailable, install the latest version globally:

npm install -g calldiff@latest

Presenting output

Whenever showing `calldiff` output to the user, wrap it in a fenced `diff` code block so additions and removals receive colored syntax highlighting:

```diff
<calldiff output>

# calldiff diff

Diff call stacks between two git trees

## Arguments

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `from` | `string` | no | Before ref (default: HEAD) |
| `to` | `string` | no | After ref (default: working tree) |
| `paths` | `array` | no | Limit to these path prefixes |

## Options

| Flag | Type | Default | Description |
|------|------|---------|-------------|
| `--entry` | `unknown` |  |  |
| `--maxDepth` | `number` | `12` | Max call-tree depth |
| `--from` | `string` |  | Left / "before" tree |
| `--to` | `string` |  | Right / "after" tree |

## Examples

```sh
# HEAD vs working tree
calldiff diff

# One ref vs working tree
calldiff diff main

# Two commits / branches
calldiff diff abc123 def456

# Force entrypoints
calldiff diff main feature --entry createAgentSession

> Semantics match git diff: no refs -> HEAD vs worktree; one ref -> that vs worktree; two refs -> compare those trees.

---

calldiff reach

Find all call paths from an entrypoint to a target symbol

Arguments

| Name | Type | Required | Description | |------|------|----------|-------------| | `ref` | `string` | no | Git ref (default: working tree) | | `paths` | `array` | no | Limit to these path prefixes |

Options

| Flag | Type | Default | Description | |------|------|---------|-------------| | `--entry` | `unknown` | | Entrypoint(s): functionName or ClassName.method | | `--to` | `string` | | Target symbol to reach (functionName or ClassName.method) | | `--maxDepth` | `number` | `12` | Max call-tree depth |

Examples

# Paths in the working tree
calldiff reach --entry runCheckout --to sendEmail

# Paths at a commit, limited to a directory
calldiff reach HEAD examples/checkout --entry runCheckout --to sendEmail

---

calldiff tree

View a call tree (no diff) for one or more entrypoints

Arguments

| Name | Type | Required | Description | |------|------|----------|-------------| | `ref` | `string` | no | Git ref (default: working tree) | | `paths` | `array` | no | Limit to these path prefixes |

Options

| Flag | Type | Default | Description | |------|------|---------|-------------| | `--entry` | `unknown` | | Entrypoint(s): functionName or ClassName.method | | `--maxDepth` | `number` | `12` | Max call-tree depth |

Examples

# Tree from working tree
calldiff tree --entry createAgentSession

# Tree from a commit
calldiff tree HEAD --entry PiService.createAgentSession
Read more
Ships withhumanlayer

HumanLayer runs coding agents (Claude Code, Codex, OpenCode, Pi) on your machines and lets your team steer them from one place: tasks, sessions, plans, and reviews, synced between a desktop app, a web app, and a daemon on each host. This repo holds all of it.

Get the whole plugin

Other skills on humanlayer.