What problem does it solve? Jac builds fail or behave inexplicably for reasons that are hard to trace: cryptic jac check diagnostics, stale compiled bytecode or persisted graph data, and client code that silently drifts after a server contract changes. This Skill provides a systematic fix loop so you resolve the real cause instead of guessing. ## Core Features & Use Cases - Diagnostic decoding: Read jac check output by severity letter and category digit, follow jac guide pointers, and suppress codes with # jac:ignore[CODE] only as a last resort. - Stale-cache triage: Match symptoms like NodeAnchor is not a valid reference or ignored edits to the right fix — jac clean --cache, jac purge, jac clean --all --force, or deleting .jac/data. - Contract drift detection: After renaming a server endpoint or retyping a param, interpret W1101/W1051 warnings in client files as pointers to stale callers. - Use Case: Your served Jac app starts returning 500s with anchor errors after a model change. The triage table tells you to stop the server, remove .jac/data/, and restart — then verify with jac dot graph inspection. ## Quick Start Ask the assistant to debug why my Jac build is failing and walk through the jac check diagnostics and cache triage steps.