CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

requirement-to-tlaplus-property-generator

Automatically derives TLA+ properties (invariants, safety, liveness) from natural-language requirements or structured requirement documents. Resolves ambiguities, asks clarifying questions for underspecified requirements, and outputs TLA+-compatible property definitions with semantic explanations. Use when translating system requirements, specifications, or behavioral constraints into formal TLA+ temporal logic properties for verification with TLC model checker.

Quality

84%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

71%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured, highly actionable skill for translating requirements into TLA+ properties, with excellent progressive disclosure into three real reference files. Its main weaknesses are over-explanation of formal-methods basics Claude already knows (pitfalls, best practices, operator definitions) and placeholder templates that keep some examples from being fully executable, plus a missing output-validation step in the workflow.

Suggestions

Cut or drastically trim the 'Best Practices' and 'Common Pitfalls' sections — they restate formal-methods basics (safety vs. liveness, fairness needed for liveness) that Claude already knows; keep only guidance specific to this translation task.

Replace placeholder predicates in the Step 3 templates and Pattern 4 ('event_A_occurred_before', 'predicate_over_state_variables', bare 'P'/'Q') with concrete, syntactically valid TLA+ definitions so every shown property is copy-paste ready.

Add an explicit validation step to the workflow — e.g., 'check the generated property parses (SANY) and is checkable by TLC before presenting it; if not, fix and re-check' — turning Step 5's verification notes into a feedback loop.

DimensionReasoningScore

Conciseness

The workflow, patterns, and output format are dense and skill-specific, but sections like "Common Pitfalls" ("Safety: 'Nothing bad happens' ([]P)", "Liveness properties often require fairness assumptions"), the generic "Best Practices" items ("Use meaningful names", "Start simple"), and Step 3's teaching of basic temporal operators ([] = always, <> = eventually) restate formal-methods knowledge Claude already has and duplicate content in references/tlaplus_syntax.md. Mostly efficient, but a few full sections could be trimmed, which matches the anchor-3 example better than anchor 4's 'minor instances'.

3 / 5

Actionability

Mostly concrete, syntactically valid TLA+ (MutualExclusion, EventualService, SafeModeConstraint, AllTerminate, BufferSafety) plus a precise 7-part output format. However, several templates are placeholder pseudocode — "StateInvariant == predicate_over_state_variables", "Safety == []P", and Pattern 4's undefined "event_B_occurred => event_A_occurred_before" — so not everything is copy-paste ready, matching anchor 4 rather than anchor 5.

4 / 5

Workflow Clarity

The five-step sequence (Analyze → Resolve Ambiguities → Map to Constructs → Generate → Explain) is clearly ordered, and ambiguity resolution acts as an explicit interactive checkpoint ("ask the user" with example questions). The gap is output validation: the skill explains how TLC will check properties but never instructs validating that the generated property parses (e.g., with SANY) before presenting it — a missing checkpoint that fits anchor 4's 'most checkpoints present; minor validation gaps' rather than anchor 5's explicit validation steps.

4 / 5

Progressive Disclosure

The body is a clear overview (workflow, four key patterns inline, output format) with bulk material split into three real, one-level-deep reference files, each well-signaled at point of use ("See [references/clarification_patterns.md] for common question templates") and again in a closing References section. Verified: all three referenced files exist and contain no nested references, matching the anchor-5 example of a clear overview with well-signaled one-level-deep references.

5 / 5

Total

16

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description that explicitly states both what the skill does and when to use it, with concrete actions and distinctive TLA+/TLC trigger terms in third-person voice. The only gap is modest keyword coverage — no mention of the .tla file extension or common phrasings like 'formal verification'/'model checking'.

DimensionReasoningScore

Specificity

Multiple specific concrete actions in third person: "derives TLA+ properties (invariants, safety, liveness)", "Resolves ambiguities", "asks clarifying questions for underspecified requirements", "outputs TLA+-compatible property definitions with semantic explanations" — comprehensive coverage of the skill's functions, matching anchor 5.

5 / 5

Completeness

Clearly answers both: what ("derives TLA+ properties... Resolves ambiguities, asks clarifying questions... outputs TLA+-compatible property definitions with semantic explanations") and when ("Use when translating system requirements, specifications, or behavioral constraints into formal TLA+ temporal logic properties for verification with TLC model checker") — an explicit 'Use when' clause with concrete trigger phrases, matching anchor 5.

5 / 5

Trigger Term Quality

Good natural-term coverage — "TLA+", "requirements", "specifications", "behavioral constraints", "invariants", "safety", "liveness", "TLC model checker" — but a few natural terms are missing (e.g., the ".tla" file extension, "formal verification", "model checking" as a standalone phrase), which fits anchor 4's 'good keyword coverage; a few natural terms missing' rather than anchor 5's comprehensive coverage including extensions.

4 / 5

Distinctiveness Conflict Risk

Clear niche — translating natural-language requirements into TLA+ temporal properties — anchored by highly distinctive terms ("TLA+", "TLA+ temporal logic", "TLC model checker") that few other skills would claim, so trigger conflict risk is minimal; matches anchor 5's 'clear niche with distinct triggers'.

5 / 5

Total

19

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 4 missing

Warning

Total

15

/

16

Passed

Repository

ArabelaTso/Skills-4-SE

Path

skills/requirement-to-tlaplus-property-generator/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.