diff --git a/.claude/instructions.md b/.claude/instructions.md new file mode 100644 index 00000000..5d52c340 --- /dev/null +++ b/.claude/instructions.md @@ -0,0 +1,3 @@ +--- +--- + diff --git a/after-install.md b/after-install.md index d58644ec..f82e76b6 100644 --- a/after-install.md +++ b/after-install.md @@ -19,4 +19,4 @@ Commands: - `/ponytail-gain` - `/ponytail-help` -Bundled skills are available as `ponytail:ponytail`, `ponytail:ponytail-review`, `ponytail:ponytail-audit`, `ponytail:ponytail-debt`, `ponytail:ponytail-gain`, and `ponytail:ponytail-help`. +Bundled skills are available as `ponytail:ponytail`, `ponytail:ponytail-review`, `ponytail:ponytail-audit`, `ponytail:ponytail-debt`, `ponytail:ponytail-gain`, and `ponytail:ponytail-help` via the slash commands listed above. diff --git a/benchmarks/correctness.js b/benchmarks/correctness.js index fc566114..b042329e 100644 --- a/benchmarks/correctness.js +++ b/benchmarks/correctness.js @@ -204,7 +204,7 @@ sys.stdout = _stdout # Check output contains the number 351 (100.5 + 200.0 + 50.5) # Match as a standalone number (not as substring of e.g. 13510) import re -if re.search(r'(? { let mode = null; - if (cmd === '/ponytail-review' || cmd === '/ponytail:ponytail-review') { + if (cmd === '/ponytail-review' || cmd === '/ponytail:review') { mode = 'review'; } else if (cmd === '/ponytail' || cmd === '/ponytail:ponytail') { if (arg === 'lite') mode = 'lite'; diff --git a/hooks/ponytail-runtime.js b/hooks/ponytail-runtime.js index 2aa61a31..465f0647 100644 --- a/hooks/ponytail-runtime.js +++ b/hooks/ponytail-runtime.js @@ -48,9 +48,10 @@ function writeHookOutput(event, mode, context = '') { process.stdout.write(JSON.stringify(output)); return; } - // Native Claude: SessionStart accepts raw stdout, but SubagentStart needs the - // hookSpecificOutput JSON form or the context is dropped. - if (event === 'SubagentStart') { + // Native Claude: SessionStart accepts raw stdout, but SubagentStart and + // UserPromptSubmit need the hookSpecificOutput JSON form or the context + // replaces the user's prompt instead of supplementing it. + if (event === 'SubagentStart' || event === 'UserPromptSubmit') { process.stdout.write(JSON.stringify( { hookSpecificOutput: { hookEventName: event, additionalContext: context } })); return;