extended-graph-interactive-type

Installation
SKILL.md

Adding a New Interactive Filter Type

Critical

  • Barrel exports only: Every internal import MUST use "../internal" or "../../internal". Never import from specific files within src/. After creating any new file, add its export * line to src/internal.ts.
  • Three categories of interactive: Node-level (like tags, properties), link-level (like LINK_KEY), and folder-level (like FOLDER_KEY). The InteractiveEventsDispatcher routes events differently based on whether the key equals LINK_KEY, FOLDER_KEY, or something else (node interactive). Determine your category before starting.
  • Keys are string constants: Each interactive type has a constant key (e.g., TAG_KEY = "tag", LINK_KEY = "link", FOLDER_KEY = "folder") defined in src/globalVariables.ts. The key is used throughout as a dictionary key in interactiveSettings, interactiveManagers, and typesMap.
  • Feature flag required: The Feature type in src/types/restrictedStrings.ts gates which interactives are available. Your new type needs a feature flag entry.

Instructions

Step 1: Define the Key Constant

Add a new constant to src/globalVariables.ts:

export const MY_KEY: string = "mytype";
INVALID_KEYS[MY_KEY] = [];
Related skills
Installs
1
GitHub Stars
1
First Seen
Apr 16, 2026