{"record":{"id":"67b6a590161abeae","repo":"openai/codex","slug":"invalid-yaml-0","errorCode":null,"errorMessage":"invalid YAML: {0}","messagePattern":"invalid YAML: (.+?)","errorType":"exception","errorClass":"SkillParseError","httpStatus":null,"severity":"error","filePath":"codex-rs/skills/src/parser.rs","lineNumber":35,"sourceCode":"struct SkillFrontmatterMetadata {\n    #[serde(default, rename = \"short-description\")]\n    short_description: Option<String>,\n}\n\n/// Validated metadata parsed from a `SKILL.md` frontmatter block.\n#[derive(Debug, Clone, PartialEq, Eq)]\npub struct ParsedSkillFrontmatter {\n    pub name: String,\n    pub description: String,\n    pub short_description: Option<String>,\n}\n\n/// Error produced while parsing or validating `SKILL.md` metadata.\n#[derive(Debug, Error)]\npub enum SkillParseError {\n    #[error(\"missing YAML frontmatter delimited by ---\")]\n    MissingFrontmatter,\n    #[error(\"invalid YAML: {0}\")]\n    InvalidYaml(#[source] serde_yaml::Error),\n    #[error(\"missing field `{0}`\")]\n    MissingField(&'static str),\n    #[error(\"invalid {field}: {reason}\")]\n    InvalidField { field: &'static str, reason: String },\n}\n\n/// Parses and validates the metadata frontmatter from `SKILL.md` contents.\npub fn parse_skill_frontmatter_metadata(\n    contents: &str,\n    default_name: impl FnOnce() -> String,\n) -> Result<ParsedSkillFrontmatter, SkillParseError> {\n    let frontmatter = extract_frontmatter(contents).ok_or(SkillParseError::MissingFrontmatter)?;\n\n    let parsed: SkillFrontmatter = match serde_yaml::from_str(&frontmatter) {\n        Ok(parsed) => Ok(parsed),\n        Err(original_error) => match repair_frontmatter_scalar_fields(&frontmatter) {\n            // Some third-party skills use prose like `description: Build for AWS: ECS`","sourceCodeStart":17,"sourceCodeEnd":53,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/skills/src/parser.rs#L17-L53","documentation":"Error \"invalid YAML: {0}\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/skills/src/parser.rs:35 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"339751715c64496cb86246bfb3935f40e309dd3d","analyzedAt":"2026-08-25T05:35:09.876Z","schemaVersion":2},"datasetVersion":"2026-08-25T06:17:31.827Z"}