barrier-learnings
Skill0 starsChanged 28 days agoMITView on GitHub
Analyse which safety barriers and controls failed in a ProbeMatrix investigation - prevention barriers before the event and mitigation barriers after it - who owned each, how it degraded, and how strong the fix should be on the hierarchy of controls, with leading indicators. Use when someone asks about barriers, controls, defences, bow-tie style learning, critical controls, "why didn't our safeguards work", or wants recommendations stronger than retraining.
In this repository24 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- auditor-assurance-packSkill
- board-briefSkill
- causal-mapSkill
- cluster-learning-dossierSkill
- emergency-response-learningsSkill
- engineering-integrity-learningsSkill
- frontline-learning-cardsSkill
- interface-learningsSkill
- investigator-coachSkill
- learning-clustersSkill
- learnings-coachSkill
- learnings-registerSkill
- manager-coachSkill
- organisation-learning-mapSkill
- precursor-timelineSkill
- report-comparisonSkill
- safety-committee-guideSkill
- site-leadership-coachSkill
- supervisor-coachSkill
- supply-chain-contractor-learningsSkill
- top-management-briefSkill
- training-designerSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 28
Do not declare a barrier effective or ineffective beyond what the evidence states.
- Very specific: line 36
Write the pack <run>/outputs/barrier-learnings.json (schema: learnings-coach/references/pack-schema.md), then:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Barrier Learnings
Engine: PMLC = python3 <skills-root>/learnings-coach/scripts/pmlc.py (this skill needs the learnings-coach skill installed alongside it). Read learnings-coach/references/output-style.md (hierarchy of controls, leading indicators).
Identify barriers
From the incident narrative (<ws>/incident.json) and the highest-rated findings (PMLC select <ws> --top-rated --brief), list the barriers that were supposed to stand between the hazard and the outcome:
- Prevention side (before loss of control): design and specification, maintenance and testing, inspection, procedures and permits, competence, change management.
- Mitigation side (after loss of control): detection, alarm, isolation, ignition control, emergency response, fire protection, escape and recovery.
For each barrier
| Field | Content |
| Barrier | name and side |
| Owner | entity and tier (from the findings' clusters) |
| State on the day | absent / degraded / defeated / worked partly / worked |
| How it degraded | the L2–L4 findings behind its state, with dates if known |
| Fix | proposed control and its HoC tier |
| Leading indicator | how the owner will know the barrier is healthy |
| Evidence | finding and evidence IDs |
Do not declare a barrier effective or ineffective beyond what the evidence states. Use "[GAP]" where the export does not tell you.
Learn
Summarise: which barriers carried the most weight, whether failures clustered on one side, and what share of proposed fixes are above the administrative tier. Give a short ranked list of "critical controls to verify first" for the owners.
Output
Write the pack <run>/outputs/barrier-learnings.json (schema: learnings-coach/references/pack-schema.md), then:
PMLC check-pack <ws> <run>/outputs/barrier-learnings.json # fix every problem it lists
PMLC pack <ws> <run>/outputs/barrier-learnings.json # -> barrier-learnings.html (primary) and .mdSections and the kinds that fill them:
- Barriers: one
barrierper row of the table above, withgroup= "Prevention" or "Mitigation". The table's fields map like this:- Barrier →
barrier, plustype - Owner →
owner - State on the day →
state - How it degraded →
failure_mode(write "[GAP] …" where the export does not say) - Fix →
fixandhoc_tier - Leading indicator →
indicator - Evidence →
cites
- Barrier →
- Summary:
para. - Critical controls to verify first:
checkitems, in ranked order.
Set "scope": {"min_rating": "top"}. Put data-quality corrections in data_quality, findings left out on purpose in exclusions, and same-condition findings in supporting_cites. For a bow-tie, hand the barrier items to a bow-tie tool.
{"kind": "barrier", "group": "Prevention", "barrier": "…", "type": "prevention", "owner": "…", "state": "absent",
"failure_mode": "…", "hoc_tier": "engineering", "fix": "…", "indicator": "…", "cites": ["FND-…"]}Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

