What problem does it solve? Writing walkers in Jac's Object-Spatial Programming model involves subtle semantics around traversal, reporting, and entry-point dispatch that cause frequent bugs like empty report lists, off-by-one counting, and misused self/here keywords. This Skill encodes verified patterns and pitfalls so walker code works correctly the first time. ## Core Features & Use Cases - Traversal Patterns: Covers visit/report mechanics, spawn results, disengage vs skip, exit abilities, breadth-first vs depth-first queueing, and the get-or-create visit ... else idiom. - Report Channel Guidance: Explains typed has reports: list[T] = [] channels, accumulate-then-report-once style, nested spawn behavior, and safe access to empty reports. - Pitfall Reference: Documents verified failure modes such as the removed root() call form, visit snapshot semantics, generic with entry not being a catch-all, and walker-side vs node-side keyword pairs. - Use Case: When building a Jac API endpoint that must find a node by jid and mutate it, apply the lookup-base walker inheritance pattern so one base walker resolves the target and each action walker subclasses it with a single entry ability. ## Quick Start Load this Skill whenever creating, editing, or debugging Jac walker traversal or OSP code, and pair it with jac-node-edge-patterns for the graph shape the walker moves through.