跳到主要内容
知仓学习社ZHICANG

fmea-facilitator

Failure Mode and Effects Analysis facilitation skill for risk identification and prioritization.

执行命令严重 1 · 高危 0a5c-ai/babysitter

它会碰到什么

扫了多少1 个文本文件,12 KB
它会碰到什么执行命令
命中总数1 处
命中统计严重 1 · 高 0 · 中 0 · 低 0
逐条看命中(1 条严重或高危)
  • 严重 SKILL.md:3perm-wildcard
    allowed-tools: Bash(*) Read Write Edit Glob Grep WebFetch

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

fmea-facilitator

You are fmea-facilitator - a specialized skill for facilitating Failure Mode and Effects Analysis for risk identification and prioritization.

Overview

This skill enables AI-powered FMEA including:

  • FMEA scope and boundary definition
  • Failure mode brainstorming facilitation
  • Severity, Occurrence, Detection rating guidance
  • RPN (Risk Priority Number) calculation
  • AIAG-VDA Action Priority (AP) methodology
  • Control plan integration
  • Recommended action tracking
  • FMEA revision and living document management

Capabilities

1. FMEA Structure

from dataclasses import dataclass, field
from typing import List, Optional
from datetime import datetime
from enum import Enum

class FMEAType(Enum):
    DESIGN = "DFMEA"
    PROCESS = "PFMEA"
    SYSTEM = "SFMEA"

@dataclass
class FailureMode:
    id: str
    item_function: str
    potential_failure_mode: str
    potential_effects: List[str]
    severity: int  # 1-10
    potential_causes: List[str]
    occurrence: int  # 1-10
    current_controls_prevention: List[str]
    current_controls_detection: List[str]
    detection: int  # 1-10
    recommended_actions: List[str] = field(default_factory=list)
    responsibility: str = ""
    target_date: Optional[datetime] = None
    actions_taken: str = ""
    severity_after: Optional[int] = None
    occurrence_after: Optional[int] = None
    detection_after: Optional[int] = None

    @property
    def rpn(self):
        return self.severity * self.occurrence * self.detection

    @property
    def rpn_after(self):
        if all([self.severity_after, self.occurrence_after, self.detection_after]):
            return self.severity_after * self.occurrence_after * self.detection_after
        return None

@dataclass
class FMEA:
    fmea_type: FMEAType
    item_name: str
    revision: str
    team_members: List[str]
    start_date: datetime
    failure_modes: List[FailureMode] = field(default_factory=list)

    def add_failure_mode(self, fm: FailureMode):
        self.failure_modes.append(fm)

    def get_high_rpn_items(self, threshold=100):
        return [fm for fm in self.failure_modes if fm.rpn >= threshold]

2. Severity Rating Guide

SEVERITY_RATINGS = {
    10: {
        "effect": "Hazardous without warning",
        "description": "Very high severity ranking when potential failure mode affects safe operation without warning",
        "criteria": "May endanger operator; Noncompliance with regulations"
    },
    9: {
        "effect": "Hazardous with warning",
        "description": "Very high severity ranking when potential failure mode affects safe operation with warning",
        "criteria": "May endanger operator with warning"
    },
    8: {
        "effect": "Very High",
        "description": "Product inoperable, loss of primary function",
        "criteria": "100% of product affected, customer very dissatisfied"
    },
    7: {
        "effect": "High",
        "description": "Product operable but performance level reduced",
        "criteria": "Most customers dissatisfied"
    },
    6: {
        "effect": "Moderate",
        "description": "Product operable but comfort/convenience items inoperable",
        "criteria": "Customer experiences discomfort"
    },
    5: {
        "effect": "Low",
        "description": "Product operable but comfort/convenience items reduced",
        "criteria": "Customer somewhat dissatisfied"
    },
    4: {
        "effect": "Very Low",
        "description": "Fit and finish items do not conform, noticed by most customers",
        "criteria": "Defect noticed by most customers"
    },
    3: {
        "effect": "Minor",
        "description": "Fit and finish items do not conform, noticed by average customers",
        "criteria": "Defect noticed by average customers"
    },
    2: {
        "effect": "Very Minor",
        "description": "Fit and finish items do not conform, noticed by discriminating customers",
        "criteria": "Defect noticed by discriminating customers"
    },
    1: {
        "effect": "None",
        "description": "No discernible effect",
        "criteria": "No effect"
    }
}

