MCPcopy Create free account
hub / github.com/Zoo-Code-Org/Zoo-Code / handleOpenSkillFile

Function handleOpenSkillFile

src/core/webview/skillsMessageHandler.ts:182–208  ·  view source on GitHub ↗
(provider: ClineProvider, message: WebviewMessage)

Source from the content-addressed store, hash-verified

180 * Handles the openSkillFile message - opens a skill file in the editor
181 */
182export async function handleOpenSkillFile(provider: ClineProvider, message: WebviewMessage): Promise<void> {
183 try {
184 const skillName = message.skillName
185 const source = message.source as SkillSource
186
187 if (!skillName || !source) {
188 throw new Error(t("skills:errors.missing_delete_fields"))
189 }
190
191 const skillsManager = provider.getSkillsManager()
192 if (!skillsManager) {
193 throw new Error(t("skills:errors.manager_unavailable"))
194 }
195
196 // Find skill by name and source (skills may have modeSlugs arrays now)
197 const skill = skillsManager.findSkillByNameAndSource(skillName, source)
198 if (!skill) {
199 throw new Error(t("skills:errors.skill_not_found", { name: skillName }))
200 }
201
202 openFile(skill.path)
203 } catch (error) {
204 const errorMessage = error instanceof Error ? error.message : String(error)
205 provider.log(`Error opening skill file: ${errorMessage}`)
206 vscode.window.showErrorMessage(`Failed to open skill file: ${errorMessage}`)
207 }
208}

Callers 2

webviewMessageHandlerFunction · 0.90

Calls 7

tFunction · 0.90
openFileFunction · 0.90
getSkillsManagerMethod · 0.80
logMethod · 0.65
StringInterface · 0.50
showErrorMessageMethod · 0.45

Tested by

no test coverage detected