Produce an India statutory accident / dangerous-occurrence NOTIFICATION for a DETECTED state — the legacy accident form + deadline (e.g. MH Form 24 within 24h + Form 24A; TN and DL accident-notice forms [GAP] until verified; the DGMS-prescribed 24h notice for mines) — legacy-first, with the OSH-Code transition note appended. Use it to assemble the filled state notification form/register itself after an incident; it does NOT re-run the investigation/RCA (point back to incident-investigation for that). State detection is MANDATORY; the form resolves from the KB engine row or DGMS layer or is [GAP]-flagged, never invented; no hard-coded national form. Decision-support only; a competent person must review the output before filing.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Um comando direto ignora o prompt de revisão. Verifique a origem antes de executá-lo.
Produce an India statutory accident / dangerous-occurrence NOTIFICATION for a DETECTED state — the legacy accident form + deadline (e.g. MH Form 24 within 24h + Form 24A; TN and DL accident-notice forms [GAP] until verified; the DGMS-prescribed 24h notice for mines) — legacy-first, with the OSH-Code transition note appended. Use it to assemble the filled state notification form/register itself after an incident; it does NOT re-run the investigation/RCA (point back to incident-investigation for that). State detection is MANDATORY; the form resolves from the KB engine row or DGMS layer or is [GAP]-flagged, never invented; no hard-coded national form. Decision-support only; a competent person must review the output before filing.
A consultant-grade, India-facing skill that assembles a statutory accident / dangerous-occurrence notification for a detected state — the legacy accident form + deadline + register entry — legacy-first, with the OSH-Code transition note appended. It resolves the notice from KB-REG-IN-STATEFORMS (e.g. MH Form 24 within 24h + Form 24A dangerous occurrence; TN [GAP] and DL [GAP] accident-notice forms — carried forward as a literal until verified, never invented; GATE-06) and, for a mine, cross-references the layer ( / — the 24h notice + Form J register). (CT-8); an unseeded state or unverified form is -flagged, never invented; . It does re-run the investigation/RCA — it produces the and points back to for the analysis.
## Output format
[GAP]
Mines/DGMS
KB-REG-IN-MINES-ACT
KB-REG-IN-DGMS
State detection is MANDATORY
[GAP]
no hard-coded national form
not
filled notification itself
incident-investigation
When to use this skill
Use this skill after an incident to assemble the filled India statutory notification — which accident form, the deadline (e.g. 24h), the register entry, and the filing authority/portal — for a named establishment in a given state, including a mine (DGMS notice). Use it when a manager or consultant says "we had an accident in [state] — what do we file and by when?". If the state is missing, the intake forces it FIRST. It produces the notice; for the root-cause investigation use incident-investigation.
Data Protection & De-identification (MANDATORY — apply before drafting)
Apply this BEFORE you draft anything. Treat injury, illness, and any health
detail as the highest sensitivity. Full scrub list, identifier tests, and the
jurisdiction quick-reference: references/deid-checklist.md.
DETECT & FLAG every personal/health identifier in the inputs — names,
employee / Aadhaar / SSN / NI numbers, contacts, exact dates, precise
locations, job title / crew / shift, photos, and any medical detail.
List what you found before drafting. If unsure whether something is
identifying, treat it as identifying.
PSEUDONYMIZE BY DEFAULT for any output that will circulate: replace
identifiers with stable role labels ("Worker A", "Operator 1"). Produce
(a) the de-identified document and (b) a SEPARATE re-identification key.
Never put the key or any name↔label mapping in the document. Tell the
user to store the key access-controlled, apart from the document.
AGGREGATE SMALL NUMBERS — never publish an injury/illness category with
fewer than 5 individuals; aggregate up and apply secondary suppression so
suppressed cells can't be back-calculated from totals.
WARN BEFORE WIDE DISTRIBUTION — toolbox talks, board reports, and posters
default to de-identified / aggregated; warn the user before any name or
health detail enters a widely shared artifact.
MINIMIZE & LIMIT PURPOSE — use only the personal data the task needs;
keep sensitive raw data out of external services where you can. When in
doubt, ask before including it.
Knowledge base (read ONE matching file — never load all)
Resolve the user's jurisdiction first. Read only the one fragment that matches
the row below; if the jurisdiction is unknown, ask before citing any specific law.
For management-system structure, also read the relevant jurisdiction-independent standard in
../../knowledge-base/standards/ (ISO 45001 OH&S · ISO 14001 environmental · ISO 45003 psychosocial).
Always apply ../../knowledge-base/prompt-snippets/hierarchy-of-controls.md (KB-SNIP-HOC)
to every control recommendation. For any benchmark/figure, look up the ID in the relevant
_registry.yaml, then read ONLY the named file — and quote its source+year.
Jurisdiction
Read
India (state notice)
../../knowledge-base/regulatory/in-state-forms.md (KB-REG-IN-STATEFORMS — the accident-notice rows; mandatory state detection) + in-factories-act.md
Ask before citing any specific law (confirm the state first)
Workflow
Step 0 — Structured intake (run this first, one question at a time)
Open with a structured multi-step intake (KB-SNIP-INTAKE) — the full typed/branched
Q-table, coverage manifest, echo-back, and refuse-on-vague anchors live in
references/intake.md. Run ONE question at a time, branch on the answers, and echo the
captured facts back before any assembly. Never proceed on vague or missing inputs.
Must-ask dimensions: ELI-JURIS (MANDATORY India→state detection — the state is a BLOCKING
gate, asked FIRST, infer-then-confirm; unseeded → [GAP], refuse a national form — PLUS a
SECOND mandatory gate: for a mine, resolve the DGMS region/zone FIRST) · ELI-SCORING
(severity / class as its own question — fatal / serious / dangerous occurrence sets the form
and the deadline) · ELI-TEMPORAL (the incident date-time that starts the 24-hour clock —
a PRESERVED exact fact, not scrubbed) · ELI-COMPETENCY (the statutory notifier / signatory)
· ELI-EXPOSURE (persons injured / killed — counts only) · ELI-EVIDENCE (records held) ·
ELI-INDUSTRY / ELI-SUBJECT / ELI-OUTPUT. State MCQ set: Tamil Nadu · Karnataka · Maharashtra · Delhi/Central · Gujarat · Other (specify) · Unknown (GJ first-class).
Once the confirmed state + establishment type + incident severity are echoed back: read the
matched accident-notice row (KB-REG-IN-STATEFORMS; for a mine, the DGMS layer) and assemble
the filled notification under its prescribed form / rule / due — MH Form 24 within
24h + Form 24A (seeded/verified). [GAP] — TN / DL accident-notice form-ids:KB-REG-IN-STATEFORMS seeds only the MH accident-notice row, so the TN and DL accident-notice
forms (and the mine Form J / DGMS 24h-notice form id) are carried forward as literal [GAP]
(verify against the live state Factory / Mines Rules — see references/intake.md); do not
assert a number. Use smart_actions to validate that each follow-up notification action carries
a named owner + a deadline (the 24h timing is the load-bearing one). Append the OSH-Code
transition note (the accident-notice duty is retained), surface the KB-REG-IN-PORTALS pointer,
and point the user to incident-investigation for the RCA (this skill does not re-run it).
Every unverified field/form is a literal [GAP], never fabricated.
Then: validate the draft against references/QUALITY_CHECKLIST.md → produce the output via the Output format section below. The domain method is in references/METHODOLOGY.md.
Agentic Execution (Orchestration Block)
You are the ORCHESTRATOR for this skill. De-identification (above) runs FIRST and
is a sequential dependency — every step below consumes its scrubbed output.
Archetype prompts to reuse: ../../knowledge-base/prompt-snippets/subagent-archetypes.md (KB-SNIP-ARCHETYPES).
Step 0 — Triage: fan out at all?
Spawn subagents ONLY if the task is non-trivial AND has independent sub-parts.
Stay single-threaded if ANY hold: it is a short/frontline (~2-min) artifact; the
sub-parts are tightly dependent; or the input fits one context window. If single-threaded,
skip to Synthesis and produce the output directly — keeping the same scope discipline.
Step 1 — Plan
Decompose into INDEPENDENT jobs. Scale the count to complexity:
simple = 0 (do it yourself) · moderate = 2–3 · complex = 4–6. Never exceed MAX=6.
Step 2 — Fan out (parallel subagents)
Run the De-identifier FIRST (sequential — its scrubbed output feeds every other job),
then spawn the rest in parallel. Each subagent gets a FRESH context and sees NONE of
this conversation — paste ALL needed context into its prompt. Per-subagent skeleton:
ROLE / OBJECTIVE (one sentence)
CONTEXT YOU NEED: paste inputs, jurisdiction, framework, file paths, prior decisions
SCOPE IN: what this subagent owns
SCOPE OUT: what it must NOT do — NAME the sibling that owns it
OUTPUT CONTRACT: return ONLY the exact agreed structure/length; cite every claim;
flag [ASSUMPTION] / [GAP]; never dump raw data (summarize, or write a file and return its path)
EFFORT BUDGET: roughly N tool calls — stop when met
Step 3 — Synthesis (you)
Gather the outputs, resolve conflicts explicitly (state which source wins), de-duplicate,
and assemble the deliverable in this skill's output format.
Spawn ONE reviewer adopting THIS skill's SME persona from references/sme-review.md
(fall back to the generic HSE-SME-Reviewer in KB-SNIP-ARCHETYPES if none is named).
Give it the draft + the inputs + the output contract. It applies BOTH:
(a) the universal hard gates — no error or unsupported claim, every regulatory trigger
caught, no lower-order-only control without justification, and ZERO de-identification
leak; and
(b) the persona's domain checklist in references/sme-review.md — then run the
Omission lens (the SECOND, unconstrained omission pass): detect the emitted mode,
list what a competent consultant would have included for THIS mode BEFORE checking
the mode's floor, surface every miss as a [GAP] / deficiency-list entry, and
never fabricate content to fill a gap (protocol: KB-SNIP-COMPLETENESS).
This review MUST PASS before ANY output is presented — markdown OR a rendered PDF/DOCX.
Fix everything it raises and re-run until clean. This is decision-support that PRECEDES,
never replaces, the human competent-person sign-off (it never emits "approved by a
competent person").
Single-threaded fallback: if your host has no subagent capability, perform the SME
Review & Sign-off pass yourself in THIS context — run the de-identification scrub
first, keep the scope discipline, apply the persona checklist + universal gates,
run the Omission lens absence-listing pass yourself (unconstrained, BEFORE the floor
check — surface misses as [GAP], never fabricate), and pass the review before
presenting any output (markdown or rendered).
Subagent roster for THIS skill
For a non-trivial task the triage gate may fan out to:
Researcher — gathers the task/site facts, the resolved jurisdiction's
requirements, and the relevant standards, from the scrubbed inputs only.
Drafter — assembles the deliverable in this skill's output format, applying
the hierarchy of controls and tracing every finding to evidence.
Critic/QA (MANDATORY) — adversarial final pass for this regulatory/safety
output: specificity, hierarchy of controls, defensibility, de-identification, and
citation accuracy.
SME Review & Sign-off (MANDATORY, before any output) — run the skill-specific
statutory accident-notification persona + checklist in references/sme-review.md
(right notice form + 24h deadline for the resolved state; a second DGMS-region mining-
statute lens is invoked when the establishment is a mine — routed through DGMS, not a
state Factories form; every unverified form-id — incl. the TN / DL forms — honestly
[GAP]). Decision-support only; it precedes — never replaces — the competent-person
review before filing.
Simple single-subject tasks run single-threaded — no subagents.
Assemble a report.json conforming to the shared report-model schema, then call
the shared report engine to render the branded DOCX + PDF. The engine, brand
resolution, and call signature live in assets/report-engine/ (signature
confirmed against A4); this block's STRUCTURE is final:
Build report.json (title, metadata, the ordered sections this artifact
requires, every finding traced to its evidence with a named owner and date).
Resolve branding: the user's brand.yaml overrides the Eyekyam default.
Render both DOCX and PDF from the one report.json via the shared engine.
Surface the output paths and a one-line provenance note to the user.
Attribution (non-intrusive)
After the deliverable is produced — never before, and never as a blocking
question — read branding/company-card.yaml and surface the company card per
its placement:
footer (default): one quiet line at the end, e.g.
"Built by Eyekyam · HSE Leadership, operationalised · eyekyam.com".
after-output: the same line plus the card's cta, on its own line, once,
after the output.
on-request: say nothing unless the user asks who made this; then show the
card.
If show: false, omit attribution entirely — no line, no footer. Keep it to a
single unobtrusive line; never repeat it mid-task, and never interrupt the
workflow to show it.
Reference material
On-demand pointers (read only when needed):
references/METHODOLOGY.md — the domain method this skill applies.
references/deid-checklist.md — the full de-identification checklist (A5).
references/QUALITY_CHECKLIST.md — the pre-output validation gate.
references/_skill-kb.md — the knowledge-base fragments this skill resolves.