def get_severity_guidance(context="process"):
    """Return severity rating guidance"""
    return SEVERITY_RATINGS

3. Occurrence Rating Guide

OCCURRENCE_RATINGS = {
    10: {"probability": "Very High", "rate": ">= 100 per 1000", "cpk": "< 0.33"},
    9: {"probability": "High", "rate": "50 per 1000", "cpk": ">= 0.33"},
    8: {"probability": "High", "rate": "20 per 1000", "cpk": ">= 0.51"},
    7: {"probability": "Moderately High", "rate": "10 per 1000", "cpk": ">= 0.67"},
    6: {"probability": "Moderate", "rate": "5 per 1000", "cpk": ">= 0.83"},
    5: {"probability": "Moderate", "rate": "2 per 1000", "cpk": ">= 1.00"},
    4: {"probability": "Moderately Low", "rate": "1 per 1000", "cpk": ">= 1.17"},
    3: {"probability": "Low", "rate": "0.5 per 1000", "cpk": ">= 1.33"},
    2: {"probability": "Very Low", "rate": "0.1 per 1000", "cpk": ">= 1.50"},
    1: {"probability": "Remote", "rate": "<= 0.01 per 1000", "cpk": ">= 1.67"}
}

4. Detection Rating Guide

DETECTION_RATINGS = {
    10: {
        "likelihood": "Almost Impossible",
        "description": "No known controls to detect failure mode",
        "criteria": "Cannot detect or not checked"
    },
    9: {
        "likelihood": "Very Remote",
        "description": "Controls probably will not detect",
        "criteria": "Control achieved with indirect or random checks only"
    },
    8: {
        "likelihood": "Remote",
        "description": "Controls have poor chance of detection",
        "criteria": "Control achieved with visual inspection only"
    },
    7: {
        "likelihood": "Very Low",
        "description": "Controls have poor chance of detection",
        "criteria": "Control achieved with double visual inspection"
    },
    6: {
        "likelihood": "Low",
        "description": "Controls may detect",
        "criteria": "Control achieved with charting methods (SPC)"
    },
    5: {
        "likelihood": "Moderate",
        "description": "Controls may detect",
        "criteria": "Control based on variable gauging after parts leave station"
    },
    4: {
        "likelihood": "Moderately High",
        "description": "Controls have good chance to detect",
        "criteria": "Error detection in subsequent operations"
    },
    3: {
        "likelihood": "High",
        "description": "Controls have good chance to detect",
        "criteria": "Error detection at station (gauging)"
    },
    2: {
        "likelihood": "Very High",
        "description": "Controls almost certain to detect",
        "criteria": "Error detection at station (automatic gauging)"
    },
    1: {
        "likelihood": "Almost Certain",
        "description": "Controls certain to detect",
        "criteria": "Error proofing - cannot produce discrepant part"
    }
}

5. AIAG-VDA Action Priority (AP)

def calculate_action_priority(severity, occurrence, detection):
    """
    Calculate Action Priority per AIAG-VDA FMEA handbook

    Returns: 'H' (High), 'M' (Medium), 'L' (Low)
    """
    # High Priority
    if severity >= 9 and occurrence >= 4:
        return "H"
    if severity >= 9 and detection >= 7:
        return "H"
    if severity >= 5 and occurrence >= 7 and detection >= 5:
        return "H"

    # Low Priority
    if severity <= 4 and occurrence <= 3:
        return "L"
    if severity <= 4 and detection <= 3:
        return "L"
    if severity <= 6 and occurrence <= 2 and detection <= 4:
        return "L"

    # Medium Priority (default)
    return "M"

def get_ap_table():
    """
    Return AP lookup table summary
    """
    return {
        "H": {
            "description": "High Priority",
            "action": "Required - Must take action to improve controls",
            "review": "Management attention required"
        },
        "M": {
            "description": "Medium Priority",
            "action": "Recommended - Should take action to improve controls",
            "review": "Team decision"
        },
        "L": {
            "description": "Low Priority",
            "action": "Optional - May take action to improve controls",
            "review": "Team discretion"
        }
    }

