Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Automotive Sotif Audit expertise. Covers 1 topics: Sotif Audit.
.claude/skills/pangzhenying2025-automotive-sotif-audit/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 53% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 13% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 7% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 143% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 84% | 0% |
Systematic audit and assessment framework for evaluating SOTIF (ISO 21448) implementation maturity across the product development lifecycle. Provides audit checklists, maturity models, and gap assessment tools for ADAS/ADS projects.
SOTIF实施成熟度模型(5级)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Level 1: Initial (初始级)
├── 无系统性SOTIF流程
├── 依赖个人经验识别风险
├── 测试以功能验证为主
└── 无SOTIF专项文档
Level 2: Managed (管理级)
├── 基本SOTIF分析流程建立
├── 触发条件清单初步建立
├── 部分场景覆盖仿真
├── SOTIF角色分配
└── 基础文档体系
Level 3: Defined (定义级)
├── 完整SOTIF流程贯穿V模型
├── 系统化触发条件识别方法
├── 场景库建立(>500场景)
├── 量化覆盖度指标
├── 跨部门协作机制
└── 与功能安全/网络安全集成
Level 4: Quantitatively Managed (量化管理级)
├── 基于数据的残余风险量化
├── 自然驾驶数据驱动场景扩展
├── 持续监控与闭环反馈
├── 仿真-实车-运营数据链路
└── 预测性风险评估
Level 5: Optimizing (优化级)
├── AI辅助场景发现
├── 持续学习与自适应安全
├── 行业基准对标
├── 前瞻性标准影响
└── 跨OEM经验共享
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━markdown## SOTIF Specification & Design Audit ### 5. Functional and System Specification - [ ] System functions clearly defined with intended behavior - [ ] ODD boundaries explicitly specified - [ ] Performance limitations documented per sensor/algorithm - [ ] Known functional insufficiencies identified - [ ] System architecture supports SOTIF analysis ### 6. Identification of Triggering Conditions & Hazardous Behaviors - [ ] Systematic method for triggering condition identification (STPA/HAZOP/brainstorming) - [ ] Triggering conditions categorized by source (sensor/algorithm/human/infrastructure) - [ ] Functional insufficiency chain analysis (TC → FI → HB → Harm) - [ ] Severity/Exposure/Controllability assessment per hazardous behavior - [ ] Coverage of China-specific triggering conditions (if applicable) - [ ] Triggering condition catalog maintained and version-controlled ### 7. Evaluation of Known Hazardous Scenarios - [ ] Hazardous scenario catalog established - [ ] Risk assessment performed (S/E/C or similar) - [ ] Acceptance criteria defined for residual risk - [ ] Scenarios prioritized for V&V - [ ] Traceability from TC to test cases
markdown## SOTIF Design Measures Audit ### 8. Functional Modifications to Reduce Risk - [ ] Design measures identified for each known hazardous scenario - [ ] Sensor fusion strategy addresses individual sensor limitations - [ ] Algorithm robustness measures (redundancy, plausibility checks) - [ ] ODD monitoring and graceful degradation implemented - [ ] DMS integration for human factor mitigation - [ ] Effectiveness of measures verified (before/after risk comparison) ### 9. Risk Evaluation of Residual Scenarios - [ ] Residual risk quantification method defined - [ ] Acceptance criteria for residual risk established - [ ] Comparison with societal acceptance levels - [ ] Statistical evidence for residual risk claims - [ ] Gap between required and achieved evidence documented
markdown## SOTIF V&V Audit ### 10. Verification of Known Scenarios - [ ] Simulation test plan for known hazardous scenarios - [ ] Simulation platform qualified (model validation) - [ ] Track test plan with scenario coverage mapping - [ ] Public road test plan with exposure tracking - [ ] Pass/fail criteria defined per scenario - [ ] Test coverage metrics tracked and reported - [ ] Failed scenarios → design iteration loop documented ### 11. Validation of Unknown Scenarios - [ ] Strategy for discovering unknown unsafe scenarios - [ ] Naturalistic driving data analysis methodology - [ ] Exploratory testing methods (fuzzing, adversarial testing) - [ ] Field monitoring and incident analysis process - [ ] Statistical argument for absence of unreasonable risk - [ ] Confidence level in residual risk assessment
markdown## SOTIF Operations Audit ### 12. Post-Development Activities - [ ] Field monitoring system deployed - [ ] Incident reporting and analysis process - [ ] Near-miss detection capability - [ ] OTA update process for SOTIF improvements - [ ] Customer complaint analysis for SOTIF issues - [ ] Periodic SOTIF reassessment trigger criteria - [ ] Regulatory reporting compliance (if applicable)
python# SOTIF Audit Scoring audit_categories = { "specification": { "weight": 0.20, "items": [ ("Function specification completeness", 10), ("ODD definition clarity", 10), ("Performance limitation documentation", 10), ], }, "hazard_identification": { "weight": 0.25, "items": [ ("Triggering condition identification method", 10), ("TC catalog completeness", 10), ("Hazardous behavior analysis depth", 10), ("Risk assessment quality", 10), ], }, "design_measures": { "weight": 0.20, "items": [ ("Measure effectiveness", 10), ("Residual risk quantification", 10), ("Acceptance criteria appropriateness", 10), ], }, "verification_validation": { "weight": 0.25, "items": [ ("Simulation test coverage", 10), ("Track test execution", 10), ("Public road evidence", 10), ("Unknown scenario exploration", 10), ], }, "operations": { "weight": 0.10, "items": [ ("Field monitoring", 10), ("Incident analysis process", 10), ("Continuous improvement", 10), ], }, } def calculate_sotif_score(scores: dict) -> dict: """Calculate weighted SOTIF audit score""" category_scores = {} total = 0 for cat, config in audit_categories.items(): max_points = sum(item[1] for item in config["items"]) actual = sum(scores.get(cat, {}).get(item[0], 0) for item in config["items"]) pct = actual / max_points * 100 category_scores[cat] = pct total += pct * config["weight"] return { "category_scores": category_scores, "total_score": total, "maturity_level": ( 5 if total >= 90 else 4 if total >= 75 else 3 if total >= 60 else 2 if total >= 40 else 1 ), }
常见SOTIF审核发现
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Finding 1: ODD定义不充分
├── 问题:ODD仅列出道路类型,未定义环境/天气/基础设施边界
└── 建议:使用6层场景模型系统定义ODD
Finding 2: 触发条件识别不系统
├── 问题:依赖头脑风暴,缺少系统方法
└── 建议:采用STPA+HAZOP+历史事故分析组合方法
Finding 3: 仿真与实车测试脱节
├── 问题:仿真场景与实车测试场景不对应
└── 建议:建立统一场景库,仿真-实车-数据三位一体
Finding 4: 残余风险论证不足
├── 问题:缺少定量证据支撑"风险可接受"结论
└── 建议:基于自然驾驶暴露数据量化残余风险
Finding 5: 未知不安全场景探索缺失
├── 问题:仅测试已知场景,未探索未知风险
└── 建议:引入NDD分析、对抗测试、随机化测试
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━automotive-sotif-hazard-scenario — Scenario identification methodologyautomotive-sotif-highway-testing — Highway SOTIF testing specificsiso-26262-overview — Functional safety baseline| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 13,611 | 15,526 | +14% | 1 | 1 | 0% | 3,237 | 4,961 | +53% | 0 | 0 | — |
case-02 | pass→pass | 22,838 | 29,095 | +27% | 1 | 1 | 0% | 4,548 | 8,373 | +84% | 0 | 0 | — |
case-03 | fail→pass | 13,307 | 4,639 | -65% | 1 | 1 | 0% | 2,936 | 3,316 | +13% | 0 | 0 | — |
case-04 | fail→pass | 13,098 | 2,477 | -81% | 1 | 1 | 0% | 2,536 | 2,708 | +7% | 0 | 0 | — |
case-05 | pass→pass | 4,783 | 3,540 | -26% | 1 | 1 | 0% | 986 | 2,919 | +196% | 0 | 0 | — |
case-06 | fail→pass | 6,284 | 3,542 | -44% | 1 | 1 | 0% | 1,222 | 2,970 | +143% | 0 | 0 | — |
case-07 | fail→pass | 14,585 | 13,166 | -10% | 1 | 1 | 0% | 2,731 | 5,013 | +84% | 0 | 0 | — |
case-08 | fail→pass | 8,938 | 4,664 | -48% | 1 | 1 | 0% | 1,881 | 3,180 | +69% | 0 | 0 | — |
case-09 | fail→pass | 10,903 | 4,429 | -59% | 1 | 1 | 0% | 2,147 | 3,075 | +43% | 0 | 0 | — |
case-10 | fail→pass | 16,606 | 17,132 | +3% | 1 | 1 | 0% | 3,211 | 5,538 | +72% | 0 | 0 | — |
case-11 | pass→fail | 17,495 | 13,490 | -23% | 1 | 1 | 0% | 3,301 | 4,744 | +44% | 0 | 0 | — |
case-12 | pass→fail | 13,437 | 14,882 | +11% | 1 | 1 | 0% | 2,656 | 5,062 | +91% | 0 | 0 | — |
case-13 | pass→pass | 11,243 | 9,168 | -18% | 1 | 1 | 0% | 2,139 | 3,848 | +80% | 0 | 0 | — |
case-14 | fail→pass | 11,530 | 12,409 | +8% | 1 | 1 | 0% | 2,207 | 4,467 | +102% | 0 | 0 | — |
case-15 | pass→pass | 13,225 | 15,502 | +17% | 1 | 1 | 0% | 2,264 | 4,570 | +102% | 0 | 0 | — |
case-16 | pass→pass | 15,744 | 17,147 | +9% | 1 | 1 | 0% | 2,407 | 5,159 | +114% | 0 | 0 | — |
case-17 | fail→pass | 14,764 | 15,324 | +4% | 1 | 1 | 0% | 2,516 | 4,787 | +90% | 0 | 0 | — |
case-18 | pass→pass | 12,830 | 17,231 | +34% | 1 | 1 | 0% | 2,079 | 5,050 | +143% | 0 | 0 | — |
case-19 | fail→pass | 13,942 | 15,136 | +9% | 1 | 1 | 0% | 2,394 | 4,880 | +104% | 0 | 0 | — |
case-20 | pass→pass | 12,399 | 4,647 | -63% | 1 | 1 | 0% | 2,028 | 2,842 | +40% | 0 | 0 | — |
case-21 | pass→pass | 4,882 | 8,206 | +68% | 1 | 1 | 0% | 962 | 3,631 | +277% | 0 | 0 | — |
case-22 | pass→pass | 11,175 | 13,027 | +17% | 1 | 1 | 0% | 2,461 | 4,756 | +93% | 0 | 0 | — |
case-23 | pass→pass | 18,859 | 28,873 | +53% | 1 | 1 | 0% | 3,900 | 7,884 | +102% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +39 percentage points is the difference between those two pass rates over the 23 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.