zed-industries/zed · error
Skill name must not start or end with a hyphen
Error message
Skill name must not start or end with a hyphen
What it means
Returned by validate_name when the skill name starts or ends with a hyphen ('-'). Leading/trailing hyphens produce invalid/awkward directory names, so the field error is set and saving is blocked until the name is trimmed of hyphens.
Source
Thrown at crates/settings_ui/src/pages/skill_creator.rs:397
fn current_name(&self, cx: &App) -> String {
self.name_editor.read(cx).text(cx)
}
fn current_description(&self, cx: &App) -> String {
self.description_editor.read(cx).text(cx)
}
fn current_body(&self, cx: &App) -> String {
self.body_editor.read(cx).text(cx)
}
fn current_url(&self, cx: &App) -> String {
self.url_editor.read(cx).text(cx)
}
fn recompute_name_error(&mut self, cx: &mut Context<Self>) {
let name = self.current_name(cx);
let error = validate_name(&name).err();
self.name_error = error;
self.name_editor
.update(cx, |field, cx| field.set_error(error, cx));
}
fn recompute_description_error(&mut self, cx: &mut Context<Self>) {
let description = self.current_description(cx);
self.description_length = description.chars().count();
let error = validate_description(&description).err();
self.description_error = error;
self.description_editor
.update(cx, |field, cx| field.set_error(error, cx));
}
fn recompute_body_error(&mut self, cx: &App) {
let body = self.current_body(cx);
self.body_error = if body.trim().is_empty() {
Some("Body is required.")View on GitHub (pinned to 9d272b0363)
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/settings_ui/src/pages/skill_creator.rs:397 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of zed-industries/zed@9d272b0363 (2026-08-20).
Data as JSON: /api/errors/19886c667244dab9.
Report an issue: GitHub.