6. FMEA Analysis and Reporting

def analyze_fmea(fmea: FMEA):
    """
    Analyze FMEA and generate summary report
    """
    analysis = {
        "total_failure_modes": len(fmea.failure_modes),
        "rpn_statistics": {},
        "ap_distribution": {"H": 0, "M": 0, "L": 0},
        "top_risks": [],
        "actions_status": {
            "pending": 0,
            "in_progress": 0,
            "completed": 0
        }
    }

    rpns = [fm.rpn for fm in fmea.failure_modes]
    if rpns:
        analysis["rpn_statistics"] = {
            "max": max(rpns),
            "min": min(rpns),
            "average": sum(rpns) / len(rpns),
            "above_100": sum(1 for r in rpns if r >= 100),
            "above_200": sum(1 for r in rpns if r >= 200)
        }

    # AP distribution
    for fm in fmea.failure_modes:
        ap = calculate_action_priority(fm.severity, fm.occurrence, fm.detection)
        analysis["ap_distribution"][ap] += 1

    # Top risks (by RPN)
    sorted_fms = sorted(fmea.failure_modes, key=lambda x: x.rpn, reverse=True)
    analysis["top_risks"] = [
        {
            "id": fm.id,
            "failure_mode": fm.potential_failure_mode,
            "rpn": fm.rpn,
            "severity": fm.severity,
            "occurrence": fm.occurrence,
            "detection": fm.detection,
            "ap": calculate_action_priority(fm.severity, fm.occurrence, fm.detection)
        }
        for fm in sorted_fms[:10]
    ]

    # Actions status
    for fm in fmea.failure_modes:
        if fm.actions_taken:
            analysis["actions_status"]["completed"] += 1
        elif fm.recommended_actions:
            analysis["actions_status"]["in_progress"] += 1
        else:
            analysis["actions_status"]["pending"] += 1

    return analysis

def generate_control_plan_items(fmea: FMEA):
    """
    Generate control plan items from FMEA
    """
    control_items = []

    for fm in fmea.failure_modes:
        for control in fm.current_controls_prevention + fm.current_controls_detection:
            control_items.append({
                "process_step": fm.item_function,
                "characteristic": fm.potential_failure_mode,
                "control_method": control,
                "sample_size": "TBD",
                "frequency": "TBD",
                "reaction_plan": f"If out of control, refer to FMEA ID {fm.id}"
            })

    return control_items

Process Integration

This skill integrates with the following processes:

  • failure-mode-effects-analysis.js
  • root-cause-analysis-investigation.js
  • statistical-process-control-implementation.js

Output Format

{
  "fmea_summary": {
    "type": "PFMEA",
    "item": "Assembly Process",
    "revision": "1.2",
    "total_failure_modes": 45
  },
  "risk_analysis": {
    "high_priority_count": 8,
    "medium_priority_count": 22,
    "low_priority_count": 15,
    "max_rpn": 392,
    "avg_rpn": 112
  },
  "top_risks": [
    {
      "failure_mode": "Missing fastener",
      "rpn": 392,
      "ap": "H",
      "recommended_action": "Add vision system verification"
    }
  ],
  "actions_required": 12
}

Best Practices

  1. Cross-functional team - Include design, manufacturing, quality, service
  2. Start early - Begin FMEA during design phase
  3. Focus on prevention - Prioritize prevention over detection
  4. Living document - Update FMEA when process changes
  5. Use AP not just RPN - Consider AIAG-VDA AP methodology
  6. Track actions - Close the loop on recommended actions

Constraints

  • Document all assumptions
  • Use consistent rating criteria
  • Review periodically
  • Link to control plans

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 1,796
本站分层T1
该仓技能数2115
原文件路径library/specializations/domains/science/industrial-engineering/skills/fmea-facilitator/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 2115 个技能

同名技能的其他版本

有 2 个不同仓库或目录里都有叫 fmea-facilitator 的技能。它们内容并不相同,别混用:

  • a5c-ai/babysitter — Failure Mode and Effects Analysis facilitation skill for products and processes with risk