使い方ガイドへスキップ
State Machine作者 Owl-Listener

State Machine スキル。

コンポーネントのあらゆる状態から、次に何が起こり得るかを記述します。

  • インタラクションデザイン
  • 振る舞いのモデリング
ソースレビュー · State MachineSKILL.md
タスク インタラクションデザイン 成果物 • 一つの焦点を絞った関心事に対する状態とイベントの一覧。 • ガードおよびエントリー/イグジットアクションを含む遷移マップ。 • レビュー用のエラー、復旧、不可能な状態のケース。 開始前に 特定のstate-machineパッケージは必要ありません。実際の実装とテストは後続の作業として残ります。
編集部による要約 · ソース確認日 2026-10-07 · 生成された例ではありません

01 機能概要

複雑なUI状態を明示する

UIコンポーネント向けの有限状態モデリングガイド。イベント、ガード、遷移、副作用、復旧を扱います。

ソースに基づくワークフロー実行ベンチマークではありません

進め方

State Machineは、緩く関連したブール値フラグではなく、明示的な状態と遷移としてインターフェースの挙動をモデル化します。コンポーネントを動かすイベント、遷移を許可するガード、その途中で起こるアクションを特定します。ソースが挙げる例は、フォーム、データリクエスト、認証、複数ステップのウィザードです。

目的は、テスト可能な挙動仕様を作ることです。各状態にはUI上の表現が必要です。非終端状態には出口が必要で、無効な組み合わせは実装前に特定すべきです。ソースはstate-machineライブラリを指定せず、網羅的な証明を自動生成するとも主張していません。

期待される成果物

  • 一つの焦点を絞った関心事に対する状態とイベントの一覧。
  • ガードおよびエントリー/イグジットアクションを含む遷移マップ。
  • レビュー用のエラー、復旧、不可能な状態のケース。
サンプルブリーフを見る

ブリーフからレビューまで

  1. 01
    状態とイベントを列挙する

    意味のあるモードと、それを変え得るすべてのトリガーを、ハッピーパスから順に挙げます。

  2. 02
    有効な遷移を定義する

    遷移先、条件、副作用を指定します。設計上防ぐべき組み合わせを特定します。

  3. 03
    復旧とUIへの対応付けを追加する

    失敗、再試行、キャンセル、終了をモデル化し、各状態でインターフェースがどう見えるかを示します。

02 利用場面

使う場面

特定のstate-machineパッケージは必要ありません。実際の実装とテストは後続の作業として残ります。

適したケース

  • 相互に作用する状態読み込み、検証、権限、エラーのフラグが曖昧な組み合わせを生む場合に役立ちます。
  • デザインからテストへの引き継ぎデザイナーとエンジニアが、挙動やエッジケースについて同じ用語を共有できます。

確認すべき限界

  • アニメーションの技巧ではありません許容される挙動を定義するもので、個々のマイクロインタラクションのタイミングや感触を扱うものではありません。
  • 特定ライブラリ向けのコードではありませんソースはモデリング手法を示すもので、XStateなどのランタイムを必須とはしていません。

用意する入力

  • コンポーネントの目的モデルを読みやすく保つため、一つの挙動または関心事を選びます。
  • イベントと条件ユーザー操作、タイムアウト、レスポンス、権限、検証ルールを含めます。
  • UIの結果目に見える状態と、期待される復旧アクションを示します。

03 重要な判断

重要な判断

  1. 不可能な状態を早期に洗い出す

    場当たり的なフラグでは誤って許してしまう組み合わせについて、判断を迫ります。

  2. 復旧を第一級の経路として扱う

    再試行、キャンセル、戻る経路のないエラー状態は、行き止まりとして見えるようになります。

04 依頼例

焦点を絞ったブリーフで試す

以下のサンプルブリーフはテストされていません。使用前にスキルのセットアップを確認してください。

セットアップを確認する

リポジトリに記載されているインストール手順を使い、参照されている付属ファイルも保持してください。このエントリーは、実行可能なアプリケーションではなく、焦点を絞った設計手法を説明するものです。

アップストリームのソースファイル
https://github.com/Owl-Listener/designer-skills/blob/9a6930cf84a822eb458624bd11c61aac5bbdf224/interaction-design/skills/state-machine/SKILL.md

特定のstate-machineパッケージは必要ありません。実際の実装とテストは後続の作業として残ります。

一つの成果物から始める

スキルを実行する前に、このブリーフの範囲、ソース資料、制約を調整してください。

サンプルブリーフ
state-machineを使って、検証、進捗、キャンセル、失敗、再試行を伴うファイルアップロードをモデル化してください。状態、イベント、ガード、遷移の副作用、UI表現を列挙してください。同時に成立してはならない状態と、すべての非終端状態がどのように終了できるかを説明してください。ランタイムライブラリはまだ選ばないでください。

結果を確認する

実際の出力を、以下の観察可能な基準と照らして確認します。

  • すべての状態が、目に見えるUIの状況に対応している。
  • すべての遷移にイベントと、必要なガードがある。
  • 失敗とキャンセルが、説明のつかない行き止まりを残さない。

OpenDesignは、コーディングエージェント向けのローカルデザインワークスペースを提供します。この掲載は、スキルが同梱されていること、または外部ツール、認証情報、ソフトウェア依存関係が含まれていることを意味しません。

05 ソースとライセンス

ソースとライセンス

このページは、下記にリンクされた固定のソースリビジョンについて説明しています。アップストリームの挙動や要件は変更される可能性があります。

ソースの所有者
Owl-Listener
ライセンス
MIT
確認したスナップショット
2026-10-07 · 9a6930cf84a8
編集部によるソース要約
UIコンポーネント向けの有限状態モデリングガイド。イベント、ガード、遷移、副作用、復旧を扱います。

リンク先のソースに基づく、OpenDesignによるオリジナルの要約です。リポジトリのスター数は日付付きの人気の指標であり、スキルの利用状況や品質スコアではありません。

06 開始前の質問

始める前の質問

ステートマシンは複雑なアプリ向けだけのものですか?

焦点を絞ったフォームやリクエストのフローを記述することもできます。価値はアプリ全体の規模ではなく、相互に作用する挙動があるかどうかで決まります。

ガードとは何ですか?

有効な入力や十分な権限など、遷移を許可する前に真でなければならない条件です。

ユーザーフロー図の代わりになりますか?

いいえ。ユーザーフローは画面をまたぐ経路に着目し、ステートマシンはコンポーネントや関心事の内部での有効な挙動に着目します。

OpenDesign

次のデザイン反復の余地をつくりましょう。

ブリーフ、ソース資料、デザイン作業をローカルワークスペースにまとめて管理できます。ワークフローに追加する前に、スキル自体のセットアップを確認してください。

アップストリームのソースファイル
https://github.com/Owl-Listener/designer-skills/blob/9a6930cf84a822eb458624bd11c61aac5bbdf224/interaction-design/skills/state-machine/SKILL.md