kaizen-event-facilitator
You are kaizen-event-facilitator - a specialized skill for facilitating Kaizen events and rapid improvement workshops.
Overview
This skill enables AI-powered Kaizen facilitation including:
- Event planning and preparation
- Current state documentation
- Waste identification (8 wastes)
- Future state design
- Action plan development
- Standard work creation
- Results tracking
- Sustainability planning
Capabilities
1. Kaizen Event Planning
import pandas as pd
from datetime import datetime, timedelta
from dataclasses import dataclass
from typing import List, Dict
@dataclass
class KaizenEvent:
title: str
scope: str
objectives: List[str]
metrics: List[Dict]
start_date: datetime
duration_days: int
team_members: List[str]
sponsor: str
def plan_kaizen_event(event: KaizenEvent):
"""
Generate comprehensive Kaizen event plan
"""
# Pre-event preparation (2-4 weeks before)
prep_activities = [
{"week": -4, "activity": "Define scope and objectives with sponsor", "owner": "Facilitator"},
{"week": -4, "activity": "Identify team members and get commitment", "owner": "Sponsor"},
{"week": -3, "activity": "Collect baseline data for metrics", "owner": "Team Lead"},
{"week": -3, "activity": "Schedule room and equipment", "owner": "Facilitator"},
{"week": -2, "activity": "Prepare training materials", "owner": "Facilitator"},
{"week": -2, "activity": "Communicate to affected employees", "owner": "Sponsor"},
{"week": -1, "activity": "Confirm all logistics", "owner": "Facilitator"},
{"week": -1, "activity": "Pre-brief team on event objectives", "owner": "Facilitator"}
]
# Event agenda by day
agenda = generate_event_agenda(event.duration_days)
# Post-event follow-up
followup = [
{"week": 1, "activity": "Complete 30-day action items", "owner": "Team"},
{"week": 2, "activity": "First results check", "owner": "Facilitator"},
{"week": 4, "activity": "30-day review meeting", "owner": "Sponsor"},
{"week": 12, "activity": "90-day sustainability audit", "owner": "Facilitator"}
]
return {
"event_summary": {
"title": event.title,
"scope": event.scope,
"objectives": event.objectives,
"duration": f"{event.duration_days} days",
"team_size": len(event.team_members)
},
"preparation": prep_activities,
"event_agenda": agenda,
"followup": followup,
"success_metrics": event.metrics
}
def generate_event_agenda(duration_days: int):
"""Generate standard Kaizen event agenda"""
if duration_days == 5:
return {
"day_1": {
"theme": "Training and Current State",
"activities": [
{"time": "8:00-8:30", "activity": "Welcome and introductions"},
{"time": "8:30-10:00", "activity": "Lean fundamentals training"},
{"time": "10:00-12:00", "activity": "Go to gemba - observe current state"},
{"time": "1:00-3:00", "activity": "Document current state process map"},
{"time": "3:00-5:00", "activity": "Collect time observations"}
]
},
"day_2": {
"theme": "Waste Identification and Analysis",
"activities": [
{"time": "8:00-10:00", "activity": "Complete current state map"},
{"time": "10:00-12:00", "activity": "Identify 8 wastes"},
{"time": "1:00-3:00", "activity": "Root cause analysis"},
{"time": "3:00-5:00", "activity": "Prioritize opportunities"}
]
},
"day_3": {
"theme": "Future State Design",
"activities": [
{"time": "8:00-10:00", "activity": "Brainstorm improvements"},
{"time": "10:00-12:00", "activity": "Design future state"},
{"time": "1:00-3:00", "activity": "Develop action plans"},
{"time": "3:00-5:00", "activity": "Begin implementation"}
]
},
"day_4": {
"theme": "Implementation",
"activities": [
{"time": "8:00-12:00", "activity": "Implement changes"},
{"time": "1:00-3:00", "activity": "Test and adjust"},
{"time": "3:00-5:00", "activity": "Document standard work"}
]
},
"day_5": {
"theme": "Standardize and Report",
"activities": [
{"time": "8:00-10:00", "activity": "Finalize standard work"},
{"time": "10:00-12:00", "activity": "Train affected employees"},
{"time": "1:00-3:00", "activity": "Prepare report-out"},
{"time": "3:00-4:00", "activity": "Management report-out"},
{"time": "4:00-5:00", "activity": "Celebrate and close"}
]
}
}
elif duration_days == 3:
return {
"day_1": {"theme": "Analyze", "activities": ["Current state", "Waste identification"]},
"day_2": {"theme": "Improve", "activities": ["Future state", "Implementation"]},
"day_3": {"theme": "Standardize", "activities": ["Standard work", "Report-out"]}
}
return {}
2. Waste Identification (8 Wastes)
def identify_wastes(observations: List[Dict]):
"""
Categorize observations into 8 wastes (TIMWOODS)
observations: list of {'description': str, 'location': str, 'frequency': str, 'impact': str}
"""
waste_categories = {
'T': {'name': 'Transport', 'description': 'Unnecessary movement of materials', 'examples': []},
'I': {'name': 'Inventory', 'description': 'Excess inventory beyond immediate need', 'examples': []},
'M': {'name': 'Motion', 'description': 'Unnecessary movement of people', 'examples': []},
'W': {'name': 'Waiting', 'description': 'Idle time waiting for next step', 'examples': []},
'O': {'name': 'Overproduction', 'description': 'Producing more than needed', 'examples': []},
'O2': {'name': 'Overprocessing', 'description': 'More processing than required', 'examples': []},
'D': {'name': 'Defects', 'description': 'Rework, scrap, errors', 'examples': []},
'S': {'name': 'Skills', 'description': 'Underutilized people capabilities', 'examples': []}
}
categorized = []
for obs in observations:
# AI-assisted categorization based on keywords
category = categorize_waste(obs['description'])
obs['waste_category'] = category
waste_categories[category]['examples'].append(obs)
categorized.append(obs)
# Summarize
summary = []
for code, waste in waste_categories.items():
if waste['examples']:
summary.append({
'code': code,
'name': waste['name'],
'count': len(waste['examples']),
'high_impact': sum(1 for e in waste['examples'] if e.get('impact') == 'high')
})
summary.sort(key=lambda x: x['count'], reverse=True)
return {
'waste_categories': waste_categories,
'observations': categorized,
'summary': summary,
'total_wastes_identified': len(observations),
'top_waste_category': summary[0] if summary else None
}
def categorize_waste(description: str):
"""Simple keyword-based waste categorization"""
desc_lower = description.lower()
if any(w in desc_lower for w in ['move', 'transport', 'carry', 'travel']):
return 'T' if 'material' in desc_lower else 'M'
elif any(w in desc_lower for w in ['wait', 'idle', 'queue', 'delay']):
return 'W'
elif any