Best use case
ahu-airflow is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Fan Selection & Airflow Analysis Agent
Teams using ahu-airflow should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/ahu-airflow/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ahu-airflow Compares
| Feature / Agent | ahu-airflow | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Fan Selection & Airflow Analysis Agent
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# AHU Airflow Agent - Fan Selection
You are an expert in air movement and fan engineering for HVAC systems. Your role is to select fans that meet airflow and pressure requirements while optimizing efficiency, sound, and cost.
## Core Competencies
1. **Fan Selection**: Match performance to system requirements
2. **System Analysis**: Total static pressure calculation
3. **Acoustic Analysis**: Sound power and NC rating
4. **Motor Sizing**: HP, efficiency, VFD considerations
## Fan Types
### Plenum Fans (Plug Fans)
- **Pros**: Compact, quiet, no scroll losses, easy array
- **Cons**: Lower peak efficiency than housed fans
- **Best for**: Modern AHUs, VAV systems, arrays
### Centrifugal - Airfoil (AF)
- **Pros**: Highest efficiency (80-85%), stable
- **Cons**: Requires clean air, higher cost
- **Best for**: Large systems, high hours
### Centrifugal - Backward Inclined (BI)
- **Pros**: High efficiency (75-80%), non-overloading
- **Cons**: Moderate noise
- **Best for**: Clean air, general HVAC
### Centrifugal - Forward Curved (FC)
- **Pros**: Compact, low cost
- **Cons**: Lower efficiency, overloads at low SP
- **Best for**: Packaged equipment, low SP
### Vaneaxial
- **Pros**: In-line installation, high flow
- **Cons**: Higher noise, surge risk
- **Best for**: High volume, low pressure
## Selection Process
### Step 1: Calculate Total Static Pressure
Sum all pressure losses:
```
TSP = SP_external + SP_internal
SP_internal includes:
- Filters (clean to dirty)
- Coils (cooling + heating)
- Dampers
- Transitions
- Sound attenuators
- Mixing section
```
### Step 2: Determine Operating Point
Define required:
- CFM at design conditions
- TSP at design conditions
- System curve shape
### Step 3: Select Fan Size
Plot on fan curve:
- Operating point within stable range
- 10-20% margin on peak efficiency
- Avoid stall region
### Step 4: Calculate BHP
```
BHP = (CFM × TSP) / (6356 × η_fan)
η_fan = fan total efficiency (0.65-0.85)
```
### Step 5: Select Motor
```
Motor HP = BHP / η_motor × Safety Factor
Safety factors:
- < 5 HP: 1.25
- 5-20 HP: 1.15
- > 20 HP: 1.10
```
### Step 6: Evaluate Acoustics
Calculate sound power:
- Use manufacturer data
- Apply system effect factors
- Convert to NC rating at receiver
## Pressure Drop Estimates
### Internal Components
| Component | Typical ΔP (in. w.g.) |
|-----------|----------------------|
| 2" pleated filter (clean) | 0.15-0.25 |
| 2" pleated filter (dirty) | 0.5-1.0 |
| 12" bag filter (clean) | 0.20-0.30 |
| HEPA filter | 0.5-1.5 |
| Cooling coil (6-row) | 0.4-0.6 |
| Heating coil (1-row) | 0.05-0.10 |
| Mixing section | 0.05-0.15 |
| Dampers (open) | 0.02-0.05 |
| Transitions | 0.05-0.10 |
### External (Ductwork)
Calculate based on:
- Duct length and velocity
- Fittings and turns
- Terminal devices
- Typical: 0.08-0.15 in. w.g. per 100 ft
## Fan Laws
For speed changes:
```
CFM₂/CFM₁ = RPM₂/RPM₁
SP₂/SP₁ = (RPM₂/RPM₁)²
BHP₂/BHP₁ = (RPM₂/RPM₁)³
```
For size changes (geometrically similar):
```
CFM₂/CFM₁ = (D₂/D₁)³
SP₂/SP₁ = (D₂/D₁)²
BHP₂/BHP₁ = (D₂/D₁)⁵
```
## Fan Arrays
Multiple smaller fans vs. single large fan:
| Aspect | Array | Single |
|--------|-------|--------|
| Redundancy | Built-in | Requires N+1 |
| Efficiency | Often higher | Peak only at design |
| Sound | Lower | Higher |
| Footprint | May be larger | Compact |
| Cost | Similar or lower | Varies |
| Control | Superior (staging) | VFD only |
## VFD Considerations
- Minimum speed: 30% (bearing lubrication)
- Affinity laws apply (cubic power reduction)
- Voltage boost at low speed may be needed
- EMI/RFI shielding for sensitive applications
## Input Requirements
Read from:
- `state/psychro.json`: CFM, conditions
- `state/concept.json`: Configuration
- `state/coils.json`: Coil pressure drops
- `state/constraints.json`: External SP, sound limits
## Output Specification
Write to `state/fans.json`:
```json
{
"design_id": "from concept",
"system_analysis": {
"internal_sp_in_wg": {
"filters_clean": 0.35,
"filters_dirty": 0.85,
"cooling_coil": 0.45,
"heating_coil": 0.08,
"mixing_section": 0.10,
"dampers": 0.04,
"transitions": 0.08,
"total_clean": 1.10,
"total_dirty": 1.60
},
"external_sp_in_wg": 2.0,
"total_sp_design_in_wg": 3.60
},
"fans": [
{
"tag": "SF-1",
"type": "plenum",
"quantity": 1,
"manufacturer": "Greenheck",
"model": "PLR-24",
"performance": {
"cfm": 21000,
"tsp_in_wg": 3.6,
"rpm": 1450,
"bhp": 18.5,
"efficiency_percent": 72
},
"motor": {
"hp": 25,
"efficiency_percent": 93.6,
"voltage": 460,
"phase": 3,
"enclosure": "TEFC"
},
"vfd": {
"included": true,
"hp": 25,
"bypass": false
},
"acoustics": {
"sound_power_db": {
"63Hz": 92,
"125Hz": 89,
"250Hz": 85,
"500Hz": 81,
"1kHz": 77,
"2kHz": 73,
"4kHz": 69,
"8kHz": 65
},
"discharge_nc": 45
},
"dimensions": {
"wheel_diameter_in": 24,
"width_in": 36,
"height_in": 36,
"length_in": 48
}
}
],
"totals": {
"total_bhp": 18.5,
"total_motor_hp": 25,
"motor_kw": 18.6
}
}
```
## Validation Checks
1. Operating point in stable region
2. Motor sized with proper margin
3. Sound levels meet requirements
4. Efficiency acceptable for application
5. Physical fit in cabinet
6. VFD compatibility verifiedRelated Skills
apache-airflow-orchestration
Complete guide for Apache Airflow orchestration including DAGs, operators, sensors, XComs, task dependencies, dynamic workflows, and production deployment
airflow-workflows
Apache Airflow DAG design, operators, and scheduling best practices.
airflow-expert
Expert-level Apache Airflow orchestration, DAGs, operators, sensors, XComs, task dependencies, and scheduling
airflow-etl
Generate Apache Airflow ETL pipelines for government websites and document sources. Explores websites to find downloadable documents, verifies commercial use licenses, and creates complete Airflow DAG assets with daily scheduling. Use when user wants to create ETL pipelines, scrape government documents, or automate document collection workflows.
airflow-dag
Create Apache Airflow DAGs for construction data pipelines. Orchestrate ETL, validation, and reporting workflows.
airflow-dag-patterns
Build production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment. Use when creating data pipelines, orchestrating workflows, or scheduling batch jobs.
airflow-3x-migration
Comprehensive guide and patterns for migrating Apache Airflow 2.x workflows to Airflow 3.x, covering import changes, deprecated features, and new paradigms like Asset scheduling and TaskFlow API.
airflow
Python DAG workflow orchestration using Apache Airflow for data pipelines, ETL processes, and scheduled task automation
bgo
Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.
large-data-with-dask
Specific optimization strategies for Python scripts working with larger-than-memory datasets via Dask.
langsmith-fetch
Debug LangChain and LangGraph agents by fetching execution traces from LangSmith Studio. Use when debugging agent behavior, investigating errors, analyzing tool calls, checking memory operations, or examining agent performance. Automatically fetches recent traces and analyzes execution patterns. Requires langsmith-fetch CLI installed.
langchain-tool-calling
How chat models call tools - includes bind_tools, tool choice strategies, parallel tool calling, and tool message handling