What problem does it solve? Choosing and implementing the right endpoint shape in a Jac server is error-prone: developers misuse walker:pub for simple RPC calls, hit 404/405 errors from missing imports, or return untyped payloads that break clients. This Skill provides the decision rules and code patterns for building correct REST and RPC endpoints in Jac. ## Core Features & Use Cases - Endpoint shape selection: Decide between def:pub functions (RPC style, typed returns) and walker:pub (REST style, graph traversal) based on whether the endpoint actually walks the graph. - Custom REST routes: Use @restspec to define custom HTTP methods, paths, path/query parameters, and file uploads with UploadFile. - Response envelopes and pitfalls: Understand the standard {ok, data, error} envelope, _jac_id volatility, auth visibility rules (:pub vs :priv), and common failures like stale persisted anchors. - Use Case: You are building a Jac API service consumed over raw REST and need a GET /users/{user_id}/orders endpoint with query filters and a typed JSON response. ## Quick Start Ask the agent to add a public Jac endpoint that lists items and a walker endpoint that traverses the graph, following the jac-sv-endpoints patterns.