{"id":21621,"plugin_id":"plugins_6aae54a259ac8191b56161d366fb6e51","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:17:00.456Z","digest":"ed398d49b5855fb57ef5a0a02cb5bfc105f6cde1a2b3f839bf8f23b1cc9e820b","against":null,"payload":{"description":"Audit, fix or verify web server/client boundaries: SSR, hydration, serialized data, route caches, server actions and navigation in an existing framework. Use for rendering/runtime defects; product UX and visual design have separate skills.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":234},{"relative_path":"references/web-boundary-check.md","size_in_bytes":5950},{"relative_path":"references/web-rendering-audit.md","size_in_bytes":6456},{"relative_path":"references/web-rendering-polish.md","size_in_bytes":5923}],"name":"vibe-web","skill_md_contents":"---\nname: vibe-web\ndescription: \"Audit, fix or verify web server/client boundaries: SSR, hydration, serialized data, route caches, server actions and navigation in an existing framework. Use for rendering/runtime defects; product UX and visual design have separate skills.\"\n---\n\n# Web rendering & server boundaries\n\nRead [the shared workflow](../../references/workflow.md) once, then the recipe matching the requested operation. Identify the installed framework/router and rendering mode; do not assume React or Next.js solely because a task concerns a web app.\n\n| Request | Recipe |\n|---|---|\n| Inspect rendering, serialization or navigation | [Web Rendering Audit](references/web-rendering-audit.md) |\n| Fix the named rendering or server boundary | [Web Rendering Polish](references/web-rendering-polish.md) |\n| Verify initial render, private data or a server mutation | [Web Server/Client Boundary Check](references/web-boundary-check.md) |\n\nUse the shared [rendering boundaries](../../references/web-rendering.md) for the selected framework path. UI acceptance belongs to [Product](../vibe-product/SKILL.md); an explicit patch review belongs to [Review](../vibe-review/SKILL.md). Follow necessary contract edges without turning the task into a framework migration or redesign.\n\nInvocation lifetime and provider execution limits belong to [Serverless](../vibe-serverless/SKILL.md); optimistic client reconciliation belongs to [Realtime](../vibe-realtime/SKILL.md). Use [Cache](../vibe-cache/SKILL.md) for shared invalidation independent of rendering.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}