()
| 110 | } |
| 111 | |
| 112 | async function handleSkills(): Promise<SlashCommandResult> { |
| 113 | const { skills } = await loadMarkdownSkills(); |
| 114 | |
| 115 | if (!skills.length) { |
| 116 | return { |
| 117 | exit: false, |
| 118 | output: chalk.yellow( |
| 119 | "No skills found. Add skills under .continue/skills or .claude/skills.", |
| 120 | ), |
| 121 | }; |
| 122 | } |
| 123 | |
| 124 | const header = chalk.bold("Available skills:"); |
| 125 | const lines = skills.map( |
| 126 | (skill) => |
| 127 | `${chalk.cyan(skill.name)} - ${skill.description} ${chalk.gray( |
| 128 | `(${skill.path})`, |
| 129 | )}`, |
| 130 | ); |
| 131 | |
| 132 | return { |
| 133 | exit: false, |
| 134 | output: [header, "", ...lines].join("\n"), |
| 135 | }; |
| 136 | } |
| 137 | |
| 138 | async function handleImportSkill(args: string[]): Promise<SlashCommandResult> { |
| 139 | const query = args.join(" ").trim(); |
no test coverage detected