requirement-to-tlaplus-property-generator

Translate natural-language requirements into TLA+ safety and liveness properties.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill bridges the gap between informal natural-language requirements and formal TLA+ specifications, enabling rigorous verification of system behavior.

Core Features & Use Cases

  • Requirement Classification: Distinguishes between safety and liveness properties.
  • State Predicate Extraction: Maps natural language concepts to TLA+ state variables.
  • Pattern Catalog: Provides TLA+ translations for common requirement phrasings.
  • Use Case: When formalizing acceptance criteria for a critical system, use this Skill to translate user stories like "The system must never allow concurrent access to sensitive data" into a TLA+ invariant.

Quick Start

Use the requirement-to-tlaplus-property-generator skill to translate the requirement "A write request must be replicated to a majority of nodes before it is acknowledged to the client." into a TLA+ property.

Frequently Asked Questions about requirement-to-tlaplus-property-generator

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

FAQPage Schema
How do I translate natural language requirements into TLA+ properties for model checking?▼

TLA+ formalization distinguishes safety properties, which define states that must never occur, from liveness properties, which define states that must eventually occur. The Skill classifies natural-language requirements accordingly to generate checkable TLA+ invariants and temporal formulas.

How do I formalize a safety requirement like preventing concurrent access into a TLA+ invariant?▼

You formalize a safety requirement by mapping natural-language concepts to TLA+ state variables and extracting state predicates. The system uses a pattern catalog to translate phrasings like 'never allow concurrent access' into a checkable TLA+ invariant.

Can I convert informal acceptance criteria directly into temporal formulas for TLA+ model checking?▼

Yes, you can convert informal acceptance criteria into temporal formulas for TLA+ model checking. The system extracts state predicates from requirements and applies temporal logic to generate checkable liveness properties and precedence constraints.

Do I need to understand TLA+ syntax to use this requirement formalization process?▼

Yes, understanding TLA+ syntax is required. The formalization process requires knowledge of TLA+ syntax for safety, liveness, and precedence constraints to accurately translate informal requirements into checkable predicates.

What is the best way to formalize liveness properties for critical system requirements?▼

The best way to formalize liveness properties is to classify the requirement as a liveness condition and map it to TLA+ temporal formulas. The system translates informal statements of eventual outcomes into checkable predicates for TLA+ model checking.