From gir-core
State machine templates and patterns for Claude Code. Provides structured state management for workflows, UI components, and process orchestration. Use when implementing stateful logic, workflow engines, or multi-step processes.
npx claudepluginhub rivit-studio/gir --plugin gir-coreThis skill uses the workspace's default tool permissions.
<!-- speckit-version: 1.0.0 -->
Designs finite state machines and statecharts for modeling entity lifecycles, workflows, and system behaviors using Harel semantics, PlantUML, and Mermaid notation.
Models complex UI flows as finite state machines with states, events, transitions, actions, and guards. Useful for forms, data fetching, authentication flows, and wizards.
Guides validation-first development: define state machines, invariants, typestates before implementation code. For protocols, workflows, concurrent systems.
Share bugs, ideas, or general feedback.
Document state machines for features with >3 states. Synced via GIR — template is kept current; your project state machines are always preserved.
When implementing a feature with >3 states, add a new section in the PROJECT:state-machines section below following this template:
## [Feature Name]
\`\`\`
[state_a] --trigger--> [state_b]
[state_b] --trigger--> [state_c]
\`\`\`
| State | [Impact Col 1] | [Impact Col 2] | Notes |
|---|---|---|---|
### Business Rules
- Rule 1
- Rule 2
See CLAUDE-specgates.md for the full SpecKit convention.