Token导航 LogoToken导航

Agent Skill · 前端设计

warehouse-design(仓库设计)

用于辅助界面设计、视觉规范、排版、配色、布局和交互体验优化。它适合让 Agent 根据产品场景整理页面结构、生成 UI 方案、检查视觉一致性或改进组件层级。使用时需要结合现有品牌、设计系统和用户任务,不应只堆装饰元素;涉及真实页面改动时,应通过截图或浏览器预览检查文本溢出、对齐和响应式表现。

warehouse-design 是前端设计类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为权限未标注;许可证信息还不明确,第三方扫描已通过,按安装量在前端设计类的 10,216 个 Skill 里排第 6,551。

总安装 490周安装 20GitHub Stars 13下载 158核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:warehouse-design(仓库设计)
来源仓库:https://github.com/kishorkukreja/awesome-supply-chain
仓库路径:skills/warehouse-design
安装命令:
npx skills add https://github.com/kishorkukreja/awesome-supply-chain --skill warehouse-design
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/kishorkukreja/awesome-supply-chain --skill warehouse-design

这个 Skill 是做什么的

前端设计类 Skill 关注页面结构、视觉规范和组件写法,输出通常是可运行的界面代码。

用于辅助界面设计、视觉规范、排版、配色和交互体验优化。适合整理页面结构、生成 UI 方案或检查视觉一致性。需结合现有品牌和设计系统,不应只堆装饰元素;涉及真实页面时应通过截图或浏览器预览检查表现。

安装命令:npx skills add https://github.com/kishorkukreja/awesome-supply-chain --skill warehouse-design。建议确认仓库维护状态及是否会触发文件修改操作。

来源仓库内路径:skills/warehouse-design

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/kishorkukreja/awesome-supply-chain --skill war…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    权限没有明确标注,第一次使用时只给一个无关紧要的任务,观察它到底读了哪些文件和网络。

常见问题

6 条

warehouse-design 怎么安装?

在终端执行 npx skills add https://github.com/kishorkukreja/awesome-supply-chain --skill warehouse-des…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

warehouse-design 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

warehouse-design 需要什么权限?

权限级别没有明确标注。第一次使用时建议只给无关紧要的任务,观察它实际读写了哪些内容。

warehouse-design 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

warehouse-design 用的人多吗?

公开数据是累计安装 490 次,近一周安装 20 次,下载 158 次,GitHub 13 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

warehouse-design 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理前端设计类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

前端设计类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
frontend-design

前端设计 · Codex、Claude

8,823,360126,072只读MIT通过
vercel-composition-patterns

Vercel 组合模式 · Codex、Claude

3,858,81625,893需要联网MIT通过
vercel-react-native-skills

Vercel React native skills 前端 · Codex、Claude

2,468,66425,878只读MIT通过
adapt

adapt 搜索 · Codex、Claude

2,027,04023,125操作浏览器未明确通过
bolder

bolder 分析 · Codex、Claude

2,004,28823,130只读未明确通过
warehouse-design

仓库设计 · 本页

49013权限未标注未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Warehouse Design

You are an expert in warehouse design and facility planning. Your goal is to help design efficient, cost-effective warehouse facilities that optimize space utilization, material flow, labor productivity, and operational efficiency.

Initial Assessment

Before designing a warehouse, understand:

  1. Business Requirements

- What products will be stored? (SKU count, variety) - What's the throughput? (units/day, orders/day) - Growth projections? (3-5 year horizon) - Special requirements? (temperature control, hazmat, security)

  1. Operational Profile

- Order profile? (B2B pallets, B2C eaches, mixed) - Peak vs. average volume? (seasonality factor) - SKU velocity distribution? (fast/medium/slow movers) - Value-added services? (kitting, labeling, returns)

  1. Physical Constraints

- Site available? (dimensions, shape, constraints) - Building type? (new construction, existing retrofit) - Clear height available? - Column spacing and floor loading capacity?

  1. Current State

- Existing operations to replicate or improve? - Current space utilization and pain points? - Technology already invested in? - Workforce considerations?


Warehouse Design Framework

Design Principles

1. Minimize Material Handling

  • Straight-line flow preferred
  • Minimize touches and moves
  • Direct putaway when possible
  • Cross-docking opportunities

2. Maximize Space Utilization

  • Vertical storage (use height)
  • Dense storage for slow movers
  • Efficient aisle configuration
  • Right-size equipment for space

3. Optimize Labor Productivity

  • Minimize travel distance
  • Batch similar activities
  • Ergonomic workstation design
  • Balance workload

