tlaplus-spec-generator

Generate TLA+ specifications from natural language or pseudocode descriptions.

1|2|Updated Mar 10, 2026
One-click install
npx skills add https://github.com/santosomar/general-secure-coding-agent-skills --skill tlaplus-spec-generator-santosomar
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tlaplus-spec-generator
Source: https://github.com/santosomar/general-secure-coding-agent-skills/tree/main/skills/verification/tlaplus-spec-generator
Command: npx skills add https://github.com/santosomar/general-secure-coding-agent-skills --skill tlaplus-spec-generator-santosomar

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill transforms natural-language descriptions of concurrent and distributed systems into formal TLA+ specifications, enabling rigorous verification of their correctness.

Core Features & Use Cases

  • Formal Specification Generation: Automatically creates TLA+ modules from prose.
  • Component Identification: Extracts state variables, actions, invariants, and properties.
  • Use Case: You've designed a new distributed consensus algorithm in a research paper. Use this Skill to generate a TLA+ specification to formally verify its safety and liveness properties using the TLC model checker.

Quick Start

Use the tlaplus-spec-generator skill to translate the following system description into a TLA+ specification.

Frequently Asked Questions about tlaplus-spec-generator

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

FAQPage Schema
How do I generate a TLA+ specification from a natural language protocol description?

To generate a TLA+ specification from natural language, provide your concurrent or distributed system description to automatically extract state variables, actions, type invariants, and properties for formal verification.

What is formal verification for concurrent systems and when do I need it?

Formal verification for concurrent systems mathematically proves protocol correctness using specifications. You need it when designing distributed algorithms, consensus schemes, or locking mechanisms to ensure safety and liveness properties.

Can I use pseudocode to create a TLA+ module for model checking?

Yes, you can use pseudocode to create a TLA+ module. The generation process identifies state variables and actions from pseudocode descriptions to produce formal specifications for the TLC model checker.

Does formal verification extract both safety and liveness properties for distributed algorithms?

Formal verification extracts both safety and liveness properties for distributed algorithms. It identifies type invariants and specific properties from your description to validate protocol correctness using the TLC model checker.

What is the best way to formalize a distributed consensus algorithm for rigorous verification?

The best way to formalize a distributed consensus algorithm is translating its logic into a TLA+ specification. This identifies necessary state variables and invariants to rigorously verify safety and liveness properties.