AgentSkillsCN

cairo-panic

当请求涉及在 Cairo 中创建项目,或希望理解包与 crate 的结构时,讲解 Cairo 的包与 crate、Scarb 项目布局,以及 crate 根目录的用法。

SKILL.md
--- frontmatter
name: cairo-panic
description: Explain Cairo unrecoverable errors, `panic`, `panic!`, `panic_with_felt252`, `nopanic`, and `panic_with`; use when a request involves panics or panic annotations in Cairo.

Cairo Panic

Overview

Explain how panics work in Cairo, how to trigger them, and how to constrain panic behavior.

Quick Use

  • Read references/panic.md before answering.
  • Choose the smallest panic API that fits the error message you need.
  • Mention nopanic requirements when a caller demands panic-free code.

Response Checklist

  • Use panic for array-based errors, panic_with_felt252 for a single felt, and panic! for strings.
  • Note that panic unwinds, drops variables, and squashes dictionaries.
  • Use #[panic_with(...)] for wrapper functions that panic on None or Err.

Example Requests

  • "How do I panic with a short error code?"
  • "What does nopanic mean?"
  • "How do I create a wrapper that panics on None?"

Cairo by Example