Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Crippling Analysis

ASecurity

Use when you must compute the local crippling and inter-rivet allowables of a formed compression stiffener (angle, channel, Z, hat stringer, bulb angle): compute the element crippling stress F_cc = min(F_cy, C*sqrt(F_cy*E)*(t/b)**0.75) with the shape constants C = 0.31 for one-edge-free flanges and C = 0.55 for webs between corners, average the element crippling loads over the section area, compute the inter-rivet buckling stress of the attached flat from the rivet pitch, and run the Johnson-...

2 stars
0 votes
0 copies
0 views
Added 9/27/2026
ai-agentspythonshell

Works with

claude code

Security Analysis

A100/100

Scanned 9/27/2026

Install to Claude Code

$npx -y skills add ashfordeOU/aero-agent-skills --skill crippling-analysis --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Crippling Analysis?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Crippling Analysis
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ashfordeou-crippling-analysis/badge)](https://www.skillsdirectory.com/skills/ashfordeou-crippling-analysis)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: crippling-analysis
description: "Use when you must compute the local crippling and inter-rivet allowables of a formed compression stiffener (angle, channel, Z, hat stringer, bulb angle): compute the element crippling stress F_cc = min(F_cy, C*sqrt(F_cy*E)*(t/b)**0.75) with the shape constants C = 0.31 for one-edge-free flanges and C = 0.55 for webs between corners, average the element crippling loads over the section area, compute the inter-rivet buckling stress of the attached flat from the rivet pitch, and run the Johnson-Euler interaction that anchors the stiffener column curve on the local crippling stress. Produces the crippling allowable, the inter-rivet allowable, the column interaction allowable, the compression allowable and the margin against the applied stress that gate the local stiffener compression check. Trigger: stringer crippling, local crippling stress, inter-rivet buckling, shape constant method, formed compression shapes."
license: Apache-2.0
compliance: STANDARDS-REF
standards:
  - id: far-25
    reference-only: true
  - id: cs-25
    reference-only: true
gated: false
domain: structures
pack: fem
compatibility: "agentskills.io SKILL.md; any SKILL.md host (Claude Code, Hermes, OpenClaw)"
metadata:
  domain: structures
  subdomain: fem
  tags: [crippling-analysis, shape-constant-method, element-crippling, local-crippling-stress, inter-rivet-buckling, stringer-crippling, stiffener-compression-allowable, formed-compression-shapes, johnson-euler-interaction]
  version: 0.1.0
  author: AeroSkills
---

# Crippling Analysis of Formed Compression Stiffeners (structures/fem/crippling-analysis)

Use when the LOCAL crippling of a formed thin-wall compression section
gates the stiffener sizing: the element crippling stress of each flat
(one-edge-free outstanding legs and flanges with shape constant C = 0.31,
no-edge-free webs and crowns between corners with C = 0.55) by the
shape-constant power-law correlation of the Gerard crippling family
(NACA-TN-3784, NACA-TN-3785, paraphrased by name only), the area-weighted
section crippling allowable, the inter-rivet buckling allowable of the
fastener-attached flat between rivet lines (Semonian and Peterson,
NACA-TN-3431, paraphrased), and the Johnson-Euler stiffener column
interaction that anchors the short-column curve on the local crippling
stress rather than on yield. Pure Python, stdlib only, closed form, SI
units. This leaf covers the LOCAL cross-section check only: it pairs with
structures/fem/buckling-analysis for the global Euler column of the same
member, with structures/fem/beam-column-analysis for the global
axial-plus-bending member, and with structures/fem/plate-buckling for the
stability of single flat panels with known dimensions.

## Domain quick reference

- Element crippling stress by edge-support class s (one-edge-free "oef"
  with C_OEF = 0.31, no-edge-free "sef" with C_SEF = 0.55):
  F_cc,i = min(F_cy, C_s * sqrt(F_cy * E) * (t / b)**0.75). The yield cap
  binds because the raw power law would exceed F_cy at small b/t (the
  2024-T3 one-edge-free curve crosses yield near b/t = 8.3).
- Section crippling allowable: the element crippling loads are averaged
  over the section area, F_cc = sum(F_cc,i * A_i) / sum(A_i) with A_i =
  b_i * t_i per flat; a bulb element (solid cylinder of diameter d)
  carries at F_cy with area pi * d**2 / 4 and does not cripple locally.
  Corner radii are ignored; b is the flat width.
- Inter-rivet buckling of the attached flat of thickness t_attach between
  rivets at pitch s: sigma_ir = K * pi**2 * E / (12 * (1 - nu**2)) *
  (t_attach / s)**2 with K = 4.0 (rivet lines as simple supports, long
  plate); for aluminum at nu = 0.33 this reads about 3.69 * E *
  (t_attach / s)**2. Inter-rivet allowable F_ir = min(sigma_ir, F_cy).
- Johnson-Euler interaction anchored on the crippling allowable: the
  crippling stress is the lambda-tending-to-0 limit of the stiffener
  column curve, so the parabola anchors at F_cc, never at sigma_y.
  lambda_t = pi * sqrt(2 * E / F_cc); for lambda <= lambda_t,
  F_col = F_cc * (1 - F_cc * lambda**2 / (4 * pi**2 * E)) (Johnson arm);
  for lambda > lambda_t, F_col = pi**2 * E / lambda**2 (Euler arm). At
  lambda_t both arms equal F_cc / 2 exactly (tangency by construction).
- Stiffener compression allowable and margin: F_comp = min(F_col, F_ir);
  MS = F_comp / sigma_applied - 1; the verdict is pass when MS >= 0.
- Units are SI throughout: b, t, d and pitch in m, stresses in Pa,
  slenderness lambda = K * L / r dimensionless. Materials registry holds
  only 2024-T3 (E 72.4 GPa, F_cy 290 MPa, nu 0.33) and 7075-T6 (E 71.7
  GPa, F_cy 462 MPa, nu 0.33); the correlation constants are calibrated on
  the aluminum sheet crippling test family.

## Workflow

1. Resolve the material constants with material(name), case and
   whitespace insensitive, for "2024-T3" or "7075-T6" (step 1 of the
   workflow in the contract test docstrings).
2. Expand the formed shape into its flat element list with
   formed_shape_elements(shape, **dims): "angle" (b1, b2, t), "channel"
   and "z" (bw, bf, t), "hat" (bc, bl, t), "bulb-angle" (b1, bs, d, t).
3. Compute each element crippling stress with
   element_crippling_stress(b, t, edge_class, mat), edge_class "oef" or
   "sef", yield capped.
4. Average the element crippling loads over the section area with
   section_crippling_stress(elements, mat) to get the section crippling
   allowable F_cc and the total flat area.
5. Compute the inter-rivet allowable of the fastener-attached flat with
   inter_rivet_allowable(t_attach, pitch, mat), yield capped.
6. Run the Johnson-Euler interaction with
   column_interaction_allowable(fcc, lam, mat): regime "johnson" at or
   below lambda_t, "euler" above, tangent at F_cc / 2.
7. Combine into the stiffener compression allowable and margin with
   stiffener_compression_check(elements, mat, t_attach, pitch, lam,
   sigma_applied): F_comp = min(F_col, F_ir), MS and the pass verdict;
   cross-check the margin directly with compression_margin(f_allowable,
   sigma_applied).
8. Confirm the deterministic checks with the contract test
   scripts/test_crippling_analysis.py.

## Worked example

2024-T3 (E = 72.4 GPa, F_cy = 290 MPa, nu = 0.33, sqrt(F_cy * E) =
4.58214e9 Pa). All values are REAL outputs of
scripts/crippling_analysis_logic.py.

- Z-stringer t = 1.6 mm, flanges 19 mm, web 32 mm, rivet pitch 25 mm,
  lambda = 40, applied 150 MPa: element crippling web (no-edge-free,
  b/t = 20) 266.4762 MPa and each flange (one-edge-free, b/t = 11.9)
  222.0520 MPa; section F_cc = (32*266.4762 + 2*19*222.0520)/70 =
  242.3602 MPa (0.8357 of F_cy) over the 1.12e-4 m^2 flat area;
  inter-rivet sigma_ir raw 1094.84 MPa capped at 290.00 MPa (the 1.6 mm
  flange at 25 mm pitch cannot buckle between fasteners before yield);
  column interaction lambda_t = 76.790, regime johnson, F_col =
  209.4793 MPa at lambda 40 (13.6 percent below the crippling allowable);
  compression allowable min(209.4793, 290.00) = 209.4793 MPa; MS =
  209.4793/150 - 1 = 0.396529, pass.
- Angle stringer legs 25 x 25 mm, t = 1.6 mm, pitch 25 mm, lambda = 50,
  applied 120 MPa: each leg (one-edge-free, b/t = 15.6) 180.7444 MPa;
  section F_cc = 180.7444 MPa (0.6233 of F_cy); inter-rivet allowable
  290.00 MPa; lambda_t = 88.920; F_col = 152.1704 MPa at lambda 50;
  compression allowable 152.1704 MPa; MS = 0.268087, pass.
- Hat stringer crown 25 mm, legs 12 mm, t = 0.7 mm, pitch 25 mm,
  lambda = 60, applied 100 MPa: crown (no-edge-free, b/t = 35.7)
  172.5041 MPa; each leg (one-edge-free, b/t = 17.1) 168.6039 MPa;
  section F_cc = 170.5938 MPa (0.5883 of F_cy); inter-rivet sigma_ir raw
  and allowable 209.56 MPa, the genuine sub-yield inter-rivet regime of
  the thin attachment gauge; lambda_t = 91.528; F_col = 133.9390 MPa at
  lambda 60; compression allowable min(133.9390, 209.56) = 133.9390 MPa;
  MS = 0.339390, pass.
- Formed shape family sweep, 2024-T3, t = 1.6 mm (channel and Z share web
  32 mm and flanges 19 mm; bulb-angle plain leg 25 mm, stem 19 mm, bulb
  diameter 5 mm): section crippling allowable angle 25x25 180.7444 MPa,
  channel 32x19 242.3602 MPa, Z 32x19 242.3602 MPa (identical element
  classes), bulb-angle 218.5184 MPa (0.7535 of F_cy, lifted by the solid
  bulb carrying at yield); hat 25/12 at t = 0.7 mm 170.5938 MPa.
- Material normalization: the same Z geometry in 7075-T6 (E = 71.7 GPa,
  F_cy = 462 MPa) gives section F_cc = 304.4203 MPa but only 0.6589 of
  F_cy versus 0.8357 for 2024-T3, the lower normalized crippling of the
  higher-strength alloy under the sqrt(F_cy * E) fold.
- Johnson-Euler interaction curve for the Z (F_cc = 242.3602 MPa,
  lambda_t = 76.790): lambda 20 -> 234.1400 MPa, 40 -> 209.4793 MPa,
  60 -> 168.3781 MPa (johnson arm); 100 -> 71.4559 MPa and 150 ->
  31.7582 MPa (euler arm). Both arms at lambda_t return 121.180120 MPa =
  F_cc / 2, relative difference 2.46e-16.
- Identity outputs: doubling t_attach at fixed pitch gives stress ratio
  4.000000000000 (relative difference 0); quadrupling b at fixed t gives
  stress ratio 0.353553390593 = (1/4)**0.75 (relative difference 0); the
  stubby one-edge-free element at b/t = 5 returns exactly 290.0 MPa
  (yield cap); the section average lies strictly between its element
  extremes; every non-physical input raises ValueError.
- Read-off: the 2024-T3 Z-stringer at 150 MPa design compression runs a
  0.40 margin driven by the column interaction at lambda 40, not by
  crippling (crippling sits 62 percent above the applied stress and
  inter-rivet is yield capped); the same stiffener in 7075-T6 would carry
  about 26 percent more crippling load, and lengthening the bay toward
  lambda 77 halves the column allowable at the crippling-stress-based
  transition.

## Verification

- Confirm the Z-stringer worked example: web element 266.4762 MPa,
  flange element 222.0520 MPa, section F_cc 242.3602 MPa (0.8357 of
  F_cy), inter-rivet raw 1094.84 MPa capped at 290.00 MPa, lambda_t
  76.790, F_col 209.4793 MPa at lambda 40, compression allowable
  209.4793 MPa, margin 0.396529, verdict pass.
- Confirm the angle (section F_cc 180.7444 MPa, F_col 152.1704 MPa at
  lambda 50, margin 0.268087) and hat (section F_cc 170.5938 MPa,
  inter-rivet raw and allowable 209.56 MPa, F_col 133.9390 MPa at lambda
  60, margin 0.339390) anchors.
- Confirm the family sweep: channel and Z give the same section F_cc
  242.3602 MPa; bulb-angle 218.5184 MPa sits above the plain angle
  180.7444 MPa; the 7075-T6 Z gives 304.4203 MPa at the lower normalized
  ratio 0.6589.
- Confirm the interaction curve: F_col 234.1400 MPa (lambda 20),
  168.3781 (60), 71.4559 (100, euler), 31.7582 (150, euler), and both
  arms equal F_cc / 2 at lambda_t within 1e-9 relative (2.46e-16 on the
  module).
- Confirm the identities: doubling t_attach quadruples sigma_ir; the
  power law scales as (1/4)**0.75 under a quadrupled width; element
  crippling never exceeds F_cy and equals F_cy at b/t = 5 for a stubby
  one-edge-free 2024-T3 element; sef allowance >= oef allowance at equal
  b/t; the section average lies between the element extremes;
  compression_margin reproduces the check margin exactly.
- Confirm ValueError rejection on every non-physical input: non-positive
  b, t, t_attach, pitch, fcc, lambda, sigma_applied, element d, and shape
  dims; unknown material, shape, edge class, element class; an empty
  elements list; missing shape dims and missing element geometry keys.
- Run the contract test offline under both interpreters:
  python3 scripts/test_crippling_analysis.py and the pyenv 3.13.12
  interpreter used by the pre-push hook (33 tests, deterministic, both
  exit 0).

## Related leaves

- structures/fem/buckling-analysis: the GLOBAL column Euler load of the
  same member with the end-condition effective length factor and the
  yield-based transition; this leaf takes lambda = K*L/r as an input and
  anchors its Johnson curve on the local crippling stress, never on the
  solid-section yield.
- structures/fem/beam-column-analysis: the global axial-plus-bending
  member check with moment amplification, the sibling that disclaims the
  local crippling of the compression flange as outside its global scope.
- structures/fem/plate-buckling: the flat-panel stability check with the
  k-coefficient versus aspect ratio and the edge conditions, the routing
  home for single flat panels with known dimensions and for riveted
  skin-strip panel checks between fastener rows.
- structures/fem/beam-frame-analysis, structures/fem/truss-analysis and
  structures/fem/shrink-fit-analysis: the other member-level and
  joint-level checks in the fem pack.
- vehicle-design leaves fuselage-skin-stringer and wing-box-sizing: the
  overall stiffened shell and wing box closure that CONSUME the local
  stiffener allowable produced here.

## Pitfalls

- Routing the GLOBAL column here: the Euler load at resolved end
  conditions, the radius of gyration from full section properties and
  the yield-based transition classification of a whole solid column
  belong to structures/fem/buckling-analysis; this leaf takes the
  effective slenderness lambda as an input and its Johnson curve is
  anchored on the local crippling stress.
- Routing single flat panels here: the flat-panel k-coefficient versus
  aspect ratio, the panel compression-shear interaction and the
  effective width of stiffened skin belong to structures/fem/
  plate-buckling; plate-buckling in turn hands the stiffened-shell and
  wing-box closure to the vehicle-design leaves.
- Averaging crippling stresses without the area weights: the section
  allowable is the load average sum(F_cc,i * A_i) / sum(A_i), so a wide
  thin web with a low element stress drags the section allowable down
  even when the stiffer flanges cripple higher.
- Forgetting the yield cap: the raw power law crosses F_cy near b/t =
  8.3 for one-edge-free 2024-T3 elements, so stubby flats return exactly
  F_cy; an uncapped reading of the correlation overstates stubby-element
  allowables.
- Treating inter-rivet as a panel check: the rivet-line simple-support
  long-plate value with the fixed coefficient K = 4.0 applies to the
  fastener-attached flat between rivets; the riveted skin-strip check
  between fastener rows is a flat-panel check with known dimensions for
  plate-buckling.
- Anchoring the Johnson curve on sigma_y: the stiffener short-column
  curve anchors on the LOCAL crippling allowable F_cc (the
  lambda-tending-to-0 limit), so using sigma_y in the parabola
  overstates short stiffeners whose section cripples before it yields.
- Reading the inter-rivet allowable above yield: F_ir = min(sigma_ir,
  F_cy), so a thick attached flat at a tight pitch is yield limited and
  the inter-rivet number to report is F_cy, not the raw buckling stress.
- Applying the correlation outside its calibration: the shape constants
  are calibrated on the aluminum sheet crippling test family, so the
  method is stated for 2024-T3 and 7075-T6 only; extruded, machined or
  fiber-reinforced sections, elevated temperature, fastener bearing or
  pull-through of the attachments, and corner radii (flat widths only)
  are out of scope for this closed form.

## Behavior contract (gate 3)

Run the deterministic contract test (stdlib unittest, offline):

    python3 scripts/test_crippling_analysis.py

The 33 tests cover the material registry resolution (case and whitespace
insensitive, ValueError on unknowns), the worked-example anchors for the
Z, angle and hat stringers (element, section and interaction allowables
with the margins of safety), the formed-shape family sweep (channel and Z
identical classes, bulb-angle elevation above the plain angle), the
7075-T6 material normalization, the Johnson-Euler interaction curve and
its tangency at lambda_t, the closed-form identities (inter-rivet
quadratic scaling, crippling power-law quartering, yield cap at b/t = 5,
class ranking, section averaging bounds, margin reproduction),
determinism, math-only imports, and ValueError rejection of every
non-physical input. All numeric asserts are tolerance-based and pass
under both python3 and the pyenv 3.13.12 hook interpreter.

## Compliance

- Standards referenced, not reproduced: the crippling method paraphrases
  the public-domain NACA crippling literature by name only (Gerard and
  Becker, Handbook of Structural Stability Part IV, NACA-TN-3784, and
  Part V, NACA-TN-3785; Semonian and Peterson, NACA-TN-3431, for
  inter-rivet buckling). FAR-25 and CS-25 frame the airframe structural
  context (summary references per standards-map.yaml; no standard text is
  reproduced).
- compliance: STANDARDS-REF, gated: false.

Attribution

ashfordeOUashfordeOU
View sourceMore from ashfordeOU →
SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

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 (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1074701 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

694821 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

691 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →