Claude-skill-registry cathodic-protection

Expert Electrical Engineer specializing in cathodic protection (CP) systems

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/cathodic-protection" ~/.claude/skills/majiayu000-claude-skill-registry-cathodic-protection && rm -rf "$T"
manifest: skills/data/cathodic-protection/SKILL.md
source content

Cathodic Protection Skill

Expert guidance on cathodic protection (CP) systems for offshore platforms, subsea pipelines, storage tanks, and onshore oil and gas facilities.

Version Metadata

version: 1.0.0
python_min_version: '3.10'
compatibility:
  tested_python:
  - '3.10'
  - '3.11'
  - '3.12'
  - '3.13'
  os:
  - Windows
  - Linux
  - macOS

Changelog

[1.0.0] - 2026-01-07

Added:

  • Initial version metadata and dependency management
  • Semantic versioning support
  • Compatibility information for Python 3.10-3.13

Changed:

  • Enhanced skill documentation structure

When to Use

  • CP system design (SACP and ICCP)
  • Anode calculation and spacing
  • Transformer rectifier unit sizing
  • Pipeline CP design
  • Coating breakdown assessment
  • AC/DC interference analysis
  • CP monitoring system design
  • NACE/ISO/DNV compliance

Domain Expertise

Cathodic Protection Systems

System TypeApplications
SACP (Sacrificial Anode)Offshore structures, pipelines, short-term protection
ICCP (Impressed Current)Long pipelines, complex structures, retrofit
HybridCombined systems for optimal protection

Anode Materials

MaterialApplicationEnvironment
Al-Zn-InMarine, seawaterOffshore, subsea
MagnesiumSoil, freshwaterOnshore pipelines
MMO (Mixed Metal Oxide)ICCP anodesAll environments
GraphiteDeep well anodesSoil, groundbeds
High-silicon ironGroundbedsSoil

Industry Standards

StandardScope
NACE SP0169External corrosion control of pipelines
NACE SP0177Mitigation of AC and lightning effects
NACE SP0286Electrical isolation of CP systems
NACE RP0176Corrosion control of steel fixed offshore platforms
ISO 15589-1Pipelines - Onshore
ISO 15589-2Pipelines - Offshore
DNV-RP-B401Cathodic protection design
API RP 651Cathodic protection of aboveground tanks
API RP 1632Cathodic protection of underground tanks

CP Design Calculations

Anode Mass Calculation

from digitalmodel.modules.cp import AnodeDesign

# Initialize anode designer
anode = AnodeDesign()

# Calculate required anode mass
result = anode.calculate_mass(
    structure={
        "surface_area": 5000,  # m2
        "coating_efficiency": 0.95,  # 95% coating
        "bare_area": 250  # m2 (5% of total)
    },
    environment={
        "resistivity": 0.25,  # ohm-m (seawater)
        "temperature": 15,  # Celsius
        "water_depth": 100  # m
    },
    design={
        "current_density": 0.03,  # A/m2 (mean)
        "design_life": 25,  # years
        "utilization_factor": 0.85,
        "anode_material": "Al-Zn-In"
    }
)

print(f"Total current required: {result['current_required']:.2f} A")
print(f"Total anode mass: {result['mass_required']:.0f} kg")
print(f"Number of anodes: {result['anode_count']}")
print(f"Anode spacing: {result['spacing']:.1f} m")

Pipeline Attenuation

from digitalmodel.modules.cp import PipelineCP

# Initialize pipeline CP designer
pipeline = PipelineCP()

# Calculate attenuation and CP spread
result = pipeline.calculate_attenuation(
    pipeline={
        "length": 50000,  # m (50 km)
        "diameter": 0.914,  # m (36 inch)
        "wall_thickness": 0.0254,  # m (1 inch)
        "coating_type": "FBE",
        "coating_resistance": 10000  # ohm-m2
    },
    soil={
        "resistivity": 50,  # ohm-m
        "type": "clay"
    },
    cp_stations={
        "type": "ICCP",
        "voltage": -1.1,  # V vs Cu/CuSO4
        "locations": [0, 25000, 50000]  # m
    }
)

print(f"Attenuation constant: {result['attenuation_constant']:.6f} 1/m")
print(f"Effective CP spread: {result['effective_spread']:.0f} m")
print(f"Minimum potential: {result['min_potential']:.3f} V")
print(f"Protection criteria met: {result['criteria_met']}")

Coating Breakdown Factor

from digitalmodel.modules.cp import CoatingAnalysis

coating = CoatingAnalysis()

# Calculate coating breakdown factor
cbf = coating.calculate_breakdown_factor(
    coating_type="3LPE",
    initial_quality=0.99,  # 99% initial efficiency
    design_life=25,  # years
    temperature=65,  # Celsius (operating)
    method="DNV-RP-F103"  # or ISO 15589
)

print(f"Initial CBF: {cbf['initial']:.4f}")
print(f"Mean CBF: {cbf['mean']:.4f}")
print(f"Final CBF: {cbf['final']:.4f}")
print(f"Bare area at design life: {cbf['bare_area_percentage']:.1f}%")

ICCP System Design

Transformer Rectifier Sizing

from digitalmodel.modules.cp import ICCPDesign

iccp = ICCPDesign()

# Size transformer rectifier unit
tru = iccp.size_tru(
    current_requirement={
        "initial": 50,  # A
        "mean": 75,  # A
        "final": 100  # A
    },
    anode_string={
        "resistance": 0.5,  # ohm
        "count": 10,
        "type": "MMO"
    },
    cable={
        "length": 500,  # m
        "type": "XLPE",
        "size": 25  # mm2
    },
    safety_factor=1.25
)

