agentleFS
ashley-eyekyamashley-eyekyam/probematrix-learnings-coach/skills/precursor-timeline/SKILL.md

precursor-timeline

Skill0 starsChanged 27 days agoMITView on GitHub

Build a precursor and weak-signal timeline from a ProbeMatrix investigation export - every dated warning, missed inspection, repeated repair, overdue action, audit finding or near-miss before the event - showing who received each signal and what was done with it. Use when someone asks "did we see this coming", "what warnings were missed", wants a weak-signals or precursor analysis, a history of the asset before the incident, or material on normalisation of deviance.

The file

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 1 is distinctive, and 2 are 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.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Add the event sequence on the day itself as a final block if the narrative gives it.

    line 32
  2. Very specific:

    Write the pack <run>/outputs/precursor-timeline.json (schema: learnings-coach/references/pack-schema.md), then:

    line 40
  3. Very specific:

    Put data-quality corrections in data_quality, findings left out on purpose in exclusions, and same-condition findings in supporting_cites.

    line 59

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Precursor Timeline

Engine: PMLC = python3 <skills-root>/learnings-coach/scripts/pmlc.py (this skill needs the learnings-coach skill installed alongside it).

Gather candidates

PMLC timeline <ws> --before incident

This lists every dated mention in findings and evidence (<ws>/timeline_candidates.json), with snippets and sources. Many are duplicates or context dates (e.g. a commissioning year). The engine finds dates; you decide which are signals.

Curate

For each candidate keep it only if it is a signal: something that could have told someone the risk was rising and that they could actually see then (see the knowable-then test in learning-principles.md §1a). Examples: an inspection that found degradation, a repeated repair on the same item, a skipped or overdue maintenance schedule, an audit recommendation left open, a procedure published but not used, a configuration change not documented. Record:

FieldContent
Dateas precise as the source allows; mark year-only dates
Signalwhat happened, in one line
Received byentity and tier (from clusters.json of the citing findings)
Responsewhat was done with it, per the evidence ("none recorded" is an answer)
Knowable thenknowable_then: what the receiver could know at that moment, or true/false; leave out hindsight-only signals
Distance to eventmonths or years before the incident
Evidencefinding and evidence IDs

Add the event sequence on the day itself as a final block if the narrative gives it.

Learn

Close with three to six signal learnings: patterns in how signals were handled (no escalation path, closure without verification, schedules that slide when a job is late, repeated repairs treated as normal). Each one names the entity and tier that must change the way it handles signals, and a leading indicator.

Output

Write the pack <run>/outputs/precursor-timeline.json (schema: learnings-coach/references/pack-schema.md), then:

PMLC check-pack <ws> <run>/outputs/precursor-timeline.json   # fix every problem it lists
PMLC pack <ws> <run>/outputs/precursor-timeline.json         # -> precursor-timeline.html (primary, vertical timeline) and .md

Sections and the kinds that fill them:

  • Curated signals: one timeline. Each row of the Curate table above becomes an event:
    • Date → date
    • Signal → text; do not write "(N months before)": the renderer computes it from the incident date and shows year-only dates as "c. YYYY (about N years before)"
    • signal: true
    • Received by → received_by
    • Response → response ("None recorded" is an answer)
    • Knowable then → knowable_then (optional text, or true or false)
    • Evidence → cites
  • Event sequence on the day: a second timeline, in its own section.
  • Signal learnings: learning ×3–6, with owner = the entity and tier that must change. Follow each with its indicator.

Put data-quality corrections in data_quality, findings left out on purpose in exclusions, and same-condition findings in supporting_cites.

{"date": "2022-03", "text": "…", "signal": true, "received_by": "Materials Management (F06, T1)",
 "response": "None recorded", "cites": ["FND-…", "EVD-…"]}

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.