AgentSkillsCN

cairo-macros

当请求涉及通过类哈希从另一个类中执行代码时,讲解 Starknet 库调用的原理,包括库调度器、类哈希,以及 library_call_syscall 的使用方法。

SKILL.md
--- frontmatter
name: cairo-macros
description: Explain Cairo declarative macros, macro hygiene, and macro vs function tradeoffs; use when a request involves writing or understanding `macro` definitions in Cairo.

Cairo Macros

Overview

Explain declarative (inline) macros, pattern matching, and hygiene in Cairo.

Quick Use

  • Read references/macros.md before answering.
  • Show a small macro definition with pattern and expansion.
  • Mention $defsite, $callsite, and expose! when hygiene matters.

Response Checklist

  • Explain that macros expand at compile time and can take variable arguments.
  • Note that macros must be defined or imported before use.
  • Use match-like patterns with $() and repetition modifiers.

Example Requests

  • "How do I write an array-building macro?"
  • "What are $defsite and $callsite in Cairo macros?"
  • "When should I use a macro instead of a function?"