Claude Code says "SKILL.md must start with YAML frontmatter (---)": the exact fix
Fix the Claude Code error SKILL.md must start with YAML frontmatter (---): the valid shape plus five ways files fail it, with broken vs fixed examples.
Resources
The production playbooks for safe text-to-SQL: how to enforce read-only SELECT, stop prompt-injection at the validator, trace every query line back to your schema, and export the whole pipeline so it runs in Claude Code, Cursor, or Codex.
Most safe-text-to-SQL guides tell you to hand-roll a least-privilege user and a regex SQL guard. A regex guard misses an obfuscated UPDATE; a 3-layer SELECT-only validator + statement_timeout + LIMIT wrap cannot run one.
Fix the Claude Code error SKILL.md must start with YAML frontmatter (---): the valid shape plus five ways files fail it, with broken vs fixed examples.
How Chion stops text-to-sql prompt injection (OWASP LLM01): a 400-char input sanitizer, a read-only AST validator, and a 1,000-row capped database role.
Resources
The production playbooks for safe text-to-SQL: how to enforce read-only SELECT, stop prompt-injection at the validator, trace every query line back to your schema, and export the whole pipeline so it runs in Claude Code, Cursor, or Codex.
Most safe-text-to-SQL guides tell you to hand-roll a least-privilege user and a regex SQL guard. A regex guard misses an obfuscated UPDATE; a 3-layer SELECT-only validator + statement_timeout + LIMIT wrap cannot run one.
Fix the Claude Code error SKILL.md must start with YAML frontmatter (---): the valid shape plus five ways files fail it, with broken vs fixed examples.
How Chion stops text-to-sql prompt injection (OWASP LLM01): a 400-char input sanitizer, a read-only AST validator, and a 1,000-row capped database role.