nacl-ba-sync

Synchronize Excalidraw board elements into Neo4j graph nodes and edges.

23|2|Updated Apr 10, 2026
One-click install
npx skills add https://github.com/ITSalt/NaCl --skill nacl-ba-sync
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nacl-ba-sync
Source: https://github.com/ITSalt/NaCl/tree/main/nacl-ba-sync
Command: npx skills add https://github.com/ITSalt/NaCl --skill nacl-ba-sync

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Synchronizes Excalidraw boards with a Neo4j graph by turning board elements into graph nodes and edges, ensuring a single source of truth across both representations.

Core Features & Use Cases

  • End-to-end board-to-graph sync: creates and updates nodes for WorkflowStep, Decision, BusinessEntity, and BusinessRole, and establishes relationships to reflect the board's workflow.
  • Idempotent operations & robust guardrails: uses MERGE-based writes, tracks sync state, and prevents duplicates or partial updates.
  • Annotations handling & swimlane inference: marks on-board annotations as synced and infers PERFORMED_BY from swimlanes to steps.
  • Context-driven workflow orchestration: establishes ProcessGroup and BusinessProcess context before syncing live elements.

Quick Start

Use /nacl-ba-sync with a target board path to begin synchronizing the Excalidraw board with the Neo4j graph.

Frequently Asked Questions about nacl-ba-sync

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I sync Excalidraw boards to a Neo4j graph?

To sync Excalidraw boards to a Neo4j graph, you use a tool that transforms board elements into graph nodes and edges. It establishes workflow context and ensures idempotent MERGE-based writes to prevent duplicates.

What is the best way to convert Excalidraw diagrams into Neo4j nodes and edges?

Converting Excalidraw diagrams into Neo4j nodes and edges is best handled by mapping board elements to specific graph entities like WorkflowStep and BusinessEntity. It uses MERGE-based writes and customData sync tracking to ensure a single source of truth without duplicates.

Can I infer PERFORMED_BY relationships from Excalidraw swimlanes into Neo4j?

Yes, you can infer PERFORMED_BY relationships from Excalidraw swimlanes into Neo4j. The synchronization process automatically maps swimlanes to their corresponding steps and establishes the relationships within the graph database during the update phase.

How do I prevent duplicate nodes when synchronizing Excalidraw to Neo4j?

To prevent duplicate nodes when synchronizing Excalidraw to Neo4j, the process uses idempotent MERGE-based writes and tracks sync state via customData. This ensures that running the synchronization multiple times updates existing elements rather than creating duplicates.

Does Excalidraw to Neo4j synchronization handle annotations and recoverable errors?

Excalidraw to Neo4j synchronization handles annotations by marking on-board annotations as synced. It also features robust guardrails for recoverable errors, ensuring that partial updates do not corrupt the workflow context or graph relationships.