{"record":{"id":"9f04055571bbe9fa","repo":"zed-industries/zed","slug":"skill-description-cannot-be-empty","errorCode":null,"errorMessage":"Skill description cannot be empty","messagePattern":"Skill description cannot be empty","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/settings_ui/src/pages/skill_creator.rs","lineNumber":406,"sourceCode":"        self.body_editor.read(cx).text(cx)\n    }\n\n    fn current_url(&self, cx: &App) -> String {\n        self.url_editor.read(cx).text(cx)\n    }\n\n    fn recompute_name_error(&mut self, cx: &mut Context<Self>) {\n        let name = self.current_name(cx);\n        let error = validate_name(&name).err();\n        self.name_error = error;\n        self.name_editor\n            .update(cx, |field, cx| field.set_error(error, cx));\n    }\n\n    fn recompute_description_error(&mut self, cx: &mut Context<Self>) {\n        let description = self.current_description(cx);\n        self.description_length = description.len();\n        let error = validate_description(&description).err();\n        self.description_error = error;\n        self.description_editor\n            .update(cx, |field, cx| field.set_error(error, cx));\n    }\n\n    fn recompute_body_error(&mut self, cx: &App) {\n        let body = self.current_body(cx);\n        self.body_error = if body.trim().is_empty() {\n            Some(\"Body is required.\")\n        } else {\n            None\n        };\n    }\n\n    fn is_valid(&self, cx: &App) -> bool {\n        validate_name(&self.current_name(cx)).is_ok()\n            && validate_description(&self.current_description(cx)).is_ok()\n            && !self.current_body(cx).trim().is_empty()","sourceCodeStart":388,"sourceCodeEnd":424,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/settings_ui/src/pages/skill_creator.rs#L388-L424","documentation":"Validation in recompute_description_error(): the skill description is empty, and a non-empty description is required to create or save a skill.","triggerScenarios":"Thrown at crates/settings_ui/src/pages/skill_creator.rs:406 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Write a description before saving","Disable save until the description is non-empty","Show the inline error under the description field"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f4178619acd0d47ea1f76a2025c42962c6d6638c","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}