Installs into .claude/skills of the current project.
Are you the author of Cairo L1 L2 Messaging?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/david-li0406-cairo-l1-l2-messaging)
---
name: cairo-l1-l2-messaging
description: Explain Starknet L1 and L2 messaging, l1_handler functions, and message syscalls; use when a request involves cross layer messaging in Cairo.
---
# Cairo L1-L2 Messaging
## Overview
Explain how messages flow between L1 and L2 and the contract patterns to send and receive them.
## Quick Use
- Read `references/l1-l2-messaging.md` before answering.
- Use `#[l1_handler]` for L1 to L2 messages.
- Use `send_message_to_l1_syscall` for L2 to L1 messages.
## Response Checklist
- Verify the L1 sender in l1_handler entry points.
- Remember that L2 to L1 messages must be consumed on L1.
- Use felt252 arrays for payloads.
## Example Requests
- "How do I receive an L1 message in Cairo?"
- "How do I send a message to L1 from a contract?"
- "What is the Starknet messaging contract on L1?"