Back to Plugins
operations

Safety Incident Automator Plugin

Safety Incident Automator Plugin — Claude plugin

Plugin ID

pf-safety-incident-automator

Category

operations

Version

v1.1

Downloads

34
Try Online

Safety Incident Automator Plugin

Important: All documents generated by this plugin are drafts intended as starting points. Safety incident reports and OSHA documentation should be reviewed by your safety officer or qualified professional before submission. This plugin does not replace required safety training programs.

Overview

pf-safety-incident-automator automates OSHA incident reporting, investigation documentation, 5-Whys root cause analysis, and Form 300/301 generation for safety managers at SMBs (20–150 employees) in manufacturing, construction, and logistics.

Value proposition: Turn scattered, compliance-risky incident documentation into a structured, OSHA-ready workflow — for Included with your subscription. Key features:

  • ✓ Guided incident intake (conversational questionnaire)
  • ✓ OSHA recordability classification (29 CFR 1904.7)
  • ✓ Professional investigation report generation
  • ✓ Structured 5-Whys root cause analysis
  • ✓ Corrective action plan with task assignment
  • ✓ OSHA Form 300 & 301 auto-generation from incident archive

Installation

  1. Install the plugin in Claude Code / Cowork
  2. Select a working folder (this creates a persistent local workspace)
  3. Run /safety:safety-setup to initialize workspace
  4. Start reporting incidents with /safety:safety-report

Canonical Commands

All commands use the safety: prefix. Run any of these in Cowork:

Command Purpose
/safety:safety-setup Initialize workspace (run once)
/safety:safety-report Report a new incident
/safety:safety-classify Determine OSHA recordability
/safety:safety-investigate Generate investigation report
/safety:safety-rca Conduct 5-Whys root cause analysis
/safety:safety-actions Create corrective action plan
/safety:safety-osha Generate OSHA Form 300/301
/safety:safety-pipeline Run all steps in sequence
/safety:safety-status Display workspace status

Quick Start

1. Initialize Workspace

/safety:safety-setup

Answer prompts for: company name, NAICS code, locations, incident categories.

2. Report an Incident

/safety:safety-report

Answer guided questions about: incident date, location, people involved, what happened.

Output: Incident JSON saved to inbound/incident-INC-YYYYMMDD-XXXX.json

3. Classify for OSHA Recordability

/safety:safety-classify [incident-id]

Applies OSHA 29 CFR 1904.7 criteria. Determines if incident is recordable.

Output: Classification JSON with confidence score; flags for manual review if needed.

4. Investigate the Incident

/safety:safety-investigate [incident-id]

Conducts structured investigation interview (what happened, contributing factors, witnesses, evidence).

Output: Investigation report DOCX + structured JSON.

5. Root Cause Analysis (5-Whys)

/safety:safety-rca [incident-id]

Guided 5-Whys dialogue to identify systemic root causes.

Output: RCA report DOCX with systemic recommendations.

6. Create Action Plan

/safety:safety-actions [incident-id]

Converts RCA recommendations to actionable items with owners and due dates.

Output: Action plan DOCX + CSV export for project management tools.

7. Generate OSHA Forms (Annual)

/safety:safety-osha 2026

Reads archived incidents for specified year, generates Form 300 (Excel) and Form 301s (DOCX per incident).

Output: informed by OSHA guidelines Form 300 + Form 301 incident reports.

Or: Automate All Steps

/safety:safety-pipeline

Runs all 6 steps in sequence for a single incident (report → classify → investigate → RCA → actions).

Workspace Structure

After setup, the following folders are created:

your-workspace/
├── .safety/                 (hidden — plugin config and logs)
│   ├── config.json         (company OSHA profile)
│   ├── logs/               (skill execution logs)
│   └── .next-id            (incident ID counter)
├── inbound/                (new incident reports — JSON)
├── processing/             (workflow intermediate files — JSON)
├── outbound/               (final documents — DOCX, XLSX, CSV)
└── archive/                (completed incidents, organized by year)
    ├── 2025/
    ├── 2026/
    └── ...

Persistent folders (available after sessions end):

  • {plugin-name}/templates/ — customizable document templates
  • {plugin-name}/outputs/ — generated documents saved locally

AI-Powered Features

  • Incident Severity Classification: Automatically applies OSHA 29 CFR 1904.7 recordability criteria to determine if incidents must be logged on Form 300
  • Root Cause Analysis: Guides users through structured 5-Whys dialogue to identify systemic root causes rather than surface-level explanations
  • Investigation Report Generation: Synthesizes witness statements, scene documentation, and contributing factors into professional DOCX investigations
  • Corrective Action Synthesis: Converts RCA findings and recommendations into prioritized action items with owner assignment and tracking

Document Flow

Incident Report (safety-report)
         ↓
      JSON: inbound/incident-{id}.json
         ↓
Classification (safety-classify)
         ↓
      JSON: processing/classified-{id}.json
         ↓
Investigation (safety-investigate)
         ↓
      DOCX: outbound/investigation-report-{id}.docx
      JSON: processing/investigation-{id}.json
         ↓
RCA Analysis (safety-rca)
         ↓
      DOCX: outbound/rca-report-{id}.docx
      JSON: processing/rca-{id}.json
         ↓
Action Plan (safety-actions)
         ↓
      DOCX: outbound/action-plan-{id}.docx
      CSV:  outbound/action-plan-{id}.csv
      JSON: processing/actions-{id}.json
         ↓
OSHA Forms (safety-osha, year-end)
         ↓
      XLSX: outbound/OSHA-Form-300-{year}.xlsx
      DOCX: outbound/OSHA-Form-301-{incident-id}.docx (per incident)

Estimated Cost per Use

Disclaimer: Token estimates are approximate and based on typical usage patterns measured from skill prompt sizes. Actual costs vary with input data size, conversation length, and complexity. Estimates use Claude Sonnet 4.6 pricing ($3/1M input, $15/1M output). Cowork and Claude Desktop subscription users (Pro/Max/Team) are not charged per-token — these estimates apply only to direct Anthropic API usage. Running stages individually in fresh sessions uses fewer input tokens than running the full pipeline sequentially, because pipeline mode accumulates conversation history across stages.

Per skill (run individually in a fresh session):

Stage Skill Prompt User Input Total Input Output Est. Cost
safety-classify ~4.1K ~800 ~8.2K ~4.1K ~$0.09
safety-actions ~4.7K ~800 ~8.8K ~4.7K ~$0.10
safety-rca ~5.6K ~800 ~9.7K ~5.6K ~$0.11
safety-investigate ~4.9K ~800 ~9.0K ~4.9K ~$0.10
safety-report ~3.9K ~800 ~8.0K ~6.0K ~$0.11
safety-osha ~4.1K ~800 ~8.2K ~4.1K ~$0.09
Standalone total ~51.9K ~29.5K ~$0.60

Full pipeline (all stages in one session — context accumulates):

Stage Base Input + History Total Input Output Est. Cost
safety-classify ~8.3K 0 ~8.3K ~4.1K ~$0.09
safety-actions ~8.9K ~4.9K ~13.8K ~4.7K ~$0.11
safety-rca ~9.8K ~10.5K ~20.2K ~5.6K ~$0.14
safety-investigate ~9.1K ~16.9K ~25.9K ~4.9K ~$0.15
safety-report ~8.1K ~22.6K ~30.7K ~6.0K ~$0.18
safety-osha ~8.3K ~29.4K ~37.6K ~4.1K ~$0.17
Pipeline total ~136.6K ~29.5K ~$0.85

Running the full pipeline once typically costs $0.60–$1.11 in API tokens (Claude Sonnet 4.6).

Known Limitations

1. No Persistent Database

Incidents are stored as JSON files in local folders. If folders are deleted, data is lost.

Workaround: Archive incidents regularly and back up the workspace folder.

2. No Mobile Capture

Field workers cannot report incidents directly from mobile phones.

Workaround: Workers use a paper form or simple web form (Google Forms, Jotform) to capture initial details; supervisors enter into the plugin within 24 hours (OSHA allows 24-hour reporting window).

3. No Real-Time Action Tracking

Generated action items are exported as DOCX + CSV but not tracked within the plugin.

Workaround: Import the CSV into Jira, Asana, Excel, or other project management tool for ongoing tracking and reminders.

4. Context Window Limits

For organizations with 500+ incidents, reading all narratives may exceed Claude's context budget.

Mitigation: OSHA form generator reads metadata only (name, date, body part), not full narratives. Optimized for up to 300 incidents/year.

5. No Electronic Signature

OSHA Form 300A requires employer signature/certification.

Workaround: Print Form 300A and sign manually, or use DocuSign / Adobe Sign for electronic signature.

Dependency Requirements

Runtime Dependencies

  • python-docx >= 0.8.10 (document generation)
  • openpyxl >= 3.0 (Excel form generation)

These are auto-installed during setup if missing.

System Requirements

  • Python 3.7+
  • Claude Code / Cowork plugin environment
  • Working folder with write permissions

OSHA Reference Notes

Form 300 Specifications

The plugin generates OSHA Form 300 with all required columns per 29 CFR 1904:

Column Field
A Case No. (auto-numbered)
B Employee's Name
C Job Title
D Date of Injury
E Where Event Occurred
F Describe Injury/Illness, Parts of Body, Object/Substance
G Days Away (Y/N)
H Job Transfer / Restricted Work (Y/N)
I Other Recordable Cases (Y/N)
J Number of Days Away
K Number of Days of Job Transfer or Restricted Work

Recordability Criteria

Classification applies OSHA 29 CFR 1904.7 criteria:

An incident is recordable if the employee experienced:

  1. Death, OR
  2. Days away from work (unable to perform job duties for one or more full days), OR
  3. Restricted duty / Job transfer (limited work or reassignment), OR
  4. Medical treatment beyond first aid, OR
  5. Diagnosis by healthcare provider (even without lost time or treatment)

First aid treatment does NOT make an incident recordable. First aid includes: bandages, non-prescription medication, ice therapy, eye washing, tetanus shots, etc.

The plugin's safety-classify skill evaluates incidents against these criteria and generates a confidence score for each classification.

Customization

Custom Incident Categories

Edit .safety/config.json after setup to add custom incident types beyond the defaults:

  • Injury
  • Illness
  • Near-Miss
  • Property Damage

Custom Severity Levels

Modify severity_levels in .safety/config.json to match your organization's definitions.

Document Templates

Customize DOCX and XLSX templates in the templates/ folder to match your brand:

  1. Open template in Word / Excel
  2. Add logo, change fonts/colors, adjust sections
  3. Keep {{placeholder}} markers intact
  4. Save — plugin will use your customized version for all future documents

Support & Troubleshooting

"No workspace folder found"

Cause: Workspace resolution failed. The plugin couldn't locate the working directory.

Solution: Run /safety:safety-setup again. Make sure you've selected a working folder in Cowork.

"Missing template file"

Cause: Template generation failed or templates were deleted.

Solution: Run /safety:safety-setup again, or manually run:

python3 templates/generate-templates.py

"Classification confidence too low"

Cause: The incident has ambiguous information (e.g., unclear whether medical treatment was provided).

Solution: Review the classification memo. Consult your OSHA-authorized representative to confirm recordability.

"Context window exceeded"

Cause: Very long investigation narratives exceeded Claude's context budget.

Solution: Summarize witness statements and descriptions to key facts before running the skill.

Version History

  • 1.0 (2026-03-13) — Initial release. Incident reporting, classification, investigation, RCA, actions, OSHA forms.

Contributing

This is a proprietary Plugin Factory plugin. For issues, feedback, or feature requests, contact Plugin Factory.


Built by Plugin Factory

For OSHA-specific compliance questions, consult:

Commands

  • /safety:safety-actions — Safety Actions
  • /safety:safety-classify — Safety Classify
  • /safety:safety-investigate — Safety Investigate
  • /safety:safety-osha — Safety Osha
  • /safety:safety-pipeline — Safety Pipeline
  • /safety:safety-rca — Safety Rca
  • /safety:safety-report — Safety Report
  • /safety:safety-setup — Safety Setup
  • /safety:safety-status — Safety Status

Important Disclaimers

  • AI-Generated Content: This plugin uses AI (LLM) technology which can produce inaccurate or incomplete outputs. All content should be treated as a starting point and reviewed for accuracy before use.
  • Not Professional Advice: Outputs do not constitute legal, financial, tax, medical, or other professional advice. Consult qualified professionals before making decisions based on generated content.
  • No Compliance Guarantee: References to industry standards, regulations, or guidelines are for informational purposes only. This plugin does not guarantee compliance with any law or regulation. Users are responsible for verifying all outputs meet their specific regulatory requirements.
  • No Endorsement or Affiliation: Mention of third-party products, standards, or organizations does not imply endorsement, partnership, or certification by those entities.
  • Not Legal Advice: This plugin does not provide legal services or legal advice. All legal documents and analysis should be reviewed by a licensed attorney before use.

Ready to use Safety Incident Automator Plugin?

Download this free plugin and start using it in Claude today.

Need something different?

We build custom plugins tailored to your exact workflow.

Request a Custom Plugin
Safety Incident Automator Plugin | Plugin Factory