What problem does it solve? LLMs frequently generate incorrect MariaDB CALL statements by assuming mandatory parentheses, passing literals to OUT/INOUT parameters, or conflating procedure result sets with function return values. This Skill provides the MariaDB-specific rules needed to write, generate, or review CALL statements correctly. ## Core Features & Use Cases - Parameter Binding Rules: Explains that OUT and INOUT parameters must bind to user-defined variables (@var) rather than literals, with values read back via SELECT @var. - Result-Set and Privilege Semantics: Clarifies that procedures return result sets directly to the client (unlike stored functions), and that only the EXECUTE privilege on the routine is required. - Recursion and Prepared Statements: Covers max_sp_recursion_depth for recursive procedures and CALL as a prepared statement with placeholders for all parameter modes. - Use Case: When asked to write a stored procedure call that returns a computed total, produce CALL total_orders(@customer_id, @total); followed by SELECT @total; instead of incorrectly passing a literal placeholder. ## Quick Start Ask the AI to write a MariaDB CALL statement for a stored procedure with an OUT parameter and verify the syntax against MariaDB 11.8 behavior.