mcpField
A
algo-mfg-cpk

algo-mfg-cpk

github.com/asgard-ai-platformData & databases24346 installsUpdated 21w ago
Repository

About algo-mfg-cpk

A skill for manufacturing process capability analysis that calculates Cp and Cpk from specification limits, the mean, and within-subgroup variation, with estimated defect rates. It stresses that processes must be statistically stable and includes a Python calculation script with verification tests.

Key features

  1. 01Calculate Cp, Cpk, and Cpm
  2. 02Estimate defective PPM
  3. 03Assess process centering
  4. 04Check normality and stability requirements
  5. 05Python script with built-in tests

Use cases

  1. 01Checking process fit to customer specifications
  2. 02Comparing capability across machines or periods
  3. 03Assessing process readiness for production

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/asgard-ai-platform/skills --skill algo-mfg-cpk

After installing, type/algo-mfg-cpkin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

examples/
sample_input.json
references/
capability-indices.md
non-normal-capability.md
scripts/
cpk.py

Details

From the project README

Cpk Process Capability Index

Overview

Cpk measures how well a process fits within specification limits, accounting for both variation (spread) and centering. Cpk = min((USL - μ) / 3σ, (μ - LSL) / 3σ). Cpk ≥ 1.33 is typically required; Cpk ≥ 1.67 for critical characteristics. Unlike Cp, Cpk penalizes off-center processes.

When to Use

Trigger conditions:

  • Assessing whether a manufacturing process can meet customer specifications
  • Comparing capability across processes, machines, or time periods
  • Qualifying a process for production readiness

When NOT to use:

  • When the process is not in statistical control (stabilize first with SPC)
  • For non-normal distributions without transformation

Algorithm

IRON LAW: Cpk Is Only Valid for a STABLE, IN-CONTROL Process
Computing Cpk on an unstable process gives a meaningless number.
The process MUST be in statistical control (per SPC charts) before
capability analysis. An unstable process with Cpk=2.0 today may
produce defects tomorrow when it shifts.
Phase 1: Input Validation

Collect: 100+ measurements from a stable process. Determine: USL, LSL (customer specifications). Verify process is in control (SPC charts show stability). Gate: Process in control, specifications defined, 100+ data points.

Phase 2: Core Algorithm
  1. Compute process mean: μ = Σxᵢ / n
  2. Compute process standard deviation: σ = estimated from R-bar/d₂ or S-bar/c₄ (within-subgroup) — NOT overall std dev
  3. Cp = (USL - LSL) / 6σ (potential capability, ignoring centering)
  4. Cpk = min((USL - μ) / 3σ, (μ - LSL) / 3σ) (actual capability)
  5. Estimate PPM defective from Cpk (e.g., Cpk=1.33 → ~63 PPM)
Phase 3: Verification

Check: Cp vs Cpk difference indicates centering issue (Cp >> Cpk = off-center). Distribution is approximately normal (histogram, normality test). Gate: Capability computed, centering assessed, normality verified.

Phase 4: Output

Return capability indices with defect rate estimates.

Output Format

{
  "capability": {"cp": 1.8, "cpk": 1.45, "ppm_defective": 27},
  "centering": {"mean": 50.2, "target": 50.0, "offset_pct": 0.4},
  "specs": {"usl": 55, "lsl": 45, "target": 50},
  "metadata": {"samples": 200, "sigma_method": "rbar_d2", "normality_p": 0.35}
}

Examples

Sample I/O

Input: USL=55, LSL=45, μ=50.2, σ=1.5 Expected: Cp = (55-45)/(6×1.5) = 1.11. Cpk = min((55-50.2)/4.5, (50.2-45)/4.5) = min(1.07, 1.16) = 1.07. Below 1.33 target.

Edge Cases
InputExpectedWhy
μ exactly at targetCp = CpkPerfectly centered
μ outside specsCpk < 0Process mean beyond specification limit
One-sided spec onlyUse Cpk for that side onlye.g., surface finish has only USL

Gotchas

  • σ estimation method: Use within-subgroup σ (R̄/d₂), NOT overall σ. Overall σ includes between-subgroup variation that inflates σ and understates Cpk.
  • Non-normal data: Cpk assumes normality. For skewed data (surface finish, concentricity), use Box-Cox transformation or non-parametric capability indices.
  • Short-term vs long-term: Cp/Cpk are short-term (within subgroup variation). Pp/Ppk use overall variation (long-term). Customers often want Ppk.
  • Sample size confidence: Cpk from 30 samples has wide confidence intervals. Report confidence intervals alongside point estimates.
  • Cpk ≠ defect-free: Even Cpk=2.0 has a theoretical defect rate (~0.002 PPM). For ultra-critical applications, higher Cpk or process validation is required.

Scripts

ScriptDescriptionUsage
scripts/cpk.pyCompute Cp, Cpk, Cpm, and PPM defective from process datapython scripts/cpk.py --help

Run python scripts/cpk.py --verify to execute built-in sanity tests.

References

  • For Cp/Cpk/Pp/Ppk comparison, see references/capability-indices.md
  • For non-normal capability analysis, see references/non-normal-capability.md

Comments

Markdown supported