Dynamo Unified Analyzer
Automatically analyze Dynamo graph definitions (.dyn) to understand workflow structure, extract custom Python and DesignScript code, identify Revit API patterns, and generate comprehensive documentation suitable for porting to C#.
When to use this skill
Use this skill when the user:
- Asks to analyze a Dynamo file or graph
- Wants to understand the structure of a .dyn workflow
- Needs to extract Python scripts or DesignScript code blocks from Dynamo
- Requests documentation for a BIM automation workflow
- Mentions converting or porting Dynamo logic to C#
- Needs algorithmic breakdown of a Revit automation script
- Wants to understand Revit API usage patterns in a Dynamo graph
What this skill does
- Parses Dynamo JSON (.dyn format) without requiring Dynamo/Revit runtime
- Builds workflow graph from Nodes and Connectors
- Identifies topology: start/end nodes, branching points, merge points, primary workflow paths
- Extracts custom code: Python scripts (with engine and I/O) and DesignScript code blocks
- Catalogs DSFunctions: ZeroTouch function signatures and Revit API references
- Detects patterns: Revit API usage, transactions, FilteredElementCollector patterns
- Identifies dependencies: Packages and external library references
- Generates comprehensive report with:
- Executive Summary (purpose, Revit interaction, scope)
- Workflow Summary (topology and primary flow)
- Libraries & Dependencies
- Custom Script Analysis (full Python/DesignScript code with I/O)
- Algorithmic Analysis (A-E format for C# developers)
- Definition Summary (node counts, statistics)
How to use
Execute the unified analyzer script:
python ~/.claude/skills/dynamo-analyzer/dynamo-analyzer.py "path/to/file.dyn"
Arguments:
- Path to .dyn file (Dynamo 2.x JSON format)
Example:
python ~/.claude/skills/dynamo-analyzer/dynamo-analyzer.py ~/Desktop/revit-automation.dyn
Output
The analyzer generates a comprehensive Markdown report:
- Location:
<input-filename>-dynamo-report.md (same directory as input)
- Format: Single structured Markdown document
Report Structure
- Executive Summary - Purpose, Revit API usage, Python/DesignScript presence
- Workflow Summary - Start/end nodes, branching, primary flow
- Libraries and Dependencies - Packages, Revit API references
- Custom Script Analysis:
- Python nodes (engine, inputs, outputs, full code)
- DesignScript code blocks (full code)
- DSFunction signatures cataloged
- Algorithmic Analysis (A-E format):
- A. High-Level Algorithmic Summary
- B. Core Algorithm Breakdown (input → processing → output)
- C. Key Computational Components
- D. Data Flow Architecture (parameters and processing order)
- E. Implementation Notes for C# Developer (Revit API, transactions, performance)
- Definition Summary - Statistics (nodes, connections, scripts, functions)
Requirements
- Python: 3.6+
- Dependencies: Standard library only (json, os, re, collections)
- Platform: Windows/macOS/Linux
- File Format: .dyn (Dynamo 2.x JSON) - custom nodes (.dyf) not supported
Important notes
- The analyzer processes files in-memory without modifying the original
- Report is deterministic and suitable for version control
- Identifies Revit API patterns (transactions, FilteredElementCollector, etc.)
- Detects model-modifying operations (Set, Create nodes)
- Flow diagrams are analyzed but not embedded (topology shown as text)
- Perfect for understanding existing automations or preparing for C# migration
- The algorithmic analysis (A-E format) is specifically structured for C# developers
- Custom nodes (.dyf) are out of scope for this version
1---2name: dynamo-analyzer3description: Analyze Dynamo (.dyn) graphs to extract workflow, Python/DesignScript code, Revit API patterns, and generate comprehensive reports for C# developers4---5
6# Dynamo Unified Analyzer
7
8Automatically analyze Dynamo graph definitions (.dyn) to understand workflow structure, extract custom Python and DesignScript code, identify Revit API patterns, and generate comprehensive documentation suitable for porting to C#.
9
10## When to use this skill
11
12Use this skill when the user:
13- Asks to analyze a Dynamo file or graph
14- Wants to understand the structure of a .dyn workflow
15- Needs to extract Python scripts or DesignScript code blocks from Dynamo
16- Requests documentation for a BIM automation workflow
17- Mentions converting or porting Dynamo logic to C#
18- Needs algorithmic breakdown of a Revit automation script
19- Wants to understand Revit API usage patterns in a Dynamo graph
20
21## What this skill does
22
231. **Parses Dynamo JSON** (.dyn format) without requiring Dynamo/Revit runtime
242. **Builds workflow graph** from Nodes and Connectors
253. **Identifies topology**: start/end nodes, branching points, merge points, primary workflow paths
264. **Extracts custom code**: Python scripts (with engine and I/O) and DesignScript code blocks
275. **Catalogs DSFunctions**: ZeroTouch function signatures and Revit API references
286. **Detects patterns**: Revit API usage, transactions, FilteredElementCollector patterns
297. **Identifies dependencies**: Packages and external library references
308. **Generates comprehensive report** with:
31 - Executive Summary (purpose, Revit interaction, scope)
32 - Workflow Summary (topology and primary flow)
33 - Libraries & Dependencies
34 - Custom Script Analysis (full Python/DesignScript code with I/O)
35 - Algorithmic Analysis (A-E format for C# developers)
36 - Definition Summary (node counts, statistics)
37
38## How to use
39
40Execute the unified analyzer script:
41
42```bash
43python ~/.claude/skills/dynamo-analyzer/dynamo-analyzer.py "path/to/file.dyn"
44```
45
46**Arguments:**
47- Path to .dyn file (Dynamo 2.x JSON format)
48
49**Example:**
50```bash
51python ~/.claude/skills/dynamo-analyzer/dynamo-analyzer.py ~/Desktop/revit-automation.dyn
52```
53
54## Output
55
56The analyzer generates a comprehensive Markdown report:
57- **Location**: `<input-filename>-dynamo-report.md` (same directory as input)
58- **Format**: Single structured Markdown document
59
60### Report Structure
61
621. **Executive Summary** - Purpose, Revit API usage, Python/DesignScript presence
632. **Workflow Summary** - Start/end nodes, branching, primary flow
643. **Libraries and Dependencies** - Packages, Revit API references
654. **Custom Script Analysis**:
66 - Python nodes (engine, inputs, outputs, full code)
67 - DesignScript code blocks (full code)
68 - DSFunction signatures cataloged
695. **Algorithmic Analysis (A-E format)**:
70 - A. High-Level Algorithmic Summary
71 - B. Core Algorithm Breakdown (input → processing → output)
72 - C. Key Computational Components
73 - D. Data Flow Architecture (parameters and processing order)
74 - E. Implementation Notes for C# Developer (Revit API, transactions, performance)
756. **Definition Summary** - Statistics (nodes, connections, scripts, functions)
76
77## Requirements
78
79- **Python**: 3.6+
80- **Dependencies**: Standard library only (json, os, re, collections)
81- **Platform**: Windows/macOS/Linux
82- **File Format**: .dyn (Dynamo 2.x JSON) - custom nodes (.dyf) not supported
83
84## Important notes
85
86- The analyzer processes files in-memory without modifying the original
87- Report is deterministic and suitable for version control
88- Identifies Revit API patterns (transactions, FilteredElementCollector, etc.)
89- Detects model-modifying operations (Set, Create nodes)
90- Flow diagrams are analyzed but not embedded (topology shown as text)
91- Perfect for understanding existing automations or preparing for C# migration
92- The algorithmic analysis (A-E format) is specifically structured for C# developers
93- Custom nodes (.dyf) are out of scope for this version