print(f"TRU Rating: {tru['power_rating']:.1f} kW")
print(f"Output Voltage: {tru['voltage']:.1f} V DC")
print(f"Output Current: {tru['current']:.1f} A")
print(f"Efficiency: {tru['efficiency']:.1f}%")

Deep Well Anode Design

# Design deep well anode groundbed
groundbed = iccp.design_groundbed(
    type="deep_well",
    soil_resistivity=100,  # ohm-m
    current_output=50,  # A
    design_life=30,  # years
    anode_material="graphite"
)

print(f"Well depth: {groundbed['depth']:.1f} m")
print(f"Anode count: {groundbed['anode_count']}")
print(f"Anode length: {groundbed['anode_length']:.1f} m")
print(f"Groundbed resistance: {groundbed['resistance']:.3f} ohm")

Monitoring and Assessment

Remote Monitoring System

from digitalmodel.modules.cp import CPMonitoring

monitoring = CPMonitoring()

# Design monitoring system
system = monitoring.design_system(
    structure_type="offshore_platform",
    monitoring_points=25,
    parameters=[
        "potential",
        "current",
        "temperature",
        "reference_electrode_check"
    ],
    communication="satellite",
    data_interval=3600  # seconds
)

print(f"Monitoring units: {system['unit_count']}")
print(f"Reference electrodes: {system['reference_electrodes']}")
print(f"Communication: {system['communication_type']}")

Survey Analysis

from digitalmodel.modules.cp import SurveyAnalysis

survey = SurveyAnalysis()

# Analyze CIPS/CIS survey data
analysis = survey.analyze_cips(
    data_file="pipeline_survey.csv",
    criteria={
        "on_potential": -0.85,  # V vs Cu/CuSO4
        "off_potential": -0.85,
        "100mV_shift": True
    }
)

print(f"Protected length: {analysis['protected_percentage']:.1f}%")
print(f"Under-protected sections: {len(analysis['under_protected'])}")
print(f"Coating defects detected: {len(analysis['coating_defects'])}")

# Analyze DCVG survey
dcvg = survey.analyze_dcvg(
    data_file="dcvg_survey.csv"
)

for defect in dcvg['defects']:
    print(f"Defect at {defect['chainage']}m: {defect['severity']} ({defect['ir_drop']}mV)")

Interference Analysis

AC Interference

from digitalmodel.modules.cp import InterferenceAnalysis

interference = InterferenceAnalysis()

# Analyze AC interference from power line
ac_analysis = interference.analyze_ac(
    pipeline={
        "length": 10000,  # m parallel exposure
        "coating_resistance": 10000,  # ohm-m2
        "diameter": 0.6  # m
    },
    power_line={
        "voltage": 400000,  # V
        "current": 500,  # A
        "separation": 50  # m
    },
    soil_resistivity=100  # ohm-m
)

print(f"Induced AC voltage: {ac_analysis['voltage']:.1f} V")
print(f"AC current density: {ac_analysis['current_density']:.2f} A/m2")
print(f"Mitigation required: {ac_analysis['mitigation_required']}")

Stray Current

# Analyze DC stray current
dc_analysis = interference.analyze_stray_current(
    pipeline={
        "coating_resistance": 10000,  # ohm-m2
        "length": 5000  # m affected
    },
    source={
        "type": "railway",
        "current": 1000,  # A
        "distance": 100  # m
    }
)

print(f"Stray current pickup: {dc_analysis['pickup_current']:.2f} A")
print(f"Discharge current density: {dc_analysis['discharge_density']:.4f} A/m2")
print(f"Corrosion rate: {dc_analysis['corrosion_rate']:.2f} mm/year")

MCP Tool Integration

Swarm Coordination

// Initialize CP design swarm
mcp__claude-flow__swarm_init { topology: "hierarchical", maxAgents: 4 }

// Spawn specialized agents
mcp__claude-flow__agent_spawn { type: "analyst", name: "cp-calculator" }
mcp__claude-flow__agent_spawn { type: "reviewer", name: "standards-checker" }

Memory Coordination

// Store CP design parameters
mcp__claude-flow__memory_usage {
  action: "store",
  key: "cp/design/parameters",
  namespace: "corrosion",
  value: JSON.stringify({
    structure: "offshore_platform",
    system: "SACP",
    design_life: 25,
    standards: ["DNV-RP-B401", "NACE SP0176"]
  })
}

Design Workflow

CP System Design Process

  1. Environment Assessment

    • Soil/water resistivity
    • Temperature
    • Oxygen content
    • Biological activity
  2. Current Requirement

    • Surface area calculation
    • Coating efficiency
    • Current density selection
  3. System Selection

    • SACP vs ICCP decision
    • Hybrid considerations
  4. Component Design

    • Anode sizing and distribution
    • Cable sizing
    • TRU specification (ICCP)
  5. Interference Analysis

    • AC/DC interference
    • Stray current
    • Galvanic interaction
  6. Monitoring Design

    • Reference electrode placement
    • Test point locations
    • Remote monitoring

Best Practices

  1. Conservatism: Apply appropriate safety factors
  2. Standards Compliance: Follow NACE/ISO requirements
  3. Design Life: Consider coating degradation over time
  4. Monitoring: Design for long-term performance tracking
  5. Documentation: Record all assumptions and calculations

Related Skills

References

  • NACE International Standards
  • ISO 15589-1/2: Cathodic Protection of Pipelines
  • DNV-RP-B401: Cathodic Protection Design
  • API RP 651/1632: Tank Cathodic Protection
  • Agent Source:
    agents/cathodic-protection-engineer.md

Version History

  • 1.0.0 (2025-01-02): Initial release from agents/cathodic-protection-engineer.md