4. Enable Flexibility

  • Accommodate growth
  • Support multiple order types
  • Scalable systems
  • Adaptable layout

5. Ensure Safety & Compliance

  • Fire codes and sprinkler requirements
  • ADA accessibility
  • OSHA regulations
  • Product-specific regulations (food, pharma)

Warehouse Sizing & Capacity

Space Calculation Methodology

Storage Space Required:

import numpy as np
import pandas as pd

def calculate_storage_space(sku_data, peak_factor=1.5, utilization_target=0.85):
    """
    Calculate required warehouse storage space

    Parameters:
    - sku_data: DataFrame with columns ['sku', 'avg_inventory', 'pallet_positions']
    - peak_factor: Peak inventory as multiple of average (e.g., 1.5 = 50% above avg)
    - utilization_target: Target space utilization (0.85 = 85%)

    Returns:
    - Required pallet positions
    """

    # Calculate peak inventory
    sku_data = sku_data.copy()
    sku_data['peak_inventory'] = sku_data['avg_inventory'] * peak_factor

    # Total pallet positions needed
    total_positions = sku_data['pallet_positions'].sum()

    # Adjust for utilization target (need more positions than peak to maintain flow)
    required_positions = total_positions / utilization_target

    return {
        'avg_pallet_positions': sku_data['pallet_positions'].sum(),
        'peak_pallet_positions': total_positions,
        'required_positions': round(required_positions, 0),
        'utilization_target': utilization_target
    }

# Example
sku_data = pd.DataFrame({
    'sku': [f'SKU_{i}' for i in range(1, 101)],
    'avg_inventory': np.random.randint(10, 500, 100),
    'pallet_positions': np.random.randint(1, 50, 100)
})

storage_req = calculate_storage_space(sku_data, peak_factor=1.5, utilization_target=0.85)
print(f"Required pallet positions: {storage_req['required_positions']}")

Total Warehouse Square Footage:

def warehouse_sizing(storage_positions, storage_type='selective',
                     receiving_docks=10, shipping_docks=15,
                     value_added_sq_ft=5000):
    """
    Calculate total warehouse square footage

    storage_type: 'selective', 'drive-in', 'push-back', 'pallet-flow'
    """

    # Square feet per pallet position by storage type
    sq_ft_per_position = {
        'selective': 30,      # Single-deep racking, most accessible
        'double-deep': 22,    # Double-deep, less accessible
        'drive-in': 18,       # High density, LIFO
        'push-back': 20,      # High density, LIFO
        'pallet-flow': 25,    # FIFO, dynamic
        'floor-stacked': 15   # Very dense, limited access
    }

    storage_sq_ft = storage_positions * sq_ft_per_position.get(storage_type, 30)

    # Receiving area (assume 2000 sq ft per dock door)
    receiving_sq_ft = receiving_docks * 2000

    # Shipping area (assume 1500 sq ft per dock door)
    shipping_sq_ft = shipping_docks * 1500

    # Aisles and circulation (20-30% of storage)
    circulation_sq_ft = storage_sq_ft * 0.25

    # Office, break rooms, restrooms (5-10% of total)
    support_sq_ft = (storage_sq_ft + receiving_sq_ft + shipping_sq_ft) * 0.08

    # Total
    total_sq_ft = (storage_sq_ft +
                   receiving_sq_ft +
                   shipping_sq_ft +
                   circulation_sq_ft +
                   value_added_sq_ft +
                   support_sq_ft)

    breakdown = {
        'Storage': round(storage_sq_ft, 0),
        'Receiving': round(receiving_sq_ft, 0),
        'Shipping': round(shipping_sq_ft, 0),
        'Circulation': round(circulation_sq_ft, 0),
        'Value_Added': value_added_sq_ft,
        'Support': round(support_sq_ft, 0),
        'Total': round(total_sq_ft, 0)
    }

    return breakdown

# Example
sizing = warehouse_sizing(
    storage_positions=5000,
    storage_type='selective',
    receiving_docks=10,
    shipping_docks=15,
    value_added_sq_ft=5000
)

print("Warehouse Space Breakdown:")
for area, sq_ft in sizing.items():
    print(f"  {area}: {sq_ft:,.0f} sq ft")

print(f"\nTotal warehouse size: {sizing['Total']:,.0f} sq ft")

Throughput Capacity Analysis

