Near-Miss Report Kit
Talk it through to build the report, action log and toolbox talk sheet

Near-Miss Report Kit is a vibe coding kit for Claude Code and Codex. Talk it through to build the report, action log and toolbox talk sheet. It includes 6 fixes for pitfalls the maker hit in real work. Free.
When this helps
You want to collect near-misses, but they end with 'be more careful' and nothing changes
What it does
In workplaces like factories, warehouses, construction, caregiving, food service and logistics, describing a near-miss out loud builds a report covering when, where, what almost happened, why and how to prevent it. Priority is set from the worst injury that could have happened and how likely it is to recur, and names are never shown. It flags blame-only language such as 'being careless', personal health details, and cases where an injury actually occurred. Countermeasures become a log just by appending owner, deadline and completion; it also produces tallies by location and type, a name-free toolbox talk sheet, and copies for outside parties such as contractors. Old Excel or CSV lists can be imported too.
The fixes baked into this kit
- Real injuries mixed into near-miss examplesEven the official examples included cases with an actual injury, like a finger puncture or electric shock. The kit scans the text for injury wording, drops phrases like 'almost' or 'could have', and if injury wording remains, flags it for checking whether it should be treated as an accident.
- 'Spec' mistaken for an honorific, bare surnames missedThe kit once read the 'sama' in a Japanese word for 'order spec' as an honorific and redacted it as a name. Words like 'spec' and 'likewise' are now excluded, and common surnames are redacted even without an honorific when followed by a particle such as 'ga' or 'no'.
- Priority table didn't match the latest reference sheetUsing the guideline commentary's example table as-is gave different priority results than the 2026 risk-assessment sheet's own reference examples. The default was tightened to match those examples, with an option to switch back to the guideline's own table.
- 'No injury happened, so it's minor' is an easy answerThe guideline says to judge severity by the worst injury that could have happened, but people tend to answer based on what actually happened. The kit now asks what the worst case would have been, and defaults to the more severe side when it's unclear.
- Work terms mistaken for health details or blameTerms like 'medication assistance' or 'wrong medication' were being stripped as health details, and phrases like 'the belt had gone slack' were flagged as blame. Now only the person's own illness, medication or treatment history is removed, and only phrases like 'getting careless' are treated as blame.
- Injury details leaking into shared copiesA report's injury description, such as 'cut my finger and put on a bandage', could end up in the toolbox talk sheet or the external copy. The kit now re-reads the finished text, keeps reports with a possible injury out of the toolbox talk sheet, and puts the external copy in draft if injury details remain.
What's inside
- The flow (listen → report form → action log → toolbox talk sheet → tally)
- Checks that flag names, health details, blame-only language and actual injuries
- A tool that suggests a type (the 15 categories, care-accident types, food-service categories)
- An action log built just by appending owner, deadline and completion
- A printable toolbox talk sheet and a script to read aloud
- A tool that imports existing Excel/CSV lists
- A tool that produces an external copy for contractors and head offices
- Sample data for a fictional warehouse and care facility, plus a self-test
File list (40)
- .gitignore
- AGENTS.md
- CLAUDE.md
- KIT.md
- NOTES.md
- data/README.md
- output/README.md
- rules/CHECK.md
- rules/FLOW.md
- rules/LAW.md
- rules/PROMPTS.md
- rules/SPEC.md
- rules/TONE.md
- samples/fukurouzaka-care/company.json
- samples/fukurouzaka-care/r01-medicine.json
- samples/fukurouzaka-care/r02-fall.json
- samples/shirotsume-butsuryu/company.json
- samples/shirotsume-butsuryu/fix-01.json
- samples/shirotsume-butsuryu/measure-01.json
- samples/shirotsume-butsuryu/measure-02.json
- samples/shirotsume-butsuryu/measure-03.json
- samples/shirotsume-butsuryu/old-list.csv
- samples/shirotsume-butsuryu/r01-forklift.json
- samples/shirotsume-butsuryu/r02-wetfloor.json
- samples/shirotsume-butsuryu/r03-shelf.json
- samples/shirotsume-butsuryu/r04-platform.json
- samples/shirotsume-butsuryu/r05-cutter.json
- samples/shirotsume-butsuryu/r06-step.json
- samples/shirotsume-butsuryu/r07-heat.json
- samples/shirotsume-butsuryu/r08-forklift2.json
- tools/add.mjs
- tools/chorei.mjs
- tools/clean.mjs
- tools/days.mjs
- tools/find.mjs
- tools/fix.mjs
- tools/import.mjs
- tools/lib/build.mjs
- tools/lib/classify.mjs
- tools/lib/guard.mjs
The first three decisions
- The company name
- The type of work (warehouse, construction, caregiving, food service, etc.)
- What almost happened (the first report)
What you need
- No extra costClaude Code or CodexBoth CLAUDE.md and AGENTS.md are included
- No extra costNode.js 18 or newerNeeded to run the tools. Nothing else to install
- No extra costExcel (or anything that opens it) and a browserTo view the log, report forms, toolbox talk sheet and results page
How to use
Just paste this into your AI.
I want to use the nice to have kit "Near-Miss Report Kit". Follow https://nicetohave.app/en/g/9G45E3Y6-•••••••••• and set it up.
Works the same in Claude Code or Codex.
Read what this tells your AI to do, before you paste it
If you would rather take the files yourself
Paste the line above and your AI fetches it. If your AI cannot fetch it, or you would rather download it yourself, start here.
- Unpack the zip you downloaded
- Open the resulting folder in Claude Code or Codex (in VS Code, "Open Folder")
- Type "start building with this kit". The instructions are inside (Claude Code reads
CLAUDE.md, Codex readsAGENTS.md)
FAQ
- What happens to a report where an injury actually occurred?
- It stays recorded as a near-miss but is flagged for checking whether it should be treated as an accident. Depending on days off work or treatment needed, a labor accident report or, for care facilities, a report to the municipality may be required. Whether it counts as workers' compensation is decided by the Labor Standards Inspection Office, not the kit.
- Does the reporter's name stay in the record?
- By default, no. It only appears in the report form and log if the company chooses to keep names, and even then it never appears in tallies, the toolbox talk sheet, or copies shared externally.
- Can it handle near-misses involving care-facility residents or restaurant customers, not just workers?
- Yes. For care residents it uses the accident-report categories (falls, choking, wrong medication, etc.), and for restaurant customers it uses the kit's own categories (burns, foreign objects, allergens, mix-ups).
- Can I bring in an existing list I've been keeping in Excel?
- Yes. It only reads Excel or CSV files (including Shift_JIS) placed in the kit's own folder, shows you how it's reading the columns before importing, and never imports the reporter-name column.
- Can it produce the actual labor accident report itself?
- No. This kit only goes as far as flagging that an injury appears to have actually occurred; drafting the labor accident report or workers' compensation paperwork is handled by a separate injury-report kit.
Reviews
This is your kit. You can also see its reviews on your page.
No reviews yet. Be the first to say something.
Supporters
Once support opens, the people who backed this kit will be listed here.
- Publisher
shuto-shinoda- Published
- 2026/10/28
- Price
- Free
- Category
- Delegate work
- Personal data
- Handled
- Security review
- Needed (depends what you handle)
- What's inside
More kits
shuto-shinoda2026/10/28
Petty Cash Ledger KitFree
Turn spoken entries into a ledger, checked against counted cash
shuto-shinoda2026/10/28
Received Invoice Check KitFree
Checks invoices for compliance, then saves and logs them
shuto-shinoda2026/10/28