@@ -414,8 +414,9 @@ function handleSkillsCommand(options) {
414414
415415 if ( subcommand === "search" ) {
416416 const query = flags . query || positional . slice ( 2 ) . join ( " " )
417- if ( ! query ) {
418- outputError ( { code : 85 , type : "invalid_argument" , message : "Usage: supercli skills search --query <text> [--provider <provider>] [--limit <n>] [--offset <n>]" , recoverable : false } )
417+ const tags = flags . tags ? String ( flags . tags ) . split ( "," ) . map ( t => t . trim ( ) ) . filter ( Boolean ) : [ ]
418+ if ( ! query && ! tags . length ) {
419+ outputError ( { code : 85 , type : "invalid_argument" , message : "Usage: supercli skills search --query <text> [--tags <tag1,tag2>] [--provider <provider>] [--limit <n>] [--offset <n>]" , recoverable : false } )
419420 return true
420421 }
421422 const limitExplicit = flags . limit !== undefined
@@ -431,7 +432,7 @@ function handleSkillsCommand(options) {
431432 outputError ( { code : 85 , type : "invalid_argument" , message : "Invalid --offset. Use a non-negative integer" , recoverable : false } )
432433 return true
433434 }
434- const allSkills = searchCatalog ( query , { provider : flags . provider } )
435+ const allSkills = searchCatalog ( query , { provider : flags . provider , tags } )
435436 const total = allSkills . length
436437 const start = Math . min ( offset , total )
437438 const end = limit !== null ? Math . min ( start + limit , total ) : total
@@ -564,7 +565,7 @@ function handleSkillsCommand(options) {
564565 console . log ( " get <id> Get skill documentation" ) ;
565566 console . log ( " teach Get the skills usage guide" ) ;
566567 console . log ( " sync Sync skills catalog" ) ;
567- console . log ( " search Search skills catalog (--limit, --offset)" ) ;
568+ console . log ( " search Search skills catalog (--query, --tags, --provider, -- limit, --offset)" ) ;
568569 console . log ( " providers Manage skill providers\n" ) ;
569570 console . log ( " Usage:" ) ;
570571 console . log ( " supercli skills list [--catalog] [--limit <n>] [--offset <n>]" ) ;
@@ -601,8 +602,8 @@ function handleSkillsCommand(options) {
601602 } ,
602603 search : {
603604 description : "Search skills catalog for matching skills" ,
604- usage : "supercli skills search --query <text> [--provider <name>] [--limit <n>] [--offset <n>]" ,
605- examples : [ "supercli skills search --query email --json" , "supercli skills search --query email --limit 10 --json" , "supercli skills search --query email --limit 10 --offset 20 --json" ]
605+ usage : "supercli skills search --query <text> [--tags <tag1,tag2>] [-- provider <name>] [--limit <n>] [--offset <n>]" ,
606+ examples : [ "supercli skills search --query email --json" , "supercli skills search --tags skills --json" , "supercli skills search -- query email --tags docker --limit 10 --json", "supercli skills search --query email --limit 10 --offset 20 --json" ]
606607 } ,
607608 providers : {
608609 description : "Manage skill providers (list, add, remove, show)" ,
0 commit comments