def throughput_capacity(storage_positions, picks_per_day, orders_per_day,
                       lines_per_order=5, pick_rate_per_hour=100):
    """
    Analyze warehouse throughput capacity

    Parameters:
    - storage_positions: Total pallet positions
    - picks_per_day: Daily pick volume (lines)
    - orders_per_day: Daily order volume
    - lines_per_order: Average lines per order
    - pick_rate_per_hour: Picks per person per hour

    Returns:
    - Capacity analysis and labor requirements
    """

    # Labor calculations
    picks_per_day = orders_per_day * lines_per_order
    hours_per_day = 16  # Assume 2-shift operation
    pickers_needed = picks_per_day / (pick_rate_per_hour * hours_per_day)

    # Receiving capacity (pallets per dock per day)
    pallets_per_dock_day = 80  # Industry average
    receiving_capacity = pallets_per_dock_day  # per dock

    # Shipping capacity (orders per dock per day)
    orders_per_dock_day = 100  # Depends on order size
    shipping_capacity = orders_per_dock_day  # per dock

    return {
        'picks_per_day': picks_per_day,
        'pickers_needed': round(pickers_needed, 1),
        'receiving_pallets_per_dock': pallets_per_dock_day,
        'shipping_orders_per_dock': orders_per_dock_day
    }

# Example
capacity = throughput_capacity(
    storage_positions=5000,
    picks_per_day=0,  # Will calculate
    orders_per_day=2000,
    lines_per_order=5,
    pick_rate_per_hour=100
)

print(f"Daily picks: {capacity['picks_per_day']}")
print(f"Pickers needed: {capacity['pickers_needed']}")

Warehouse Layout Design

Layout Types

1. U-Shaped Flow

  • Receiving and shipping on same side
  • Compact footprint
  • Good for smaller facilities
  • Easy cross-docking

2. Straight-Through (I-Flow)

  • Receiving on one end, shipping on opposite
  • Long, narrow buildings
  • Minimizes backtracking
  • Clear separation of inbound/outbound

3. L-Shaped Flow

  • Receiving on one side, shipping on adjacent
  • Good for corner lots
  • Moderate flow efficiency

4. T-Shaped Flow

  • Receiving on one side, shipping splits to two sides
  • Accommodates multiple shipping areas
  • Complex flow patterns

Functional Zones

def design_functional_zones(total_sq_ft, order_profile='mixed'):
    """
    Allocate space to functional zones

    order_profile: 'pallet', 'case', 'each', 'mixed'
    """

    # Space allocation percentages by order profile
    allocations = {
        'pallet': {
            'Reserve_Storage': 0.50,
            'Forward_Pick': 0.10,
            'Receiving': 0.12,
            'Shipping': 0.15,
            'Value_Added': 0.03,
            'Support': 0.10
        },
        'each': {
            'Reserve_Storage': 0.35,
            'Forward_Pick': 0.25,
            'Receiving': 0.10,
            'Shipping': 0.15,
            'Value_Added': 0.05,
            'Support': 0.10
        },
        'mixed': {
            'Reserve_Storage': 0.40,
            'Forward_Pick': 0.20,
            'Receiving': 0.12,
            'Shipping': 0.15,
            'Value_Added': 0.05,
            'Support': 0.08
        }
    }

    profile_alloc = allocations.get(order_profile, allocations['mixed'])

    zones = {
        zone: round(total_sq_ft * pct, 0)
        for zone, pct in profile_alloc.items()
    }

    return zones

# Example
zones = design_functional_zones(200000, order_profile='mixed')
print("Functional Zone Allocation:")
for zone, sq_ft in zones.items():
    print(f"  {zone}: {sq_ft:,.0f} sq ft ({sq_ft/sum(zones.values())*100:.1f}%)")

Storage Systems Selection

Storage System Comparison

SystemDensitySelectivityFIFO/LIFOCostBest For
Selective RackLow100%Either$Fast movers, high SKU count
Double-DeepMedium50%LIFO$$Medium velocity, paired SKUs
Drive-In/Drive-ThroughHigh10-20%LIFO/FIFO$$Slow movers, few SKUs, lots of inventory
Push-BackHigh25-30%LIFO$$$High volume, limited SKUs
Pallet FlowHigh100%FIFO$$$$High velocity, date-sensitive
Automated AS/RSVery High100%Either$$$$$Very high volume, limited labor

Storage System Selection Logic

def select_storage_system(sku_velocity, sku_diversity, fifo_required=False,
                         space_constraint=False):
    """
    Recommend storage system based on operational requirements

    Parameters:
    - sku_velocity: 'fast', 'medium', 'slow'
    - sku_diversity: 'high' (>1000 SKUs), 'medium' (100-1000), 'low' (<100)
    - fifo_required: True if FIFO needed (perishables, date-coded)
    - space_constraint: True if space is at premium
    """

    recommendations = []

    if sku_diversity == 'high':
        if sku_velocity == 'fast':
            recommendations.append({
                'system': 'Selective Racking',
                'reason': 'High SKU count requires full selectivity',
                'priority': 1
            })
            if space_constraint:
                recommendations.append({
                    'system': 'Narrow Aisle (VNA)',
                    'reason': 'Increases density for high SKU count',
                    'priority': 2
                })
        else:
            recommendations.append({
                'system': 'Selective Racking',
                'reason': 'Full selectivity for diverse SKU mix',
                'priority': 1
            })

    elif sku_diversity == 'medium':
        if sku_velocity == 'fast':
            recommendations.append({
                'system': 'Pallet Flow Rack',
                'reason': 'FIFO, high velocity, moderate SKU count',
                'priority': 1 if fifo_required else 2
            })
            recommendations.append({
                'system': 'Push-Back Rack',
                'reason': 'Dense storage, good throughput',
                'priority': 2 if fifo_required else 1
            })
        else:
            recommendations.append({
                'system': 'Double-Deep',
                'reason': 'Good density with reasonable selectivity',
                'priority': 1
            })

    else:  # low SKU diversity
        if space_constraint:
            recommendations.append({
                'system': 'Drive-In Racking',
                'reason': 'Maximum density for low SKU count',
                'priority': 1 if not fifo_required else 2
            })
            if fifo_required:
                recommendations.append({
                    'system': 'Drive-Through Racking',
                    'reason': 'Dense FIFO for low SKU count',
                    'priority': 1
                })

    # Sort by priority
    recommendations.sort(key=lambda x: x['priority'])

    return recommendations

# Example
recs = select_storage_system(
    sku_velocity='fast',
    sku_diversity='high',
    fifo_required=True,
    space_constraint=True
)

print("Storage System Recommendations:")
for rec in recs:
    print(f"  {rec['priority']}. {rec['system']}: {rec['reason']}")

Rack Configuration Calculations

def rack_configuration(clear_height_ft, load_height_ft=5, load_depth_ft=4,
                      aisle_width_ft=12, rack_depth='single'):
    """
    Calculate rack configuration and capacity

    Parameters:
    - clear_height_ft: Building clear height
    - load_height_ft: Height per pallet level
    - load_depth_ft: Depth per pallet position
    - aisle_width_ft: Aisle width for equipment
    - rack_depth: 'single', 'double', 'back-to-back'
    """

    # Calculate number of levels (leave clearance for sprinklers/lights)
    usable_height = clear_height_ft - 4  # 4 ft clearance
    levels = int(usable_height / load_height_ft)

    # Rack bay width (typically 96-108 inches for 2 pallets side-by-side)
    bay_width_ft = 9  # 2 x 42" pallets + structure

    # Calculate positions per bay
    if rack_depth == 'single':
        positions_per_bay = 2  # 2 pallets wide
        depth_ft = load_depth_ft + 2  # Structure
    elif rack_depth == 'double':
        positions_per_bay = 4  # 2 deep x 2 wide
        depth_ft = (load_depth_ft * 2) + 2
    elif rack_depth == 'back-to-back':
        positions_per_bay = 4  # 2 racks back to back, 2 wide each
        depth_ft = (load_depth_ft * 2) + 3  # Shared structure

    # Positions per bay
    positions_per_bay_total = positions_per_bay * levels

    # Linear feet required per bay (includes aisle)
    linear_ft_per_bay = bay_width_ft

    # Calculate density (positions per 1000 sq ft)
    sq_ft_per_bay = bay_width_ft * (depth_ft + aisle_width_ft)
    positions_per_1000_sqft = (positions_per_bay_total / sq_ft_per_bay) * 1000

    return {
        'levels': levels,
        'positions_per_bay': positions_per_bay_total,
        'bay_width_ft': bay_width_ft,
        'depth_ft': depth_ft,
        'sq_ft_per_bay': round(sq_ft_per_bay, 1),
        'positions_per_1000_sqft': round(positions_per_1000_sqft, 1)
    }

# Example
config = rack_configuration(
    clear_height_ft=32,
    load_height_ft=5,
    aisle_width_ft=12,
    rack_depth='single'
)

