Fishbone Diagram

by ddunnock

skill

Create comprehensive Fishbone (Ishikawa/Cause-and-Effect) diagrams for structured root cause brainstorming. Guides teams through problem definition, category selection (6Ms, 8Ps, 4Ss, or custom), cause identification, sub-cause drilling, prioritization via multi-voting, and 5 Whys integration. Generates visual SVG diagrams and professional HTML reports. Use when brainstorming potential causes, conducting root cause analysis, facilitating quality improvement sessions, analyzing defects or failure

Skill Details

Repository Files

15 files in this skill directory


name: fishbone-diagram description: Create comprehensive Fishbone (Ishikawa/Cause-and-Effect) diagrams for structured root cause brainstorming. Guides teams through problem definition, category selection (6Ms, 8Ps, 4Ss, or custom), cause identification, sub-cause drilling, prioritization via multi-voting, and 5 Whys integration. Generates visual SVG diagrams and professional HTML reports. Use when brainstorming potential causes, conducting root cause analysis, facilitating quality improvement sessions, analyzing defects or failures, structuring team problem-solving, or when user mentions "fishbone", "Ishikawa", "cause and effect diagram", "6Ms", "cause analysis", or "brainstorming causes". tools: Read, Bash model: sonnet color: green field: quality expertise: intermediate

Fishbone Diagram (Ishikawa) Analysis

Create structured cause-and-effect diagrams to systematically identify potential root causes of problems. This skill guides collaborative brainstorming, ensures comprehensive category coverage, and produces visual outputs.

Integration with Other RCCA Tools

The Fishbone Diagram provides breadth (identifying all possible causes across categories), while 5 Whys provides depth (drilling into specific causes). Typical workflow:

  1. Use Fishbone to brainstorm and categorize all potential causes
  2. Prioritize top 2-3 causes via multi-voting
  3. Apply 5 Whys to each prioritized cause to find root causes

Also integrates with: Pareto Analysis (prioritize by frequency/impact), FMEA (risk assessment), 8D (Problem Definition phase).

Workflow Overview

6 Phases (Q&A-driven):

  1. Problem Definition → Clear, specific effect statement
  2. Category Selection → Choose framework (6Ms/8Ps/4Ss/custom)
  3. Cause Brainstorming → Identify causes under each category
  4. Sub-cause Drilling → Add 2-3 levels of detail
  5. Prioritization → Multi-voting to identify top causes
  6. Documentation → Generate diagram and report

Phase 1: Problem Definition

Goal: Establish a clear, specific, measurable problem statement.

Ask the user:

What specific problem or effect are you trying to analyze?

A good problem statement is:

  • Specific: "Machine 4 overheated at 2 PM" not "Machine broke"
  • Measurable: Include quantities, frequencies, or timeframes when possible
  • Observable: Describes what happened, not why
  • Non-blaming: Focus on the situation, not individuals

Quality Gate: Problem statement must:

  • Describe observable effect (not assumed cause)
  • Be specific enough to guide focused analysis
  • Avoid embedding solutions or blame

If vague, ask: "Can you be more specific about [what/when/where/how much]?"

Phase 2: Category Selection

Goal: Select appropriate cause categories for the analysis context.

Present options:

Which category framework fits your analysis context?

6Ms (Manufacturing/Operations):

  • Man (People), Machine, Method, Material, Measurement, Mother Nature (Environment)

8Ps (Service/Marketing):

  • Product, Price, Place, Promotion, People, Process, Physical Evidence, Policies

4Ss (Service Operations):

  • Surroundings, Suppliers, Systems, Skills

Custom: Define your own categories based on your specific domain

Or describe your context and I'll recommend an appropriate framework.

For detailed category definitions and prompting questions, see: references/category-frameworks.md

Phase 3: Cause Brainstorming

Goal: Generate comprehensive list of potential causes under each category.

For each category, ask:

Under [Category], what factors might contribute to "[Problem]"?

Think about:

  • What could go wrong in this area?
  • What variations or inconsistencies exist?
  • What has changed recently?

Facilitation techniques (see references/facilitation-guide.md):

  • Round-robin: Each participant contributes one cause, rotate until exhausted
  • Brainwriting: Silent individual brainstorming on sticky notes before discussion
  • Affinity grouping: Cluster related causes together
  • "Why does this happen?": Probe each cause for deeper understanding

Quality indicators:

  • Minimum 2-3 causes per category (empty categories may indicate blind spots)
  • Mix of obvious and non-obvious causes
  • Causes should be distinct (not restating the problem)

Phase 4: Sub-cause Drilling

Goal: Add depth to major causes with 2-3 levels of sub-causes.

For significant causes, ask:

For the cause "[Cause]", what specific factors contribute to it?

Ask "Why might this happen?" to uncover sub-causes.

Depth guidance:

  • Level 1: Direct causes (e.g., "Equipment malfunction")
  • Level 2: Contributing factors (e.g., "Lack of maintenance")
  • Level 3: Root-level factors (e.g., "No maintenance schedule defined")

Typically 2-3 levels is sufficient. If more depth needed, transition to 5 Whys analysis.

Phase 5: Prioritization

Goal: Identify most likely/impactful causes for focused investigation.

Present prioritization options:

How would you like to prioritize the identified causes?

Multi-voting (Recommended): Each participant gets 3 votes to place on causes they believe are most significant

Impact-Effort Matrix: Rate each cause by impact (if addressed) and effort (to investigate/fix)

Data-driven: Use existing data to identify most frequent/costly causes (Pareto)

Consensus: Team discussion to agree on top 3-5 causes

After prioritization:

The top prioritized causes are:

  1. [Cause 1] - [votes/score]
  2. [Cause 2] - [votes/score]
  3. [Cause 3] - [votes/score]

Would you like to apply 5 Whys analysis to drill deeper into any of these?

Phase 6: Documentation

Goal: Generate visual diagram and comprehensive report.

Ask:

Ready to generate documentation. Options:

  1. SVG Diagram - Visual fishbone diagram
  2. HTML Report - Complete analysis with diagram, findings, and recommendations
  3. Both - Full documentation package
  4. JSON Export - Structured data for integration with other tools

Scripts:

  • scripts/generate_diagram.py - Creates SVG fishbone visualization
  • scripts/generate_report.py - Creates HTML report with embedded diagram
  • scripts/export_data.py - Exports analysis data as JSON

Common Pitfalls

See references/common-pitfalls.md for detailed pitfall descriptions and redirection strategies.

Quick reference:

  1. Vague problem statement → Ask for specifics (what/when/where/how much)
  2. Stopping at symptoms → Probe with "Why might this happen?"
  3. Empty categories → Use category-specific prompting questions
  4. Person-blame → Redirect to "What process/system allowed this?"
  5. Groupthink → Use brainwriting before group discussion
  6. Confirmation bias → Challenge assumptions, seek contrary evidence
  7. Too shallow → Add sub-cause levels
  8. Too complex → Consider splitting into multiple diagrams

Quality Assessment

Rate the analysis on these dimensions (see references/quality-rubric.md):

Dimension Weight Description
Problem Clarity 15% Specific, measurable, non-blaming
Category Coverage 20% All relevant categories explored
Cause Depth 25% 2-3 levels of sub-causes
Cause Quality 20% Distinct, actionable, evidence-based
Prioritization 10% Clear method, justified rankings
Documentation 10% Complete, visual, shareable

Scoring: Use scripts/score_analysis.py to calculate quality score.

Examples

See references/examples.md for worked examples:

  1. Manufacturing defect analysis (6Ms)
  2. Customer service complaint (8Ps)
  3. Healthcare incident (4Ss)
  4. Software deployment failure (Custom)

Related Skills

Attack Tree Construction

Build comprehensive attack trees to visualize threat paths. Use when mapping attack scenarios, identifying defense gaps, or communicating security risks to stakeholders.

skill

Grafana Dashboards

Create and manage production Grafana dashboards for real-time visualization of system and application metrics. Use when building monitoring dashboards, visualizing metrics, or creating operational observability interfaces.

skill

Matplotlib

Foundational plotting library. Create line plots, scatter, bar, histograms, heatmaps, 3D, subplots, export PNG/PDF/SVG, for scientific visualization and publication figures.

skill

Scientific Visualization

Create publication figures with matplotlib/seaborn/plotly. Multi-panel layouts, error bars, significance markers, colorblind-safe, export PDF/EPS/TIFF, for journal-ready scientific plots.

skill

Seaborn

Statistical visualization. Scatter, box, violin, heatmaps, pair plots, regression, correlation matrices, KDE, faceted plots, for exploratory analysis and publication figures.

skill

Shap

Model interpretability and explainability using SHAP (SHapley Additive exPlanations). Use this skill when explaining machine learning model predictions, computing feature importance, generating SHAP plots (waterfall, beeswarm, bar, scatter, force, heatmap), debugging models, analyzing model bias or fairness, comparing models, or implementing explainable AI. Works with tree-based models (XGBoost, LightGBM, Random Forest), deep learning (TensorFlow, PyTorch), linear models, and any black-box model

skill

Pydeseq2

Differential gene expression analysis (Python DESeq2). Identify DE genes from bulk RNA-seq counts, Wald tests, FDR correction, volcano/MA plots, for RNA-seq analysis.

skill

Query Writing

For writing and executing SQL queries - from simple single-table queries to complex multi-table JOINs and aggregations

skill

Pydeseq2

Differential gene expression analysis (Python DESeq2). Identify DE genes from bulk RNA-seq counts, Wald tests, FDR correction, volcano/MA plots, for RNA-seq analysis.

skill

Scientific Visualization

Meta-skill for publication-ready figures. Use when creating journal submission figures requiring multi-panel layouts, significance annotations, error bars, colorblind-safe palettes, and specific journal formatting (Nature, Science, Cell). Orchestrates matplotlib/seaborn/plotly with publication styles. For quick exploration use seaborn or plotly directly.

skill

Skill Information

Category:Skill
Last Updated:1/31/2026