soljourner/claude-engineering-skills

engineering-context-init

Initialize engineering session with standard constants, units, and imports

查看源码

使用方法

  1. 复制安装命令,在自己的智能体环境安装前先检查源码包。
  2. 从原始文档核对所需工具、凭据和支持的宿主。
  3. 说明输入材料与期望交付物,并对照来源检查输出。
npx skills add https://github.com/soljourner/claude-engineering-skills --skill engineering-context-init

开始前需了解

  • 安装不包含模型订阅、API 额度或访问文件的权限。
  • 仓库星数和安装量反映活跃情况,不等于独立质量或安全测试。
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

Engineering Context Initialization Helper

Purpose

Standardize engineering sessions with a consistent environment that includes:

  • Standard physical constants
  • Unit registry for dimensional analysis
  • Common scientific computing libraries
  • Default plotting configurations
  • Precision settings for numerical calculations

This helper eliminates the need to repeatedly set up the same environment at the start of each engineering session, ensuring consistency and saving time.

What It Sets Up

Standard Constants

  • g: Standard gravity (9.80665 m/s²)
  • R: Universal gas constant (8.314462618 J/(mol·K))
  • R_air: Specific gas constant for air (287.05 J/(kg·K))
  • gamma_air: Specific heat ratio for air (1.4)
  • P_atm: Standard atmospheric pressure (101325 Pa)
  • T_std: Standard temperature (288.15 K / 15°C)
  • rho_air_std: Standard air density (1.225 kg/m³)
  • mu_air_std: Dynamic viscosity of air at standard conditions (1.789e-5 Pa·s)
  • nu_air_std: Kinematic viscosity of air at standard conditions (1.460e-5 m²/s)
  • c_light: Speed of light (299792458 m/s)
  • sigma_sb: Stefan-Boltzmann constant (5.670374419e-8 W/(m²·K⁴))

Unit Registry (Pint)

  • Configured pint UnitRegistry for dimensional analysis
  • Support for unit conversions
  • Unit-aware calculations

Common Imports

  • NumPy: Array operations and mathematical functions
  • SciPy: Scientific computing (optimize, integrate, interpolate, special functions)
  • Matplotlib: Plotting and visualization
  • Pandas: Data manipulation (optional, if available)

Default Plotting Style

  • Figure size: 10x6 inches
  • Grid enabled
  • LaTeX-style font rendering (if available)
  • Professional color schemes

Precision Settings

  • NumPy print precision: 6 decimal places
  • Print suppression for small values
  • Consistent formatting across sessions

Usage

Quick Start

Simply run the initialization script at the start of your session:

python
exec(open('init-script.py').read())

Or copy-paste the contents of init-script.py directly into your Python session.

Example 1: Basic Calculations with Units

python
# After running init-script.py
from pint import UnitRegistry
ureg = UnitRegistry()

# Define a pressure with units
pressure = 500 * ureg.kPa
print(f"Pressure: {pressure}")
print(f"Pressure in psi: {pressure.to('psi')}")

# Calculate ideal gas properties
T = 300 * ureg.kelvin
V = 2 * ureg.m**3
n = (pressure * V / (R * T)).to('mol')
print(f"Moles of gas: {n:.2f}")

Example 2: Atmospheric Calculations

python
# After running init-script.py

# Calculate density at altitude using standard constants
altitude = 5000  # meters
T = T_std - 0.0065 * altitude  # Temperature lapse rate
P = P_atm * (T / T_std) ** (g / (0.0065 * R_air))
rho = P / (R_air * T)

print(f"At {altitude}m altitude:")
print(f"Temperature: {T:.2f} K ({T-273.15:.2f} °C)")
print(f"Pressure: {P:.2f} Pa ({P/1000:.2f} kPa)")
print(f"Density: {rho:.4f} kg/m³")

Example 3: Flow Calculations

python
# After running init-script.py

# Reynolds number calculation
velocity = 50  # m/s
length = 2     # m characteristic length
Re = velocity * length / nu_air_std

print(f"Reynolds number: {Re:.2e}")
if Re > 5e5:
    print("Flow is turbulent")
else:
    print("Flow is laminar")

Example 4: Quick Plotting

python
# After running init-script.py
import numpy as np
import matplotlib.pyplot as plt

# The plotting style is already configured
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)

plt.figure()
plt.plot(x, y, linewidth=2)
plt.xlabel('x [rad]')
plt.ylabel('sin(x)')
plt.title('Example Plot with Pre-configured Style')
plt.show()

Example 5: Unit Conversions

python
# After running init-script.py

# Power calculation with unit conversions
force = 1000 * ureg.N
velocity = 30 * ureg.m / ureg.s
power = (force * velocity).to('kW')

print(f"Power: {power}")
print(f"Power in hp: {power.to('hp'):.2f}")
print(f"Power in BTU/hr: {power.to('BTU/hr'):.2f}")

Files Included

  • SKILL.md: This documentation file
  • init-script.py: Complete initialization script ready to run
  • constants.md: Reference list of all constants and their values

Notes

  • The script checks for library availability and imports only what's available
  • If matplotlib is not available, plotting configuration is skipped
  • If pandas is not available, it's simply not imported (optional)
  • All constants use SI units unless otherwise specified
  • The pint UnitRegistry is created as ureg for unit-aware calculations

Customization

You can modify init-script.py to:

  • Add domain-specific constants
  • Change default plotting styles
  • Adjust precision settings
  • Include additional library imports
  • Set up custom unit definitions in pint

Best Practices

  1. Run the initialization at the start of each new engineering session
  2. Keep the script updated with your most commonly used constants
  3. Document any custom constants you add
  4. Use the unit registry for all calculations involving physical quantities
  5. Store the script in your project directory for easy access

按任务相关推荐

来自同一仓库

更多 Skills

全部 Skills