create-tab-sidebar-interceptor

Generates and registers a TypeScript interceptor class that customizes Glyvio TabSidebar designs and tabs.

1|Updated Jun 11, 2026
One-click install
npx skills add https://github.com/devena/glyvio-forge --skill create-tab-sidebar-interceptor-devena
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: create-tab-sidebar-interceptor
Source: https://github.com/devena/glyvio-forge/tree/main/claude/skills/create-tab-sidebar-interceptor
Command: npx skills add https://github.com/devena/glyvio-forge --skill create-tab-sidebar-interceptor-devena

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Customizing an existing Glyvio TabSidebar view requires knowing its live design tree, the correct abstract interceptor base class, and the registration API. This Skill automates that workflow by capturing the real sidebar design JSON at runtime and generating a correctly typed interceptor class. ## Core Features & Use Cases - Runtime Design Capture: Uses a temporary SpyInterceptor plus a Chrome remote-debugging inspection script to save the live sidebar design JSON to disk before writing any code. - Ground-Truth Code Generation: Derives every navigation path, widget key, and runtimeClass from the captured JSON, resolving the correct base interceptor class from .d.ts declarations (including mandatory "You MUST extend this instead." subclasses). - Full Interceptor Blueprint: Generates overrides for getDesign, getContentsRoutes, onInitState, onRefreshState, and onEvent, then registers the interceptor via appInterceptorService. - Use Case: A developer needs to hide a field and add a custom tab to the TaskSidebar in a Glyvio plugin. The Skill captures the TaskSidebar design, writes an analysis file, and produces a registered TaskSidebarInterceptor subclass implementing the changes. ## Quick Start Ask the agent to create a TabSidebar interceptor for a target sidebar such as TaskSidebar, specifying the modifications you want to its design and tabs.

Frequently Asked Questions about create-tab-sidebar-interceptor

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

FAQPage Schema
How do I customize a Glyvio TabSidebar view with an interceptor?▼

Create a class extending the sidebar's abstract TabSidebarInterceptor, override getDesign to mutate the design tree via findWidgetByKey, and register it with appInterceptorService in src/index.ts. This Skill automates capture of the live design JSON and code generation.

How do I capture the current sidebar design JSON in Glyvio?▼

Register a temporary SpyInterceptor that stores the design on window.__finalDesign, then run the chrome_inspector.js script against Chrome with remote debugging on port 9222. The JSON is saved to .agents/temp/<SidebarName>_design.json.

Which base class should my TabSidebar interceptor extend?▼

Search the plugin's .d.ts declaration files for the abstract interceptor whose getListenerRoute returns the target route class. If a subclass carries the JSDoc comment "You MUST extend this instead.", you must extend that specialized class.

Can I import Glyvio classes like ActionButtonDesign from core packages?▼

No. Glyvio classes, decorators, and services are injected globally at runtime, so reference them through the glyvio_core global instead of importing from core packages. Only import the target sidebar, route, state, and base interceptor classes from the defining plugin.

What if Chrome remote debugging is unavailable during design capture?▼

Fall back to asking the user to provide the current design JSON from sidebar.getDesignRaw(state) or the browser console, or to save it manually to .agents/temp/<SidebarName>_design.json. Do not proceed until the JSON exists on disk.