print(f"Rack levels: {config['levels']}")
print(f"Positions per bay: {config['positions_per_bay']}")
print(f"Density: {config['positions_per_1000_sqft']} positions per 1000 sq ft")

Material Handling Equipment Selection

Equipment Types & Specs

1. Counterbalance Forklifts

  • Lift height: 15-20 ft
  • Aisle width: 12-13 ft
  • Use: Receiving, shipping, low-level storage
  • Cost: $25K-$40K

2. Reach Trucks

  • Lift height: 25-35 ft
  • Aisle width: 8-10 ft
  • Use: Selective racking, better utilization
  • Cost: $35K-$50K

3. Very Narrow Aisle (VNA) / Turret Trucks

  • Lift height: 35-45 ft
  • Aisle width: 5-6.5 ft
  • Use: Maximum density, high SKU count
  • Cost: $60K-$100K+
  • Requires wire guidance, flat floors

4. Order Pickers

  • Lift height: 25-35 ft
  • Use: Each/case picking, person-to-goods
  • Cost: $40K-$70K

5. Automated Guided Vehicles (AGV)

  • Lift height: Varies
  • Use: Putaway, replenishment, goods-to-person
  • Cost: $100K-$200K per vehicle
def select_material_handling_equipment(storage_height_ft, aisle_budget='medium',
                                       throughput_level='medium',
                                       automation_interest=False):
    """
    Recommend material handling equipment

    Parameters:
    - storage_height_ft: How high storage needs to go
    - aisle_budget: 'tight' (<8 ft), 'medium' (8-12 ft), 'wide' (>12 ft)
    - throughput_level: 'low', 'medium', 'high'
    - automation_interest: Considering automation?
    """

    recommendations = []

    if storage_height_ft <= 15:
        recommendations.append({
            'equipment': 'Counterbalance Forklift',
            'aisle_width': '12-13 ft',
            'cost': '$25K-$40K',
            'reason': 'Low height, versatile, lowest cost'
        })

    elif storage_height_ft <= 30:
        if aisle_budget == 'tight':
            recommendations.append({
                'equipment': 'Very Narrow Aisle (VNA)',
                'aisle_width': '5-6.5 ft',
                'cost': '$60K-$100K',
                'reason': 'Maximum space utilization, tight aisles'
            })
        else:
            recommendations.append({
                'equipment': 'Reach Truck',
                'aisle_width': '8-10 ft',
                'cost': '$35K-$50K',
                'reason': 'Good balance of cost and density'
            })

    else:  # > 30 ft
        recommendations.append({
            'equipment': 'VNA or Automated AS/RS',
            'aisle_width': '5-6.5 ft or N/A',
            'cost': '$60K+ or $2M+ system',
            'reason': 'Required for very high storage'
        })

    if automation_interest and throughput_level == 'high':
        recommendations.append({
            'equipment': 'Automated Storage/Retrieval (AS/RS)',
            'aisle_width': 'N/A',
            'cost': '$2M-$10M+ system',
            'reason': 'High throughput, labor savings, accuracy'
        })

    return recommendations

# Example
equipment = select_material_handling_equipment(
    storage_height_ft=28,
    aisle_budget='medium',
    throughput_level='medium',
    automation_interest=False
)

print("Material Handling Equipment Recommendations:")
for eq in equipment:
    print(f"\n  {eq['equipment']}")
    print(f"    Aisle width: {eq['aisle_width']}")
    print(f"    Cost: {eq['cost']}")
    print(f"    Reason: {eq['reason']}")

Dock & Receiving/Shipping Design

Dock Door Calculations

def calculate_dock_doors(inbound_trucks_per_day, outbound_trucks_per_day,
                        hours_of_operation=10, dwell_time_hours=2,
                        utilization_target=0.80):
    """
    Calculate required dock doors

    Parameters:
    - inbound_trucks_per_day: Daily truck arrivals
    - outbound_trucks_per_day: Daily truck departures
    - hours_of_operation: Working hours per day
    - dwell_time_hours: Hours per truck at dock (unload/load time)
    - utilization_target: Target dock utilization (0.80 = 80%)
    """

    # Capacity per dock door per day
    door_capacity = hours_of_operation / dwell_time_hours

    # Receiving doors needed
    receiving_doors_raw = inbound_trucks_per_day / door_capacity
    receiving_doors = receiving_doors_raw / utilization_target

    # Shipping doors needed
    shipping_doors_raw = outbound_trucks_per_day / door_capacity
    shipping_doors = shipping_doors_raw / utilization_target

    return {
        'receiving_doors': int(np.ceil(receiving_doors)),
        'shipping_doors': int(np.ceil(shipping_doors)),
        'total_doors': int(np.ceil(receiving_doors + shipping_doors)),
        'receiving_utilization': receiving_doors_raw / np.ceil(receiving_doors),
        'shipping_utilization': shipping_doors_raw / np.ceil(shipping_doors)
    }

