Eval runner: send the prompt on stdin; add a-empty results

On Windows a multi-line argv prompt is cut at its first newline, which
also dropped the permission flags. The a-empty eval now passes every
check, including the page check on the page the skill built.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
VasanthandClaude Opus 5.5 committed 2026-10-16 14:09:50 +05:30
1 parent 7f2ddecffb
commit 58baf7f778
3 files changed
+336 -2

No files matched your search

+4 -2
View File
@@ -47,11 +47,13 @@ def main(fixture):
for skill in ROOT.glob("rpa-dashboard-*"):
shutil.copytree(skill, project / ".claude" / "skills" / skill.name)
# The prompt goes in on stdin: on Windows a multi-line argv prompt is cut at the first newline.
run = subprocess.run(
[shutil.which("claude") or "claude", "-p", cfg["prompt"] + REPLY_FORMAT, "--output-format", "json",
[shutil.which("claude") or "claude", "-p", "--output-format", "json",
"--permission-mode", "acceptEdits", "--allowedTools", "Skill", "Read", "Write", "Edit",
"Glob", "Grep", "Bash(python *)", "PowerShell(python *)"],
cwd=project, capture_output=True, text=True, encoding="utf-8", timeout=1800)
input=cfg["prompt"] + REPLY_FORMAT, cwd=project, capture_output=True, text=True, encoding="utf-8",
timeout=1800)
reply = json.loads(run.stdout).get("result", "") if run.stdout.strip().startswith("{") else run.stdout
def line(key):