From claude-scout
Show filesystem changes between snapshots — filter by time range, path pattern, or change type. Presents diffs at your preferred detail level.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-scout:diff-csThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
<purpose>
<load-config>
<action>Resolve the user's home directory.</action>
<command language="bash" output="home" tool="Bash">echo $HOME</command>
<constraint>Never pass `~` to the Read tool.</constraint>
<read path="<home>/.things/config.json" output="config" />
<if condition="config-missing">Tell the user: "Run `/things:setup-things` first." Then stop.<exit /></if>
<read path="<home>/.things/claude-scout/preferences.json" output="preferences" />
<if condition="preferences-missing">Tell the user: "Run `/setup-cs` first." Then stop.<exit /></if>
<read path="<home>/.things/claude-scout/targets.json" output="targets" />
</load-config>
Resolve Target and Arguments
<action>Parse `$ARGUMENTS` for:</action>
- **target-id**: First positional arg, or fall back to `preferences.default_target`
- **--from**: Starting ref (sha, HEAD~N, or tag). Default: HEAD~1
- **--to**: Ending ref. Default: HEAD
- **--since**: Time-based range (e.g., "1 week ago", "2026-02-28"). Converts to git log range.
- **--path**: Glob pattern to filter files (e.g., "plugins/*", "*.json")
- **--type**: Filter by change type: added, modified, deleted, renamed
- **--output**: Override diff output level: summary, detailed, full
<action>Look up target in targets.json. If not found, list available targets and stop.</action>
Resolve Refs
<if condition="--since provided">
<action>Find the appropriate from-ref using git log on the tracking branch:</action>
<command language="bash" tool="Bash">git -C "<target-path>" log "<git-branch>" --format="%H" --since="<since>" --reverse 2>/dev/null | head -1</command>
<action>Use the first commit after the since date as --from. Use HEAD as --to.</action>
</if>
<action>Ensure the target repo is on the correct branch:</action>
<command language="bash" tool="Bash">git -C "<target-path>" checkout "<git-branch>" -q 2>/dev/null</command>
Get Diff
<action>Determine the output level from `--output` flag or `preferences.default_diff_output`.</action>
<if condition="output == summary">
<command language="bash" tool="Bash">git -C "<target-path>" diff --stat "<from>".."<to>" 2>/dev/null</command>
<action>Also run `git -C "<target-path>" diff --name-status "<from>".."<to>"` to get change types.</action>
</if>
<if condition="output == detailed">
<command language="bash" tool="Bash">git -C "<target-path>" diff --name-status "<from>".."<to>" 2>/dev/null</command>
<action>Group changes by type (added/modified/deleted/renamed) and show file paths.</action>
</if>
<if condition="output == full">
<action>Run full diff, but limit output to avoid overwhelming the display:</action>
<command language="bash" tool="Bash">git -C "<target-path>" diff "<from>".."<to>" 2>/dev/null | head -500</command>
</if>
Filter Results
<if condition="--path provided">
<action>Filter the results to only show files matching the path pattern.</action>
</if>
<if condition="--type provided">
<action>Filter to only show changes of the specified type (A=added, M=modified, D=deleted, R=renamed).</action>
</if>
Present Results
<action>Present the filtered diff results with clear formatting:</action>
<if condition="no changes">
<action>Report "No changes between <from> and <to>."</action>
</if>
<if condition="changes found">
<completion-message>
Changes in `<display-name>` (<from-short>..<to-short>):
<formatted diff output based on output level>
Summary: <N> files changed (<added> added, <modified> modified, <deleted> deleted)
</completion-message>
</if>
npx claudepluginhub brennacodes/brenna-plugs --plugin claude-scoutVisualizes git diffs, branches, commits, PRs, and ranges as interactive HTML reports with architecture diagrams, KPI dashboards, code review cards, and side-by-side comparisons.
Reads a git diff and produces a plain-English narration of changes for PR descriptions, code reviews, or self-orientation. Supports three audience modes: --for pr, --for review, and --for self.
Reads a PR or branch diff and produces a structured YAML change brief for downstream analytics instrumentation. First step in the analytics review workflow.