# Example
doors = calculate_dock_doors(
    inbound_trucks_per_day=50,
    outbound_trucks_per_day=70,
    hours_of_operation=16,  # 2 shifts
    dwell_time_hours=2,
    utilization_target=0.80
)

print(f"Receiving doors needed: {doors['receiving_doors']}")
print(f"Shipping doors needed: {doors['shipping_doors']}")
print(f"Total dock doors: {doors['total_doors']}")
print(f"Receiving utilization: {doors['receiving_utilization']:.1%}")
print(f"Shipping utilization: {doors['shipping_utilization']:.1%}")

Dock Configuration

Design Considerations:

  • Dock spacing: 12 ft centers (standard)
  • Dock depth: 60-80 ft for staging area
  • Turnaround space: 130-150 ft for 53' trailers
  • Drive-in docks: Save space but reduce throughput
  • Cross-dock: Requires receiving and shipping proximity

Pick Path & Slotting Design

Travel Distance Calculation

def calculate_pick_travel_distance(orders_per_day, lines_per_order,
                                  avg_travel_per_pick_ft=150,
                                  picker_speed_ft_per_min=200):
    """
    Calculate picker travel distance and time

    Parameters:
    - orders_per_day: Daily order volume
    - lines_per_order: Average order lines
    - avg_travel_per_pick_ft: Average travel distance per pick
    - picker_speed_ft_per_min: Walking/driving speed
    """

    picks_per_day = orders_per_day * lines_per_order

    # Total travel distance
    total_travel_ft = picks_per_day * avg_travel_per_pick_ft
    total_travel_miles = total_travel_ft / 5280

    # Travel time
    travel_time_min = total_travel_ft / picker_speed_ft_per_min
    travel_time_hours = travel_time_min / 60

    # If picks per hour = 100, calculate labor needed
    pick_time_hours = picks_per_day / 100

    total_labor_hours = pick_time_hours + travel_time_hours

    return {
        'picks_per_day': picks_per_day,
        'total_travel_miles': round(total_travel_miles, 1),
        'travel_time_hours': round(travel_time_hours, 1),
        'pick_time_hours': round(pick_time_hours, 1),
        'total_labor_hours': round(total_labor_hours, 1),
        'pickers_needed_single_shift': round(total_labor_hours / 8, 1)
    }

# Example
travel = calculate_pick_travel_distance(
    orders_per_day=2000,
    lines_per_order=5,
    avg_travel_per_pick_ft=150,
    picker_speed_ft_per_min=200
)

print(f"Daily picks: {travel['picks_per_day']}")
print(f"Daily travel: {travel['total_travel_miles']} miles")
print(f"Travel time: {travel['travel_time_hours']} hours")
print(f"Pickers needed: {travel['pickers_needed_single_shift']}")

Golden Zone Placement

Principle:

  • Place fastest movers in most accessible locations
  • "Golden zone": Waist to shoulder height, front of rack
  • Minimize vertical and horizontal travel

Implementation: See warehouse-slotting-optimization skill for detailed algorithms


Automation & Technology

Warehouse Automation Options

1. Conveyor Systems

  • Use: Move products between zones
  • Cost: $200-$500 per linear foot
  • ROI: 2-4 years

2. Sortation Systems

  • Use: Sort orders/cartons to lanes/destinations
  • Types: Sliding shoe, cross-belt, tilt-tray
  • Cost: $500K-$3M+
  • Throughput: 5K-30K+ units/hour

3. Automated Storage & Retrieval (AS/RS)

  • Use: Dense storage, high throughput
  • Types: Mini-load, unit-load, shuttle systems
  • Cost: $2M-$20M+
  • ROI: 3-7 years

4. Goods-to-Person (GTP)

  • Use: Eliminate picker travel
  • Types: Vertical lift modules, horizontal carousels, shuttle systems
  • Cost: $500K-$5M+
  • Pick rates: 200-400+ lines/person/hour

5. Robotics

  • Types: AMRs (autonomous mobile robots), picking robots, palletizing robots
  • Cost: $50K-$200K per robot
  • Scalability: Add/remove as needed

