As a design system team, we want the ability to trigger a plugin or widget callback when a user detaches a component instance from a library. This would allow us to collect contextual feedback at the moment of detachment, helping us understand why components are being detached and improve our libraries accordingly.
Figma's library analytics already surface quantitative detach data (which components are detached, how often, and by whom). However, there is no way to capture the qualitative reason behind a detachment.
Was the component missing a variant? Was there a bug? Did it not fit the use case?
- Fragile — there is no reliable, documented way to distinguish a detach from other structural changes
- Requires the plugin to be actively running — there is no persistent or auto-launch mechanism, so coverage depends entirely on designers remembering to start the plugin
- Not scalable across an organization — without an event-driven hook, it's impractical to deploy this at org level with any consistency
Widgets, which are persistent on the canvas, do not have access to document change events, so they cannot be used for this purpose either.
Proposed solution
- Auto-launch plugins for org-published plugins (so admins can ensure a plugin runs automatically when any org file is opened)
- A built-in detach reason prompt as a native Figma feature (honestly the best solution — Figma already tracks detach analytics, adding a "why?" prompt would be trivial for them)
