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.