home / skills / badlogic / pi-skills / vscode
This skill enables viewing file differences in VS Code by launching diffs for two files or git revisions.
npx playbooks add skill badlogic/pi-skills --skill vscodeReview the files below or copy the command above to add this skill to your agents.
---
name: vscode
description: VS Code integration for viewing diffs and comparing files. Use when showing file differences to the user.
---
# VS Code CLI Tools
Tools for integrating with VS Code, primarily for viewing diffs.
## Requirements
VS Code must be installed with the `code` CLI available in PATH.
## Opening a Diff
Compare two files side by side in VS Code:
```bash
code -d <file1> <file2>
```
## Git Diffs in VS Code
### Simple Approach (no config needed)
Extract the old version to a temp file, then diff:
```bash
# Compare with previous commit
git show HEAD~1:path/to/file > /tmp/old && code -d /tmp/old path/to/file
# Compare with specific commit
git show abc123:path/to/file > /tmp/old && code -d /tmp/old path/to/file
# Compare staged version with working tree
git show :path/to/file > /tmp/staged && code -d /tmp/staged path/to/file
```
### Gotchas
- File must exist and have changes between the compared revisions
- Use `git log --oneline -5 -- path/to/file` to verify file has history before diffing
## When to Use
- Showing the user what changed in a file
- Comparing two versions of code
- Reviewing git changes visually
This skill integrates with Visual Studio Code to open side-by-side diffs and compare files. It leverages the VS Code command-line tool to present visual comparisons and can extract historic file versions from Git when needed. Use it when you need a quick, visual way to inspect changes between file revisions or separate files.
The skill calls the VS Code CLI (code -d fileA fileB) to open a two-pane diff of the provided paths. For Git-based comparisons, it extracts an older or staged version to a temporary file (using git show) and then launches a diff between the temp file and the working copy. It requires the 'code' command to be available in PATH and the target files to exist and differ.
What if 'code' is not found in PATH?
Install VS Code and enable the 'code' CLI from the command palette (Shell Command: Install 'code' command in PATH).
Why does the diff open empty or complain?
Ensure both files exist and contain different content. For Git diffs, verify the file has history and the requested revision contains the file.