← ClaudeAtlas

formal-speclisted

Use when writing formal specifications in TLA+ to verify system properties, defining state variables, configuring TLC model checker, and documenting assumptions and limitations. Covers safety and liveness properties for protocols and concurrent systems. Do not use for security claim enumeration without specification intent (use invariant-analysis).
dtsong/agentic-council · ★ 0 · AI & Automation · score 78
Install: claude install-skill dtsong/agentic-council
# Formal Spec ## Purpose Extract properties from a system design, define state variables, write TLA+ specifications, identify invariants, configure the TLC model checker, and document assumptions and limitations. ## Scope Constraints Reads system designs, protocol descriptions, and existing specifications. Produces TLA+ specification files as output. Does not execute model checkers or modify implementation code. ## Inputs - System design or protocol description to formalize - Security properties that should hold (informally stated) - Concurrency model (number of processes, shared state, communication mechanism) - Scope constraints (bounded checking parameters) - Existing informal specification or documentation ## Input Sanitization No user-provided values are used in commands or file paths. All inputs are treated as read-only analysis targets. ## Procedure ### Progress Checklist - [ ] Step 1: Extract properties from design - [ ] Step 2: Define state variables - [ ] Step 3: Write TLA+ specification - [ ] Step 4: Identify invariants - [ ] Step 5: Configure model checker - [ ] Step 6: Document assumptions and limitations ### Step 1: Extract Properties from Design Translate informal requirements into candidate formal properties: - **Safety properties**: "Bad thing never happens" — e.g., "No two processes hold the lock simultaneously" - **Liveness properties**: "Good thing eventually happens" — e.g., "Every request eventually gets a response" - **Security properties**: "U