pub fn parse_agent(text: &str, file: &Path) -> Result<AgentDef, String>Expand description
Parse an agent file. file names the fallback agent (its stem) when the frontmatter has
no name; a missing description falls back to the body’s first line.