用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/a5c-ai/babysitter --skill kaizen-event-facilitator命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Reference for querying the Atlas knowledge graph through its MCP tools — the SECONDARY enrichment/comparison layer that adds best-practice context to systems you have ALREADY scanned from your real sources (`az`, repos, dirs). Use when you need to look up nodes, edges, kinds, clusters, stats, or wiki pages in Atlas to compare against your real inventory. (atlas graph, query atlas, atlas mcp, search the graph, graph neighbors, atlas record, atlas kinds, enrichment layer)
Atlas turns your STATED NEED into a real systems atlas by SCANNING your actual sources (Azure via `az`, git repos, local dirs) and process/data mining them, THEN enriching against the Atlas knowledge graph. Use this skill when asked to inventory/map your real systems, scan your cloud + repos + directories, mine the real processes or data they contain, or collect their real constraints/gotchas. (atlas, scan my systems, inventory our azure account, map my repos, real systems atlas, process mining, data mining, collect nuances, system discovery)
This skill should be used when the user asks to "find skills in the wild", "assimilate popular workflows", "discover SKILL.md files in repos", "research external skills", "find workflow patterns", "survey the skill landscape", "what skills exist out there", or wants to investigate public repositories for extractable processes, babysitter plugins, and reusable procedural insights. Searches GitHub for SKILL.md files, classifies repos by archetype, and maintains structured research under docs/reference-repos/.
正在显示 SKILL.md
基于 SOC 职业分类
| name | kaizen-event-facilitator |
| description | Kaizen event facilitation skill for rapid improvement workshops and action planning. |
| allowed-tools | Bash(*) Read Write Edit Glob Grep WebFetch |
| metadata | {"author":"babysitter-sdk","version":"1.0.0","category":"continuous-improvement","backlog-id":"SK-IE-039"} |
| graph | {"domains":["domain:industrial-engineering"],"skillAreas":["skill-area:statistical-analysis","skill-area:organizational-design","skill-area:data-analysis"],"roles":["role:operations-analyst","role:research-engineer"]} |
You are kaizen-event-facilitator - a specialized skill for facilitating Kaizen events and rapid improvement workshops.
This skill enables AI-powered Kaizen facilitation including:
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 {}
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': []},
: {: , : , : []}
}
categorized = []
obs observations:
category = categorize_waste(obs[])
obs[] = category
waste_categories[category][].append(obs)
categorized.append(obs)
summary = []
code, waste waste_categories.items():
waste[]:
summary.append({
: code,
: waste[],
: (waste[]),
: ( e waste[] e.get() == )
})
summary.sort(key= x: x[], reverse=)
{
: waste_categories,
: categorized,
: summary,
: (observations),
: summary[] summary
}
():
desc_lower = description.lower()
(w desc_lower w [, , , ]):
desc_lower
(w desc_lower w [, , , ]):
(w desc_lower w [, , , ]):
(w desc_lower w [, , , , ]):
(w desc_lower w [, , ]):
(w desc_lower w [, , ]):
(w desc_lower w [, , , ]):
:
def create_action_plan(improvements: List[Dict], event_end_date: datetime):
"""
Create structured action plan from improvements
improvements: list of {'description': str, 'owner': str, 'priority': str, 'effort': str}
"""
actions = []
for i, imp in enumerate(improvements):
# Determine timeline based on effort
if imp['effort'] == 'just_do_it':
due_date = event_end_date
category = 'Do During Event'
elif imp['effort'] == 'short_term':
due_date = event_end_date + timedelta(days=30)
category = '30-Day Action'
elif imp['effort'] == 'medium_term':
due_date = event_end_date + timedelta(days=90)
category = '90-Day Action'
else:
due_date = event_end_date + timedelta(days=180)
category = 'Long-Term Initiative'
actions.append({
'id': f'A{i+1:03d}',
'description': imp['description'],
'owner': imp['owner'],
'priority': imp['priority'],
'category': category,
'due_date': due_date.strftime('%Y-%m-%d'),
'status': 'Not Started',
: ,
: imp.get(, ),
: imp.get(, )
})
by_category = {}
action actions:
cat = action[]
cat by_category:
by_category[cat] = []
by_category[cat].append(action)
{
: actions,
: by_category,
: {
: (actions),
: (by_category.get(, [])),
: (by_category.get(, [])),
: (by_category.get(, [])),
: (by_category.get(, []))
}
}
def track_kaizen_results(baseline: Dict, current: Dict, targets: Dict):
"""
Track Kaizen event results against baseline and targets
"""
results = []
for metric, baseline_value in baseline.items():
target_value = targets.get(metric, baseline_value)
current_value = current.get(metric, baseline_value)
# Calculate improvements
if baseline_value != 0:
improvement_pct = (baseline_value - current_value) / baseline_value * 100
target_improvement_pct = (baseline_value - target_value) / baseline_value * 100
else:
improvement_pct = 0
target_improvement_pct = 0
# Check if target met
better_is_lower = target_value < baseline_value
if better_is_lower:
target_met = current_value <= target_value
else:
target_met = current_value >= target_value
results.append({
'metric': metric,
'baseline': baseline_value,
'target': target_value,
'current': current_value,
'improvement_percent': round(improvement_pct, 1),
'target_improvement_percent': round(target_improvement_pct, 1),
'target_met': target_met,
'status': 'green' if target_met else 'yellow' if abs(improvement_pct) > 0
})
targets_met = ( r results r[])
{
: results,
: {
: (results),
: targets_met,
: (targets_met / (results) * , ) results
}
}
def create_standard_work(process_steps: List[Dict], takt_time: float,
cycle_time: float, work_in_process: int = 1):
"""
Create standard work documentation
process_steps: list of {'step': int, 'description': str, 'time': float, 'key_points': list}
"""
# Calculate totals
total_time = sum(s['time'] for s in process_steps)
manual_time = sum(s['time'] for s in process_steps if not s.get('machine_time', False))
walk_time = sum(s.get('walk_time', 0) for s in process_steps)
# Standard work elements
standard_work = {
'header': {
'process_name': '', # To be filled
'takt_time': takt_time,
'cycle_time': cycle_time,
'operators': 1,
'standard_wip': work_in_process
},
'time_summary': {
'total_cycle_time': round(total_time, 1),
'manual_time': round(manual_time, 1),
'walk_time': round(walk_time, ),
: (takt_time - cycle_time, )
},
: [],
: [],
: []
}
cumulative =
step process_steps:
cumulative += step[]
standard_work[].append({
: step[],
: step[],
: step[],
: cumulative,
: step.get(, []),
: step.get(, )
})
kp step.get(, []):
kp.lower() kp.lower():
standard_work[].append({: step[], : kp})
kp.lower() kp.lower():
standard_work[].append({: step[], : kp})
standard_work
():
combination = {
: takt_time,
: []
}
op operators:
op_data = {
: op[],
: op[],
: (t.get(, ) t op[]),
: (t.get(, ) t op[]),
: (t.get(, ) t op[]),
: (t.get(, ) + t.get(, ) + t.get(, ) t op[])
}
op_data[] = (op_data[] / takt_time * , )
combination[].append(op_data)
combination
def assess_sustainability(event_id: str, days_since_event: int,
audit_findings: List[Dict]):
"""
Assess sustainability of Kaizen improvements
"""
categories = {
'standard_work_adherence': [],
'metrics_maintained': [],
'visual_management': [],
'employee_engagement': [],
'system_support': []
}
for finding in audit_findings:
cat = finding.get('category', 'standard_work_adherence')
if cat in categories:
categories[cat].append(finding)
# Score each category
scores = {}
for cat, findings in categories.items():
if findings:
positive = sum(1 for f in findings if f.get('status') == 'maintained')
scores[cat] = round(positive / len(findings) * 100, 1)
else:
scores[cat] = None
# Overall sustainability score
valid_scores = [s for s in scores.values() if s is not None]
overall = round(sum(valid_scores) / len(valid_scores), ) valid_scores
{
: event_id,
: days_since_event,
: scores,
: overall,
: overall >= overall >= ,
: categories,
: generate_sustainability_recommendations(scores, overall)
}
():
recommendations = []
scores.get(, ) < :
recommendations.append()
scores.get(, ) < :
recommendations.append()
scores.get(, ) < :
recommendations.append()
overall < :
recommendations.append()
recommendations
This skill integrates with the following processes:
kaizen-event-execution.jscontinuous-improvement-program.jsstandard-work-development.js{
"event_plan": {
"title": "Assembly Cell Improvement",
"duration": "5 days",
"objectives": ["Reduce cycle time 20%", "Eliminate 3 wastes"]
},
"waste_identification": {
"total_identified": 15,
"top_category": "Motion",
"high_impact": 5
},
"action_plan": {
"total_actions": 22,
"during_event": 8,
"30_day": 10,
"90_day": 4
},
"results"