@@ -139,8 +139,8 @@ async function loadComponentsForSearch() {
139139
140140 if ( data ) {
141141 // Process each category for search
142- const categories = [ 'agents' , 'commands' , 'settings' , 'hooks' , 'mcps' ] ;
143-
142+ const categories = [ 'agents' , 'commands' , 'settings' , 'hooks' , 'mcps' , 'skills' ] ;
143+
144144 for ( const category of categories ) {
145145 if ( data [ category ] && Array . isArray ( data [ category ] ) ) {
146146 // Process components to make them search-friendly
@@ -175,10 +175,10 @@ async function loadComponentsForSearch() {
175175 const response = await fetch ( 'components.json' ) ;
176176 if ( response . ok ) {
177177 const data = await response . json ( ) ;
178-
178+
179179 // Process each category for search
180- const categories = [ 'agents' , 'commands' , 'settings' , 'hooks' , 'mcps' ] ;
181-
180+ const categories = [ 'agents' , 'commands' , 'settings' , 'hooks' , 'mcps' , 'skills' ] ;
181+
182182 for ( const category of categories ) {
183183 if ( data [ category ] && Array . isArray ( data [ category ] ) ) {
184184 // Process components to make them search-friendly
@@ -212,7 +212,7 @@ async function loadComponentsForSearch() {
212212
213213 // Fallback: try to use cached data if available
214214 if ( window . getSearchData ) {
215- const categories = [ 'agents' , 'commands' , 'settings' , 'hooks' , 'mcps' ] ;
215+ const categories = [ 'agents' , 'commands' , 'settings' , 'hooks' , 'mcps' , 'skills' ] ;
216216 for ( const category of categories ) {
217217 const data = window . getSearchData ( category ) ;
218218 if ( data && data . length > 0 ) {
@@ -262,7 +262,7 @@ function getFilterFromURL() {
262262 const segments = path . split ( '/' ) . filter ( segment => segment ) ;
263263
264264 // Check if first segment is a valid filter
265- const validFilters = [ 'agents' , 'commands' , 'settings' , 'hooks' , 'mcps' , 'templates' , 'plugins' ] ;
265+ const validFilters = [ 'agents' , 'commands' , 'settings' , 'hooks' , 'mcps' , 'skills' , ' templates', 'plugins' ] ;
266266 const firstSegment = segments [ 0 ] ;
267267
268268 if ( firstSegment && validFilters . includes ( firstSegment ) ) {
@@ -423,7 +423,8 @@ function updateSearchResults(results, categoryMatches = new Set()) {
423423 commands : '⚡' ,
424424 settings : '⚙️' ,
425425 hooks : '🪝' ,
426- mcps : '🔌'
426+ mcps : '🔌' ,
427+ skills : '🎨'
427428 } ;
428429
429430 const tags = Array . from ( categoryMatches ) . map ( category => {
@@ -480,8 +481,8 @@ function displaySearchResults(results) {
480481
481482 // Render grouped results in specific order
482483 let html = '' ;
483- const categoryOrder = [ 'agents' , 'commands' , 'settings' , 'hooks' , 'mcps' ] ;
484-
484+ const categoryOrder = [ 'agents' , 'commands' , 'settings' , 'hooks' , 'mcps' , 'skills' ] ;
485+
485486 categoryOrder . forEach ( category => {
486487 if ( ! groupedResults [ category ] ) return ;
487488 const categoryResults = groupedResults [ category ] ;
@@ -519,7 +520,8 @@ function getCategoryIcon(category) {
519520 commands : '⚡' ,
520521 settings : '⚙️' ,
521522 hooks : '🪝' ,
522- mcps : '🔌'
523+ mcps : '🔌' ,
524+ skills : '🎨'
523525 } ;
524526 return icons [ category ] || '📦' ;
525527}
@@ -541,7 +543,8 @@ function generateComponentCard(component, category) {
541543 command : { icon : '⚡' , color : '#4ecdc4' } ,
542544 mcp : { icon : '🔌' , color : '#45b7d1' } ,
543545 setting : { icon : '⚙️' , color : '#9c88ff' } ,
544- hook : { icon : '🪝' , color : '#ff8c42' }
546+ hook : { icon : '🪝' , color : '#ff8c42' } ,
547+ skill : { icon : '🎨' , color : '#f59e0b' }
545548 } ;
546549
547550 const config = typeConfig [ component . type ] ;
0 commit comments