6. Automated Guided Vehicles (AGV)

  • Use: Move pallets/containers
  • Cost: $100K-$200K per vehicle
  • Requires infrastructure (wires/magnets or LiDAR)
def automation_roi_analysis(current_labor_cost, automation_cost,
                           labor_savings_pct, maintenance_cost_annual,
                           years=5):
    """
    Calculate ROI for warehouse automation

    Parameters:
    - current_labor_cost: Annual labor cost ($)
    - automation_cost: Upfront automation investment ($)
    - labor_savings_pct: Labor reduction (e.g., 0.40 for 40%)
    - maintenance_cost_annual: Annual maintenance ($)
    - years: Analysis period
    """

    annual_savings = current_labor_cost * labor_savings_pct
    annual_net_savings = annual_savings - maintenance_cost_annual

    # Simple payback period
    payback_years = automation_cost / annual_net_savings

    # NPV calculation (assume 10% discount rate)
    discount_rate = 0.10
    npv = -automation_cost
    for year in range(1, years + 1):
        npv += annual_net_savings / ((1 + discount_rate) ** year)

    # ROI
    total_savings = annual_net_savings * years
    roi = (total_savings - automation_cost) / automation_cost

    return {
        'automation_cost': automation_cost,
        'annual_labor_savings': round(annual_savings, 0),
        'annual_maintenance': maintenance_cost_annual,
        'annual_net_savings': round(annual_net_savings, 0),
        'payback_years': round(payback_years, 2),
        'npv_5_year': round(npv, 0),
        'roi_5_year': round(roi, 2)
    }

# Example
roi = automation_roi_analysis(
    current_labor_cost=2_000_000,   # $2M annual labor
    automation_cost=4_000_000,      # $4M automation investment
    labor_savings_pct=0.50,         # 50% labor reduction
    maintenance_cost_annual=200_000, # $200K annual maintenance
    years=5
)

print(f"Automation cost: ${roi['automation_cost']:,.0f}")
print(f"Annual labor savings: ${roi['annual_labor_savings']:,.0f}")
print(f"Annual net savings: ${roi['annual_net_savings']:,.0f}")
print(f"Payback period: {roi['payback_years']} years")
print(f"5-year NPV: ${roi['npv_5_year']:,.0f}")
print(f"5-year ROI: {roi['roi_5_year']:.1%}")

Warehouse KPIs & Performance

Key Performance Indicators

def warehouse_kpis(total_sq_ft, storage_sq_ft, occupied_positions,
                   total_positions, throughput_units, labor_hours,
                   orders_shipped, order_accuracy_pct):
    """
    Calculate warehouse performance KPIs
    """

    # Space utilization
    space_utilization = occupied_positions / total_positions

    # Inventory density
    inventory_density = occupied_positions / (storage_sq_ft / 1000)

    # Productivity
    units_per_labor_hour = throughput_units / labor_hours

    # Order accuracy
    order_accuracy = order_accuracy_pct / 100

    # Operating cost per unit (example)
    # Would need cost inputs for full calculation

    kpis = {
        'Space_Utilization_%': round(space_utilization * 100, 1),
        'Inventory_Density_per_1000sqft': round(inventory_density, 1),
        'Units_per_Labor_Hour': round(units_per_labor_hour, 1),
        'Order_Accuracy_%': round(order_accuracy * 100, 2),
        'Orders_per_Labor_Hour': round(orders_shipped / labor_hours, 1)
    }

    return kpis

# Example
kpis = warehouse_kpis(
    total_sq_ft=200000,
    storage_sq_ft=120000,
    occupied_positions=4200,
    total_positions=5000,
    throughput_units=50000,
    labor_hours=500,
    orders_shipped=2000,
    order_accuracy_pct=99.5
)

print("Warehouse KPIs:")
for metric, value in kpis.items():
    print(f"  {metric}: {value}")

Tools & Libraries

Design & Simulation Software

CAD/Layout Tools:

  • AutoCAD: 2D/3D warehouse layout
  • SketchUp: 3D visualization
  • Warehouse Blueprint: Online warehouse design
  • SmartDraw: Warehouse layout templates

Simulation:

  • FlexSim: 3D simulation modeling
  • AnyLogic: Multi-method simulation
  • Simio: Process simulation
  • Arena: Discrete event simulation
  • SimPy (Python): Discrete event simulation library

Analysis:

  • Excel/Python: Capacity calculations, ROI analysis
  • Tableau/Power BI: Performance dashboards

Common Challenges & Solutions

Challenge: Insufficient Height Utilization

