Monitor negative public events for one or more companies, preserve full evidence, classify repayment-risk signals, and produce Excel + JSON + alert-ready summaries.
This skill performs negative-event monitoring in two layers for one or multiple companies. It preserves all retrieval evidence for auditability, then extracts and classifies repayment-risk signals for downstream warning channels.
Use this skill when the user asks to:
Accept input in this shape:
{
"companies": [
{
"company_name": "BRAVADO LIMITED",
"jurisdiction": "UK",
"company_number": "01584795",
"aliases": []
}
],
"search_window_days": 180,
"language": "en"
}
Required:
companies[].company_nameOptional:
companies[].jurisdictioncompanies[].company_numbercompanies[].aliasessearch_window_dayslanguageUse the taxonomy.md as the retrieval backbone to maximize recall of public negative signals relevant to repayment risk.
For each company, Layer 1 should:
Do not search only the literal taxonomy labels.
Examples:
liquidation → winding up, administration, insolvency noticenew charge → registered charge, debenture, new facilityshutdown → ceased trading, operations suspended, business closureFor each company and each taxonomy category, generate 2–3 search variants:
Examples:
"<company> liquidation OR winding up""<company> charge OR debenture OR refinancing"site:gov.uk "<company>" insolvencysite:thegazette.co.uk "<company>" petitionUse jurisdiction-specific public sources when jurisdiction is available.
Examples:
If jurisdiction is unavailable, prioritize global news and company announcements.
Keep every retrieved record in raw_evidence, even if relevance is uncertain.
Each row must include:
company_nametaxonomy_categorytaxonomy_seed_signalsearch_querysource_websitetitlepublish_dateurlsnippetraw_textinitial_relevanceretrieval_timestampdedup_keyWithin the same company, duplicate articles / filings referring to the same underlying event must be deduplicated in deduped_events.
Deduplication applies only within the same company.
Deduplication key:
company_name + normalized_title + publish_date + source_website
Rules:
raw_evidencededuped_eventssource_countsupport_queriesIf the same article mentions multiple monitored companies, keep one record for each company.
Layer 1 must generate exactly one Excel workbook for each monitoring run.
File name:
negative_event_monitoring_<run_date>.xlsx
Example:
negative_event_monitoring_20260409.xlsx
Workbook sheets:
raw_evidencededuped_eventsrun_summaryConvert logged evidence into structured risk intelligence.
severity (Low, Medium, High).signal_stage (early_warning, pre_default, default).(See references/taxonomy.md.)
For each monitoring run, produce:
negative_event_summary_YYYYMMDD.json or negative_event_summary_{run_id}.jsonChat Output Rules When triggered from chatbox like Slack/Codex mention like @codex:
[Company] <company_name>
Risk Level: <overall_risk_level>
Key Signals: <signal_1>; <signal_2>; <signal_3>
Implication: <risk_implication>
Source Websites: <site_1>; <site_2>
initial_relevance; do not drop it.