hermes-gateway

Normalizes Hermes gateway streaming events with server-only authentication and cancellation handling.

6|Updated Jul 12, 2026
One-click install
npx skills add https://github.com/josoroma/AppLoop --skill hermes-gateway-josoroma
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: hermes-gateway
Source: https://github.com/josoroma/AppLoop/tree/main/.hermes/skills/hermes-gateway
Command: npx skills add https://github.com/josoroma/AppLoop --skill hermes-gateway-josoroma

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Integrating a generated-project run with the Hermes backend requires keeping API keys server-side, normalizing stream events for the browser, and handling cancellation and errors deterministically, which is easy to get wrong without a defined contract. ## Core Features & Use Cases - Server-Only Authentication: Keeps HERMES_API_KEY and raw environment values out of browser code and maps transport or auth failures to user-safe messages. - Stream Event Normalization: Converts Hermes output into normalized text deltas and observable activity events without exposing private reasoning. - Session and Cancellation Management: Strips reserved session placeholders, treats the conversation-level Hermes session as the next-run authority, and preserves cancellation state for active runs. - Use Case: When a user edits a generated Next.js project in AppLoop, the run sends the composed prompt and agentBundle metadata through the gateway, restricts writes to the project workspacePath, and streams safe progress events back to the UI. ## Quick Start Use the hermes-gateway skill to stream a project-edit run to Hermes with server-side authentication and normalized browser-safe events.

Frequently Asked Questions about hermes-gateway

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I stream Hermes responses to a browser safely?▼

Route all Hermes communication through the AppLoop server so authentication stays server-side, then normalize raw stream output into text deltas and activity events before sending them to the UI. Never forward HERMES_API_KEY or environment values to browser code.

How should reserved session placeholders be handled in Hermes gateway calls?▼

Strip and normalize reserved session placeholders before calling Hermes. A reserved conversation session must be sent as null so the first prompt creates a real Hermes session, and the conversation-level session acts as the authority for subsequent runs.

Can the gateway restrict which files a generated project run can edit?▼

Yes. Gateway instructions must name the exact workspacePath as the only writable root and forbid edits to templates, .hermes, AppLoop builder source files, repo docs, and sibling project workspaces.

What happens when a Hermes gateway run is cancelled or fails?▼

Cancellation state is preserved for active project runs so the UI reflects the true status. Transport and authentication failures are mapped to deterministic user-safe error messages rather than raw backend errors.

Why must generated UI elements include unique classnames in gateway instructions?▼

The gateway restates the generated-code classname contract so every user-visible element carries shared base classnames plus a unique human-readable classname written last. This enables inspect-mode targeting when users point at elements in the preview.