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

Function handleDeleteSkill

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

Source from the content-addressed store, hash-verified

73 * Handles the deleteSkill message - deletes a skill
74 */
75export async function handleDeleteSkill(
76 provider: ClineProvider,
77 message: WebviewMessage,
78): Promise<SkillMetadata[] | undefined> {
79 try {
80 const skillName = message.skillName
81 const source = message.source as SkillSource
82 // Support new skillModeSlugs array or fall back to legacy skillMode
83 const skillMode = message.skillModeSlugs?.[0] ?? message.skillMode
84
85 if (!skillName || !source) {
86 throw new Error(t("skills:errors.missing_delete_fields"))
87 }
88
89 const skillsManager = provider.getSkillsManager()
90 if (!skillsManager) {
91 throw new Error(t("skills:errors.manager_unavailable"))
92 }
93
94 await skillsManager.deleteSkill(skillName, source, skillMode)
95
96 // Send updated skills list
97 const skills = skillsManager.getSkillsMetadata()
98 await provider.postMessageToWebview({ type: "skills", skills })
99 return skills
100 } catch (error) {
101 const errorMessage = error instanceof Error ? error.message : String(error)
102 provider.log(`Error deleting skill: ${errorMessage}`)
103 vscode.window.showErrorMessage(`Failed to delete skill: ${errorMessage}`)
104 return undefined
105 }
106}
107
108/**
109 * Handles the moveSkill message - moves a skill to a different mode

Callers 2

webviewMessageHandlerFunction · 0.90

Calls 8

tFunction · 0.90
getSkillsManagerMethod · 0.80
deleteSkillMethod · 0.80
getSkillsMetadataMethod · 0.80
postMessageToWebviewMethod · 0.80
logMethod · 0.65
StringInterface · 0.50
showErrorMessageMethod · 0.45

Tested by

no test coverage detected