ivy-writing-guide

Guide Ivy protocol specification syntax, test patterns, and RFC bracket-tag annotations.

Updated Feb 25, 2026
One-click install
npx skills add https://github.com/ElNiak/panther-ivy-plugin --skill ivy-writing-guide
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ivy-writing-guide
Source: https://github.com/ElNiak/panther-ivy-plugin/tree/main/plugins/panther-ivy-plugin/skills/ivy-writing-guide
Command: npx skills add https://github.com/ElNiak/panther-ivy-plugin --skill ivy-writing-guide

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides comprehensive guidance for writing and annotating Ivy protocol specifications, ensuring clarity, correctness, and adherence to standards.

Core Features & Use Cases

  • Ivy Language Reference: Covers syntax, types, relations, functions, actions, invariants, and modules.
  • Test Specification Patterns: Details the structure and components of effective test specifications.
  • RFC Annotation: Guides on using bracket-tag syntax for linking specifications to RFC requirements.
  • Use Case: When developing a new network protocol model in Ivy, use this Skill to understand the correct syntax for defining state, actions, and invariants, and to properly tag assertions with RFC references.

Quick Start

Use the ivy-writing-guide skill to understand how to declare a relation in an Ivy file.

Frequently Asked Questions about ivy-writing-guide

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is Ivy protocol specification and when do I need it?

Ivy protocol specification is a formal method for defining verifiable network protocol models using relations, functions, and invariants. You need it when developing protocol models that require traceable assertions and rigorous state action verification.

How do I write test specifications in Ivy?

To write Ivy test specifications, you define exported actions, finalize actions, and role isolation within a structured test specification framework. You can also apply test variants and weight attributes to control test execution and coverage patterns.

How do I annotate RFC requirements in Ivy protocol specifications?

You annotate RFC requirements in Ivy protocol specifications using bracket-tag syntax. This RFC annotation links your Ivy specification assertions directly to RFC requirements, ensuring traceable and verifiable protocol modeling throughout the development process.

Can I use Ivy module systems and include directives for complex protocol modeling?

Yes, you can use the Ivy module system and include directives for complex protocol modeling. The Ivy language supports object systems and module systems to help organize relations, functions, actions, and invariants across multiple specification files.

What are common pitfalls when defining invariants and actions in Ivy?

Common Ivy pitfalls involve incorrect type declarations, improper relation definitions, and structural mistakes when defining actions and invariants. Following Ivy syntax standards for state declarations and module organization helps avoid these formal method specification errors.

Does Ivy formal verification require prior protocol specification knowledge?

Ivy formal verification requires foundational knowledge of protocol specification, formal methods, and model verification. Understanding Ivy syntax, type declarations, and invariant structures is essential before attempting protocol modeling and test specification generation.