aboutsummaryrefslogtreecommitdiffstats
path: root/.agents/skills/code-review-excellence/scripts
diff options
context:
space:
mode:
authorsillylaird <sillyfanboy@gmail.com>2026-09-03 00:33:59 +0000
committersillylaird <sillyfanboy@gmail.com>2026-09-03 00:33:59 +0000
commit898b52edcb47bcb3e9d6106e74ca73e74ea01e70 (patch)
tree85c6ee5ad58b860144551184d4cf86b560c62b91 /.agents/skills/code-review-excellence/scripts
downloadwww-main.tar.gz
www-main.zip
import live www.sillylaird.ca webrootHEADmain
Diffstat (limited to '')
-rwxr-xr-x.agents/skills/code-review-excellence/scripts/pr-analyzer.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/.agents/skills/code-review-excellence/scripts/pr-analyzer.py b/.agents/skills/code-review-excellence/scripts/pr-analyzer.py
new file mode 100755
index 0000000..86d2b26
--- /dev/null
+++ b/.agents/skills/code-review-excellence/scripts/pr-analyzer.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python3
+from __future__ import annotations
+
+import argparse
+import subprocess
+from pathlib import Path
+
+
+def parse_args() -> argparse.Namespace:
+ parser = argparse.ArgumentParser(description='Summarize git diff size for review planning.')
+ parser.add_argument('--repo', default='.', help='Repository path')
+ parser.add_argument('--base', default='HEAD~1', help='Base revision')
+ parser.add_argument('--head', default='HEAD', help='Head revision')
+ return parser.parse_args()
+
+
+def main() -> int:
+ args = parse_args()
+ repo = Path(args.repo).resolve()
+ result = subprocess.run(
+ ['git', '-C', str(repo), 'diff', '--numstat', args.base, args.head],
+ capture_output=True,
+ text=True,
+ check=False,
+ )
+ if result.returncode != 0:
+ print(result.stderr.strip() or 'git diff failed')
+ return result.returncode
+ files = 0
+ added = 0
+ deleted = 0
+ for line in result.stdout.splitlines():
+ parts = line.split(' ')
+ if len(parts) != 3:
+ continue
+ a, d, _ = parts
+ if a.isdigit():
+ added += int(a)
+ if d.isdigit():
+ deleted += int(d)
+ files += 1
+ print(f'files={files}')
+ print(f'added={added}')
+ print(f'deleted={deleted}')
+ return 0
+
+
+if __name__ == '__main__':
+ raise SystemExit(main())