spec

Generate formal state machine specifications from functional requirements using CSP failure models.

2|1|Updated Feb 2, 2019
One-click install
npx skills add https://github.com/Foo-x/dotfiles --skill spec-foo-x
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: spec
Source: https://github.com/Foo-x/dotfiles/tree/main/claude/skills/spec
Command: npx skills add https://github.com/Foo-x/dotfiles --skill spec-foo-x

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill automates the creation of formal specification documents for systems, ensuring clarity, correctness, and completeness by translating functional requirements into a state machine model.

Core Features & Use Cases

  • Formal Specification Generation: Creates detailed state machine specifications based on functional requirements (liveness, reachability, safety).
  • Component Decomposition: Breaks down complex systems into manageable component specifications and designs APIs.
  • Use Case: A software architect needs to define the precise behavior of a new vending machine system. This Skill can take high-level requirements and generate a formal state machine specification, including state variables, transitions, and failure conditions, which can then be used by developers for implementation.

Quick Start

Use the spec skill to generate a formal specification for a vending machine based on the provided requirements.

Frequently Asked Questions about spec

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

FAQPage Schema
How do I generate formal state machine specifications from functional requirements?

To generate formal state machine specifications from functional requirements, provide the system's liveness, reachability, and safety needs. The tool translates these into state variables, guarded transitions, postconditions, and failure sets.

What is CSP failure model principles in requirements engineering?

CSP failure model principles in requirements engineering define system behavior by evaluating failures, deadlocks, and refinement conditions. This approach ensures component specifications adhere to strict safety and liveness properties during state machine generation.

Can I decompose complex systems into component specifications and design APIs?

You can decompose complex systems into component specifications and design APIs by breaking down top-level requirements. The tool defines manageable component state machines and analyzes their refinement conditions to ensure system-wide consistency.

How do you analyze deadlocks in formal state machine specifications?

Analyzing deadlocks in formal state machine specifications involves evaluating the generated failure sets and transition guards. The tool checks for unreachable states and ensures component specifications adhere to refinement conditions to prevent deadlocks.

Does this specification tool support systems with screen UIs?

This specification tool supports systems with screen UIs by defining specific display functions within the state machine model. This ensures the formal specification accurately captures both backend transitions and frontend interface behaviors.