entitytable-filter-editor
Handles the extension and debugging of Entity Table filter editors through a formal registry and contract.
Install
mkdir -p .claude/skills/entitytable-filter-editor && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/12885" && unzip -o skill.zip -d .claude/skills/entitytable-filter-editor && rm skill.zipInstalls to .claude/skills/entitytable-filter-editor
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Use when adding, changing, or debugging Entity Table filter popup editors in this repo. Covers the host/editor architecture, the FilterEditor contract, factory registration, ColumnSpec.FilterMode mapping, and tests.Key capabilities
- →Add a new filter class under `src/entitytable/+entitytable/+filter`
- →Implement required methods for `entitytable.filter.FilterEditor`
- →Register generic filter modes in `entitytable.filter.createFilterEditor`
- →Map columns to filter modes through `ColumnSpec.FilterMode`
- →Update `DisplayModel.getFilterMode` for auto-detection
How it works
This skill guides the process of creating a new filter editor by defining its class, implementing required methods, and registering it within the Entity Table framework.
Inputs & outputs
When to use entitytable-filter-editor
- →Adding new filter types
- →Debugging entity table editors
- →Registering custom filter components
About this skill
Entity Table Filter Editors
Start Here
Read docs/devnotes/filter-editor-extension-guide.md before editing filter popup code.
Core files:
src/entitytable/+entitytable/FilterPopup.m
src/entitytable/+entitytable/+filter/FilterEditor.m
src/entitytable/+entitytable/+filter/createFilterEditor.m
src/entitytable/+entitytable/DisplayModel.m
src/entitytable/+entitytable/ColumnSpec.m
tests/EntityTableCoreTest.m
Architecture
FilterPopup is only the host: it owns the in-figure uipanel, header, close button, sizing, and column alignment.
Filter-specific UI belongs in subclasses of entitytable.filter.FilterEditor.
Do not add new mode-specific controls directly to FilterPopup.
Add A Filter Type
- Add a class under
src/entitytable/+entitytable/+filter. - Inherit
entitytable.filter.FilterEditor. - Implement:
preferredSize = getPreferredSize(obj)
create(obj, parent)
apply(obj)
clear(obj)
reset(obj)
setFilterSpec(obj, filterSpec)
- Register generic modes in
entitytable.filter.createFilterEditor. - Map columns to the mode through
ColumnSpec.FilterMode. - Update
DisplayModel.getFilterModeonly for generic auto-detection. - Add or update tests in
tests/EntityTableCoreTest.m.
Host-Specific Editors
If the editor is app-specific, do not register it in the core factory. Put the class on the MATLAB path and set:
spec.FilterMode = "myapp.package.CustomFilterEditor";
Dotted class names are treated as direct editor class names. The class must inherit entitytable.filter.FilterEditor.
Validation
Run:
/Applications/MATLAB_R2025b.app/bin/matlab -batch "cd('/Users/eivind/Code/MATLAB/General/Repositories/ehennestad/entity-table'); addpath('src/entitytable'); results = runtests('tests'); assertSuccess(results);"
Also run checkcode for any changed MATLAB files.
When not to use it
- →When adding new mode-specific controls directly to `FilterPopup`
- →When the editor is app-specific and should not be registered in the core factory
- →When `FilterPopup` should contain filter-specific UI elements
Limitations
- →Does not add new mode-specific controls directly to `FilterPopup`
- →Requires the class to inherit `entitytable.filter.FilterEditor`
- →Dotted class names are treated as direct editor class names
How it compares
This workflow provides a structured guide for extending Entity Table filter editors, ensuring proper integration and adherence to architectural patterns, unlike ad-hoc development.
Compared to similar skills
entitytable-filter-editor side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| entitytable-filter-editor (this skill) | 0 | 3mo | Review | Advanced |
| frontend-design | 481 | 2mo | No flags | Advanced |
| screenshot-to-code | 204 | 2mo | No flags | Beginner |
| textual | 143 | 9mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
frontend-design
anthropics
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
screenshot-to-code
OneWave-AI
Convert UI screenshots into working HTML/CSS/React/Vue code. Detects design patterns, components, and generates responsive layouts. Use this when users provide screenshots of websites, apps, or UI designs and want code implementation.
textual
KyleKing
Expert guidance for building TUI (Text User Interface) applications with the Textual framework. Invoke when user asks about Textual development, TUI apps, widgets, screens, CSS styling, reactive programming, or testing Textual applications.
web-artifacts-builder
anthropics
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
radix-ui-design-system
sickn33
Build accessible design systems with Radix UI primitives. Headless component customization, theming strategies, and compound component patterns for production-grade UI libraries.
svelte-ui-design
XIYO
ALWAYS use this skill for ANY Svelte component styling, design, or UI work. Svelte 5 UI design system using Tailwind CSS 4, Skeleton Labs design tokens/presets/Tailwind Components, and Bits UI headless components. Covers class composition, color systems, interactive components, forms, overlays, and all visual design.