Skip to content

fix(session): resend bare /<skill> commands as /skill:<name> - #12

Merged
eliottness merged 1 commit into
mainfrom
fix/bare-skill-commands
Oct 15, 2026
Merged

eliottness merged 1 commit into
mainfrom
fix/bare-skill-commands

Conversation

@eliottness

Copy link
Copy Markdown
Owner

OmO rejects /impeccable with unknown_command because it only knows skills as /skill:<name>, while OpenChamber invokes them as /<name>. The user saw:

UnknownError: Unknown command /impeccable. Did you mean /skill:impeccable? Resend with "unknownCommandAsText": true to send it as text.

Changes

  • PiRpcClient now keeps errorCode and errorData on failed responses (they were dropped).
  • dispatchPrompt resends once as /skill:<name> <args> when the failure is unknown_command and OmO's suggestions contain exactly skill:<name>. OmO rejects unknown commands before admission, so the same clientMessageId is reused. Other unknown commands still surface the error.

Verification

  • New endpoint test: POST /session/:id/command {command: "impeccable"} reaches the agent as /skill:impeccable polish it.
  • npm run check: 645/645 pass.
  • Live OmO probe: /humanizer say hi -> unknown_command with suggestions: ["skill:humanizer"]; resending /skill:humanizer say hi with the same clientMessageId -> disposition: started.

@eliottness
eliottness merged commit 6f56839 into main Oct 15, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant