dialogue_graph

v0.1.0

A library for building, validating, visualizing, and serializing dialogue graphs. Use this when parsing scripts or creating branching narrative structures.

0· 70·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for wu-uk/dialogue-parser-dialogue-graph.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "dialogue_graph" (wu-uk/dialogue-parser-dialogue-graph) from ClawHub.
Skill page: https://clawhub.ai/wu-uk/dialogue-parser-dialogue-graph
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install dialogue-parser-dialogue-graph

ClawHub CLI

Package manager switcher

npx clawhub@latest install dialogue-parser-dialogue-graph
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the provided code and SKILL.md. The module implements Graph, Node, Edge, serialization, validation, and an optional visualization step — all expected for a dialogue-graph library. No unrelated binaries or credentials are requested.
Instruction Scope
SKILL.md describes importing and using the module and documents visualize() needing the graphviz Python package and Graphviz system binary. The code only reads files when the user calls Graph.from_file(filepath), which is appropriate for loading graphs. There are no instructions to read unrelated system files, environment variables, or to transmit data externally.
Install Mechanism
No install spec is provided (instruction-only), and the bundled Python source is small and self-contained. Visualization requires the graphviz Python package and Graphviz system binary, which the SKILL.md documents; there are no downloads or archive extractions performed by the skill itself.
Credentials
The skill declares no environment variables, credentials, or config paths. The code does not access environment variables or secret-like values. This level of access is proportionate to the stated purpose.
Persistence & Privilege
always is false and the skill does not request persistent/system-wide changes or modify other skills' configuration. It has normal, limited presence (a library) and no elevated privileges.
Assessment
This skill appears to be a straightforward, local Python library for building and visualizing dialogue graphs. Before installing or using: 1) note that visualize() requires the graphviz Python package (pip install graphviz) and the Graphviz system binary — install those separately from trusted sources; 2) Graph.from_file(filepath) will open any local file path you supply, so avoid loading untrusted files; and 3) the skill does not use network calls or request secrets. The source is small and readable; if you want extra assurance, review the included scripts/dialogue_graph.py file yourself.

Like a lobster shell, security has layers — review code before you run it.

latestvk977rr2hmxfayfhvfn2kybfp1584t35x
70downloads
0stars
1versions
Updated 1w ago
v0.1.0
MIT-0

Dialogue Graph Skill

This skill provides a dialogue_graph module to easily build valid dialogue trees/graphs.

When to use

  • Script Parsers: When converting text to data.
  • Dialogue Editors: When building tools to edit conversation flow.
  • Game Logic: When traversing a dialogue tree.
  • Visualization: When generating visual diagrams of dialogue flows.

How to use

Import the module:

from dialogue_graph import Graph, Node, Edge

1. The Graph Class

The main container.

graph = Graph()

2. Adding Nodes

Define content nodes.

# Regular line
graph.add_node(Node(id="Start", speaker="Guard", text="Halt!", type="line"))

# Choice hub
graph.add_node(Node(id="Choices", type="choice"))

3. Adding Edges

Connect nodes (transitions).

# Simple transition
graph.add_edge(Edge(source="Start", target="Choices"))

# Choice transition (with text)
graph.add_edge(Edge(source="Choices", target="End", text="1. Run away"))

4. Export

Serialize to JSON format for the engine.

data = graph.to_dict()
# returns {"nodes": [...], "edges": [...]}
json_str = graph.to_json()

5. Validation

Check for integrity.

errors = graph.validate()
# Returns list of strings, e.g., ["Edge 'Start'->'Unk' points to missing node 'Unk'"]

6. Visualization

Generate a PNG/SVG graph diagram.

# Requires: pip install graphviz
# Also requires Graphviz binary: https://graphviz.org/download/

graph.visualize('dialogue_graph')  # Creates dialogue_graph.png
graph.visualize('output', format='svg')  # Creates output.svg

The visualization includes:

  • Diamond shapes for choice nodes (light blue)
  • Rounded boxes for dialogue nodes (colored by speaker)
  • Bold blue edges for skill-check choices like [Lie], [Attack]
  • Gray edges for regular choices
  • Black edges for simple transitions

7. Loading from JSON

Load an existing dialogue graph.

# From file
graph = Graph.from_file('dialogue.json')

# From dict
graph = Graph.from_dict({'nodes': [...], 'edges': [...]})

# From JSON string
graph = Graph.from_json(json_string)

Comments

Loading comments...