Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ In Claude Code, run:

**Important:** The reviewer only sees committed code. Commit your changes before invoking.

Runner entrypoints:
- Unix-like shells: `skills/fresheyes/fresheyes.sh`
- Windows PowerShell: `skills/fresheyes/fresheyes.ps1`

In Claude Code:

- `Review this with fresh eyes` - Review staged changes (or last commit if nothing staged)
Expand All @@ -43,6 +47,18 @@ In Claude Code:

By default, the skill picks a different model family from the one invoking it. The reviewer operates independently — it receives only the scope you give it, with no conversation context.

### Running outside Claude Code

Unix/macOS:
```bash
bash skills/fresheyes/fresheyes.sh --gpt "Review the changes between main and HEAD using git diff main...HEAD."
```

PowerShell:
```powershell
powershell -ExecutionPolicy Bypass -File .\skills\fresheyes\fresheyes.ps1 --gpt "Review the changes between main and HEAD using git diff main...HEAD."
```

## Automatic Mode (pre-commit)

1. Install the plugin (same as above).
Expand Down
6 changes: 6 additions & 0 deletions skills/fresheyes/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,16 @@ The provider keyword controls which model runs the review. Do NOT include it in

### Step 4: Invoke the independent reviewer

On Unix-like shells:
```bash
"${CLAUDE_PLUGIN_ROOT}/skills/fresheyes/fresheyes.sh" [--gpt|--claude] "<scope from step 2>"
```

On Windows PowerShell:
```powershell
powershell -ExecutionPolicy Bypass -File "${CLAUDE_PLUGIN_ROOT}\skills\fresheyes\fresheyes.ps1" [--gpt|--claude] "<scope from step 2>"
```

If no scope is provided, it defaults to reviewing staged changes or HEAD.

**Timeout handling:** This skill has a 15-minute timeout. If the review times out, retry with a 30-minute timeout (1800000ms).
Expand Down
24 changes: 24 additions & 0 deletions skills/fresheyes/fresheyes-progress.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/env pwsh
# fresheyes-progress.ps1 - Check if a fresheyes review is still producing output.
# Takes no arguments. Prints the line count of the active review's log.
# If this number is growing between calls, the review is not dead.

Set-StrictMode -Version Latest
$ErrorActionPreference = "Stop"

$logDir = Join-Path ([System.IO.Path]::GetTempPath()) "fresheyes-logs"
$activeFile = Join-Path $logDir ".active"

if (-not (Test-Path -LiteralPath $activeFile)) {
Write-Output "0"
exit 0
}

$logFile = (Get-Content -Raw -LiteralPath $activeFile).Trim()
if (-not $logFile -or -not (Test-Path -LiteralPath $logFile)) {
Write-Output "0"
exit 0
}

$lineCount = (Get-Content -LiteralPath $logFile | Measure-Object -Line).Lines
Write-Output $lineCount
Loading