Agent Skills: State Machine Pattern

State Machine Pattern pattern for C development

UncategorizedID: mgreenly/ikigai/patterns/state-machine

Install this agent skill to your local

pnpm dlx add-skill https://github.com/mgreenly/ikigai/tree/HEAD/.claude/library/patterns/state-machine

Skill Files

Browse the full folder contents for patterns/state-machine.

Download Skill

Loading file tree…

.claude/library/patterns/state-machine/SKILL.md

Skill Metadata

Name
patterns/state-machine
Description
State Machine Pattern pattern for C development

State Machine Pattern

Model system behavior as discrete states with defined transitions. Current state determines which actions are valid and what state comes next.

ikigai Application

Input parser: Tracks escape sequence state (normal, escape, CSI, etc.) to interpret terminal input bytes.

Streaming response: States like idle → requesting → streaming → complete → idle.

Implementation: Enum for states, switch or function pointer table for transitions:

typedef enum { STATE_IDLE, STATE_STREAMING, STATE_ERROR } stream_state_t;

REPL states: Input mode, scrolling mode, command mode.

Benefit: Complex input handling becomes manageable. Each state handles its valid inputs.