extract

Extract state machines from Rust, Go, TypeScript, and Python codebases into verified IOA specs.

Updated Mar 12, 2026
One-click install
npx skills add https://github.com/loren-arthur/flow-state --skill extract-loren-arthur
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: extract
Source: https://github.com/loren-arthur/flow-state/tree/main/.claude/skills/extract
Command: npx skills add https://github.com/loren-arthur/flow-state --skill extract-loren-arthur

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

The Skill unit 'extract' helps engineers understand how their system actually behaves by automatically extracting state machines from codebases and generating verified I/O Automaton (IOA) specs.

Core Features & Use Cases

  • Automatic State Machine Extraction: Discovers and identifies state machines within existing codebases.
  • IOA Spec Generation: Formalizes state machines into verified IOA specs.
  • Navigation: Allows navigation of a navigable property graph built from extracted information.

Quick Start

Start by executing the /extract command with a target code path.

Frequently Asked Questions about extract

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

FAQPage Schema
How do I extract state machines from a codebase?

You can extract state machines from a codebase by running an automated analysis command on your target code path. This process discovers existing state machines and builds a navigable property graph detailing the system's behavior.

What are I/O Automaton specs and how are they generated from code?

I/O Automaton (IOA) specs are formal representations of system behavior generated from code. The generation process works by formalizing state machines automatically extracted from your codebase into verified IOA specifications.

Can I generate IOA specs from Rust, Go, TypeScript, and Python codebases?

Yes, you can generate verified IOA specs from Rust, Go, TypeScript, and Python codebases. The automated extraction process specifically analyzes code written in these languages to discover state machines and formalize them into I/O Automaton specifications.

What is the best way to visualize state machines in existing code?

The best way to visualize state machines in existing code is to extract them into a navigable property graph. By analyzing your codebase, you can discover state machines and navigate the resulting graph structure to understand system behavior.

Why do I need verified I/O Automaton specifications for my system?

You need verified I/O Automaton specifications to formally understand and verify how your system actually behaves. Generating verified IOA specs from extracted state machines helps engineers ensure their system logic matches the formalized behavior.