Skip to content
Back to skills

Dynamo Analyzer

ASecurity

Analyze Dynamo (.dyn) graphs to extract workflow, Python/DesignScript code, Revit API patterns, and generate comprehensive reports for C# developers

  • 12 stars
  • 0 votes
  • 0 copies
  • 10 views
  • Added December 19, 2025
data-aipythongoc#bashnodeapiperformancedocumentation

Works with

  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add sonomirco/agents-and-commands --skill dynamo-analyzer --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dynamo Analyzer?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Dynamo Analyzer
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/sonomirco-dynamo-analyzer/badge)](https://www.skillsdirectory.com/skills/sonomirco-dynamo-analyzer)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: dynamo-analyzer
description: Analyze Dynamo (.dyn) graphs to extract workflow, Python/DesignScript code, Revit API patterns, and generate comprehensive reports for C# developers
---

# 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

1. **Parses Dynamo JSON** (.dyn format) without requiring Dynamo/Revit runtime
2. **Builds workflow graph** from Nodes and Connectors
3. **Identifies topology**: start/end nodes, branching points, merge points, primary workflow paths
4. **Extracts custom code**: Python scripts (with engine and I/O) and DesignScript code blocks
5. **Catalogs DSFunctions**: ZeroTouch function signatures and Revit API references
6. **Detects patterns**: Revit API usage, transactions, FilteredElementCollector patterns
7. **Identifies dependencies**: Packages and external library references
8. **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:

```bash
python ~/.claude/skills/dynamo-analyzer/dynamo-analyzer.py "path/to/file.dyn"
```

**Arguments:**
- Path to .dyn file (Dynamo 2.x JSON format)

**Example:**
```bash
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

1. **Executive Summary** - Purpose, Revit API usage, Python/DesignScript presence
2. **Workflow Summary** - Start/end nodes, branching, primary flow
3. **Libraries and Dependencies** - Packages, Revit API references
4. **Custom Script Analysis**:
   - Python nodes (engine, inputs, outputs, full code)
   - DesignScript code blocks (full code)
   - DSFunction signatures cataloged
5. **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)
6. **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

Files in this skill

  • SKILL.md3.9 KB
  • dynamo-analyzer.py8.5 KB
  • dynamo_flow_diagram_generator.py4.8 KB
  • dynamo_script_extractor.py5.7 KB
  • dynamo_utils.py5.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.