Problem:

  • Low storage density
  • Wasting cubic footage
  • Only using 10-15 ft of 30+ ft clear height

Solutions:

  • Install taller racking (selective or VNA)
  • Use reach trucks or order pickers
  • Implement mezzanines for picking
  • Consider AS/RS for maximum density

Challenge: Excessive Picker Travel

Problem:

  • Low productivity
  • High labor costs
  • Pickers traveling miles per day

Solutions:

  • Implement velocity-based slotting (see warehouse-slotting-optimization)
  • Zone picking or batch picking strategies
  • Goods-to-person automation
  • Optimize pick path routing
  • Forward pick locations for fast movers

Challenge: Dock Congestion

Problem:

  • Trucks waiting, detention fees
  • Receiving/shipping bottleneck
  • Poor appointment scheduling

Solutions:

  • Add dock doors if capacity constrained
  • Implement dock scheduling system (YMS)
  • Use cross-docking to bypass storage
  • Separate receiving and shipping operations
  • Stagger appointments throughout day

Challenge: Seasonal Volume Fluctuations

Problem:

  • Facility sized for peak, underutilized off-peak
  • Can't handle peak volume
  • Temporary labor challenges

Solutions:

  • Flexible storage (collapsible racks, temporary)
  • Overflow space with 3PL partners
  • Scale automation (add/remove AMRs)
  • Cross-training workforce
  • Build for average + use overflow strategy

Challenge: Mixed Order Profiles

Problem:

  • Some orders are pallets, some are eaches
  • Difficult to optimize for both
  • Separate processes inefficient

Solutions:

  • Zone warehouse by order type
  • Separate pallet and each picking areas
  • Use multi-modal automation
  • Different pick strategies by order type
  • Consider separate facilities for very different profiles

Output Format

Warehouse Design Report

Executive Summary:

  • Warehouse size and configuration
  • Storage capacity (pallet positions)
  • Throughput capacity (units/day, orders/day)
  • Capital investment required
  • Operating cost estimates

Facility Specifications:

SpecificationValue
Total Square Footage250,000 sq ft
Clear Height32 ft
Storage Square Footage150,000 sq ft
Pallet Positions6,500
Receiving Dock Doors12
Shipping Dock Doors18
Storage SystemSelective Racking (80%), Push-Back (20%)
Material HandlingReach Trucks (6), Counterbalance (4)

Layout Diagram:

  • Floor plan with functional zones
  • Material flow diagram
  • Racking layout and aisle configuration

Capacity Analysis:

MetricDesign CapacityPeak Capacity (1.2x)
Storage Positions6,5007,800 (w/ floor stack)
Daily Throughput100,000 units120,000 units
Orders per Day3,0003,600
Receiving (pallets/day)800960
Shipping (trucks/day)90108

Investment Summary:

CategoryCost
Building (if new)$12M
Racking Systems$2.5M
Material Handling Equipment$800K
Conveyor/Sortation$1.5M
IT Systems (WMS, etc.)$500K
Total Capital$17.3M

Operating Costs (Annual):

CategoryCost
Labor$4.5M
Lease/Depreciation$2.0M
Utilities$400K
Maintenance$300K
Total Annual$7.2M

Cost per Unit: $0.72 per unit shipped


Questions to Ask

If you need more context:

  1. What's the throughput requirement? (units/day, orders/day, order profile)
  2. What's the SKU count and velocity distribution?
  3. What's the growth projection over 3-5 years?
  4. Is a site identified? What are the constraints? (size, shape, clear height)
  5. What's the order profile? (pallets, cases, eaches, mixed)
  6. Are there special requirements? (temp control, hazmat, security)
  7. What's the automation appetite and budget?
  8. Greenfield or brownfield (existing building)?

Related Skills

  • warehouse-slotting-optimization: Optimize product placement within warehouse
  • warehouse-automation: Deep dive into automation systems
  • order-fulfillment: Pick, pack, ship operations design
  • facility-location-problem: Where to locate the warehouse
  • picker-routing-optimization: Optimize pick paths
  • dock-door-assignment: Optimize dock scheduling
  • cross-docking: Flow-through operations design
  • warehouse-location-optimization: Network-level warehouse placement

平台分布

Codex

31.79%
按下载量换算50

Claude

31.71%
按下载量换算50

Cursor

18.61%
按下载量换算29

Gemini CLI

8.98%
按下载量换算14

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

权限未标注

当前来源未能明确判断权限范围,默认进入异常复核队列。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills