Safety Incident Automator Plugin
Safety Incident Automator Plugin — Claude plugin
Plugin ID
pf-safety-incident-automator
Category
operations
Version
v1.1
Downloads
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
- Install the plugin in Claude Code / Cowork
- Select a working folder (this creates a persistent local workspace)
- Run
/safety:safety-setupto initialize workspace - 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:
- Death, OR
- Days away from work (unable to perform job duties for one or more full days), OR
- Restricted duty / Job transfer (limited work or reassignment), OR
- Medical treatment beyond first aid, OR
- 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:
- Open template in Word / Excel
- Add logo, change fonts/colors, adjust sections
- Keep
{{placeholder}}markers intact - 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:
- OSHA.gov — Form 300 Log Requirements
- OSHA 29 CFR 1904 — Recordkeeping
- Your OSHA-authorized representative
- A qualified occupational safety professional
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.