skills/data-analysis/implementing-search-filter/SKILL.md
Implements search and filter interfaces for both frontend (React/TypeScript) and backend (Python) with debouncing, query management, and database integration. Use when adding search functionality, building filter UIs, implementing faceted search, or optimizing search performance.
npx skillsauth add hongmaple0820/agent-academy implementing-search-filterInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Implement search and filter interfaces with comprehensive frontend components and backend query optimization.
This skill provides production-ready patterns for implementing search and filtering functionality across the full stack. It covers React/TypeScript components for the frontend (search inputs, filter UIs, autocomplete) and Python patterns for the backend (SQLAlchemy queries, Elasticsearch integration, API design). The skill emphasizes performance optimization, accessibility, and user experience.
Search Input with Debouncing
references/search-input-patterns.mdAutocomplete/Typeahead
references/autocomplete-patterns.mdFilter UI Components
references/filter-ui-patterns.mdDatabase Query Building
references/database-querying.mdElasticsearch Integration
references/elasticsearch-integration.mdAPI Design
references/api-design.mdDebouncing Implementation
debounce from lodash or custom implementationscripts/debounce_calculator.jsQuery Parameter Management
references/query-parameter-management.mdQuery Optimization
scripts/generate_filter_query.pyValidation & Security
scripts/validate_search_params.pyrole="search" for search regionsaria-live for result updatesPrimary: Downshift (Autocomplete)
npm install downshiftAlternative: React Select
Python/SQLAlchemy
Python/Django
Elasticsearch (Python)
references/search-input-patterns.md - Input implementationsreferences/autocomplete-patterns.md - Typeahead patternsreferences/filter-ui-patterns.md - Filter componentsreferences/database-querying.md - SQL query patternsreferences/elasticsearch-integration.md - Elasticsearch setupreferences/api-design.md - API endpoint patternsreferences/performance-optimization.md - Performance tipsreferences/library-comparison.md - Library evaluationscripts/generate_filter_query.py - Build SQL/ES queriesscripts/validate_search_params.py - Validate inputsscripts/debounce_calculator.js - Calculate debounce timingexamples/product-search.tsx - E-commerce searchexamples/autocomplete-search.tsx - Autocomplete implementationexamples/sqlalchemy_search.py - SQLAlchemy patternsexamples/fastapi_search.py - FastAPI search endpointexamples/django_filter_backend.py - Django filtersassets/filter-config-schema.json - Filter configurationassets/search-api-spec.json - OpenAPI specificationdevelopment
Builds dashboards, reports, and data-driven interfaces requiring charts, graphs, or visual analytics. Provides systematic framework for selecting appropriate visualizations based on data characteristics and analytical purpose. Includes 24+ visualization types organized by purpose (trends, comparisons, distributions, relationships, flows, hierarchies, geospatial), accessibility patterns (WCAG 2.1 AA compliance), colorblind-safe palettes, and performance optimization strategies. Use when creating visualizations, choosing chart types, displaying data graphically, or designing data interfaces.
development
Guided statistical analysis with test selection and reporting. Use when you need help choosing appropriate tests for your data, assumption checking, power analysis, and APA-formatted results. Best for academic research reporting, test selection guidance. For implementing specific models programmatically use statsmodels.
testing
Execute read-only SQL queries against multiple PostgreSQL databases. Use when: (1) querying PostgreSQL databases, (2) exploring database schemas/tables, (3) running SELECT queries for data analysis, (4) checking database contents. Supports multiple database connections with descriptions for intelligent auto-selection. Blocks all write operations (INSERT, UPDATE, DELETE, DROP, etc.) for safety.
development
Low-level plotting library for full customization. Use when you need fine-grained control over every plot element, creating novel plot types, or integrating with specific scientific workflows. Export to PNG/PDF/SVG for publication. For quick statistical plots use seaborn; for interactive plots use plotly; for publication-ready multi-panel figures with journal styling, use scientific-visualization.