Back to list
KeepitSimpleAnalytics

state-flow-visualizer

by KeepitSimpleAnalytics

0🍴 0📅 Dec 28, 2025

SKILL.md


name: state-flow-visualizer description: Analyze and visualize state flow in LangGraph pipelines. Use when debugging state mutations, tracing data flow between nodes, identifying orphan state keys, detecting read/write dependencies, or generating Mermaid diagrams of state transitions. Triggers on phrases like "visualize state flow", "trace state key", "which nodes touch X", "state dependencies", "debug state mutation", "orphan state keys", "state flow diagram".

State Flow Visualizer

Analyze LangGraph state mutations and generate visual representations of data flow between nodes.

Capabilities

  1. State Flow Diagrams - Generate Mermaid flowcharts showing node-to-state-key relationships
  2. Key Tracing - Track a specific state key through all read/write operations
  3. Dependency Analysis - Show which nodes depend on outputs from other nodes
  4. Orphan Detection - Find state keys that are written but never read (or vice versa)
  5. Layer Analysis - Visualize state flow within and between layers

Quick Start

Run the analyzer on a LangGraph nodes directory:

python scripts/analyze_state_flow.py /path/to/src/langgraph/nodes

Generate a Mermaid diagram:

python scripts/analyze_state_flow.py /path/to/src/langgraph/nodes --output mermaid

Trace a specific key:

python scripts/analyze_state_flow.py /path/to/src/langgraph/nodes --trace extracted_rates

Output Formats

Mermaid Diagram

flowchart LR
    subgraph Layer2["Layer 2: File Intelligence"]
        mrf_expert[mrf_expert]
    end
    subgraph State
        mrf_structures([mrf_structures])
        provider_reference_maps([provider_reference_maps])
    end
    mrf_expert -->|writes| mrf_structures
    mrf_expert -->|writes| provider_reference_maps
    rate_extractor -->|reads| provider_reference_maps

JSON Report

{
  "nodes": [...],
  "state_keys": [...],
  "reads": [...],
  "writes": [...],
  "orphans": {"written_never_read": [], "read_never_written": []},
  "dependencies": [...]
}

Integration with TiC Pipeline

For TiC-specific analysis, the tool understands:

  • Layer organization (layer0-layer8)
  • TiCPipelineState TypedDict structure
  • BaseLLMNode and BaseDeterministicNode patterns
  • State update patterns via update_layer_status()

Commands

CommandDescription
--output mermaidGenerate Mermaid flowchart
--output jsonGenerate JSON analysis report
--output summaryHuman-readable summary (default)
--trace KEYTrace specific state key through pipeline
--layer NFilter to specific layer
--detect-orphansFind unused state keys
--detect-cyclesFind circular dependencies

Interpreting Results

Healthy Patterns

  • Each state key has at least one writer and one reader
  • Writers execute before readers (layer ordering)
  • No circular dependencies within a layer

Warning Signs

  • Orphan writes: State key populated but never used downstream
  • Orphan reads: Node expects state key that no node populates
  • Cross-layer cycles: Later layer writes key read by earlier layer
  • Shadow writes: Multiple nodes write same key (potential race condition)

Troubleshooting Common Issues

"extracted_rates is empty at layer 6"

Run: python scripts/analyze_state_flow.py . --trace extracted_rates

Look for:

  1. Which node should write extracted_rates
  2. Whether that node's layer executes before layer 6
  3. Whether the writing node has error handling that silently returns []

"State key not found in analysis"

The key may be:

  • Dynamically constructed (e.g., state.get(f"{prefix}_rates"))
  • Set in initial state factory, not by a node
  • Populated by external process

Check state.py for initial state values.

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon