Open source · MIT · Free forever
Regulatory Reporting Toolkit
A multi-agent pipeline for Swiss and EU regulatory reporting questions. Six jurisdiction-isolated experts analyse their own regime and nothing else — and nothing downstream is allowed to invent, resolve, or quietly smooth over what they found.
The problem it solves
Ask a general-purpose assistant whether a swap is reportable under EMIR or FinfraG and you get a fluent answer with no way to tell which parts are the legal text, which are the regulator's guidance, which are the model's inference, and which are simply wrong. Ask it to compare two regimes and it will find similarities — because that is what “compare” invites, even where the regimes are structurally different.
This toolkit makes those distinctions structural rather than aspirational:
Jurisdiction isolation
Each expert runs in its own context window. The EMIR expert cannot see the FinfraG analysis, so it cannot unconsciously import it — the isolation is architectural, not a prompt asking the model to be careful.
Citations tagged by origin
Every requirement names its article and paragraph, tagged [CORPUS], [RETRIEVED <date>], [SECONDARY] or [UNVERIFIED]. You can always tell how a citation was obtained before you rely on it.
Stable finding IDs
EMIR-REQ-003, CMP-FND-007, CNV-LOC-002. Every downstream statement names the upstream finding behind it, and anything unattributable is removed before delivery.
Conflicts and gaps survive
Disagreements between regimes and holes in the evidence are findings, not defects to be tidied away. They reach the executive summary intact, instead of being smoothed into a confident paragraph.
Plus an audit trail on disk: every run writes a dated directory of artifacts a reviewer can walk months later.
Covered regimes
Six experts, each holding one regime and refusing to speak for any other.
- FinfraG / FMIA Art. 39Swiss trading venue transaction reporting
sme-fmia-art-39 - FinfraG / FMIA Art. 104Swiss derivatives reporting to a trade repository
sme-fmia-art-104 - EMIR + REFITEU derivatives reporting, clearing, risk mitigation
sme-emir - MiFIR Art. 26, RTS 22/23/24EU transaction reporting
sme-mifir-transaction-reporting - MiFID IIClient classification and investor protection
sme-mifid2-client-classification - FinSA / FIDLEG Art. 4Swiss client segmentation and conduct duties
sme-finsa-client-segmentation
Out of scope: FinIA/FINIG, AMLA/GwG, SFTR, CSDR, Dodd-Frank, UK EMIR/MiFIR, APAC regimes, AnaCredit, MMSR, Basel/CRR and the Swiss Banking Act. The orchestrator names the gap rather than routing to the nearest-looking expert.
The pipeline
Experts run in parallel; every downstream stage runs in sequence, gated on its inputs actually existing. Stages that are not needed are not run — a single-regulation question runs one expert and the output stage.
- 1
reg-orchestratorRoutes the questionAsks for any decisive fact you left out, decides which experts the question actually needs, and names the gap when a regime is out of scope rather than routing to the nearest-looking expert.
- 2
6 × SME subagentsin parallelAnalyse in parallel, in isolationEach expert analyses its own regime and nothing else, producing sourced findings with stable IDs.
sme-fmia-art-39sme-fmia-art-104sme-emirsme-mifir-transaction-reportingsme-mifid2-client-classificationsme-finsa-client-segmentation - 3
reg-comparisonCompares without inventing equivalenceFunctional comparison only. Legal equivalence is a determination for competent authorities, and the stage refuses to declare it.
- 4
reg-convergenceFinds where the regimes genuinely alignStructured reasoning over comparison findings that are already sourced — separating real convergence from surface similarity.
- 5
reg-output-qualityStrips anything unattributableChecks organisation, attribution and coverage against the bundled checklists before a single sentence reaches you.
- 6
reg-executive-outputWrites the briefSelection and compression over findings that are already settled — with the conflicts and gaps still visible.
What asking it looks like
You ask in plain language. The orchestrator asks for any decisive fact you left out, tells you which experts it is about to run, and writes everything to a dated folder.
Compare the reporting obligation under EMIR and FinfraG Art. 104 for an OTC interest rate swap between a Swiss bank and an EU non-financial counterparty below the clearing threshold, and tell me whether one platform can serve both.
.reg-analysis/<date>-<slug>/ — the brief, the underlying findings, and the run manifest recording which grounding mode produced them.How citations are obtained
This is the single biggest determinant of how much the output is worth, so it is a setting you choose rather than a behaviour you have to infer. The mode in force is recorded in every run manifest and in the footer of every output.
Hybrid
DefaultLocal corpus first, official web fallback, anything left over tagged [UNVERIFIED] with an evidence gap.
Best for: Most work. Fast and deterministic where the corpus covers the ground, current where it does not.
Live web
Every citation retrieved during the run from official domains. Failed retrieval becomes a gap, never a recollection.
Best for: When currency matters most — a live rule change, a new ESMA Q&A.
Corpus only
Strictly offline. Anything outside the corpus is a gap, including things the model is confident it knows.
Best for: Audit-sensitive, reproducible runs — same question, same corpus, same evidence base.
An empty corpus is fine — the default mode degrades gracefully and tags what it could not verify.
★ Install it
Two commands, then ask your question
The whole pipeline — six subagents, five skills and the shared method — ships as one plugin. Nothing to configure before your first run.
›/plugin marketplace add clarityisrare/ai-requirements-toolkit›/plugin install reg-reporting-toolkit@ai-requirements-toolkitAdds this repo as a plugin marketplace, then installs the whole pipeline. Update later with /plugin marketplace update ai-requirements-toolkit.
›/plugin marketplace add clarityisrare/ai-requirements-toolkit›/plugin install reg-reporting-toolkit›/reload-pluginsIn Codex, install the GitHub plugin first — it’s what resolves the marketplace from GitHub — then run the commands above.
What's inside
Everything is plain Markdown in a public repo. The skills reference one shared copy of the method rather than each carrying its own, so there is one version to read and one version to change.
Agents
6 filesThe six SME subagents — isolated context, run in parallel, one regime each.
Skills
5 filesThe pipeline stages: orchestration, comparison, convergence, output quality and executive reporting.
Reference
9 filesThe shared method — pipeline, regulatory map, taxonomy, finding IDs, source governance, grounding modes, confidence, output contracts.
Templates
4 filesSME finding, executive brief, run manifest and the run configuration.
Checklists
4 filesThe quality gates each stage is measured against — SME quality, comparison integrity, output and executive QA.
Examples
1 filesA full end-to-end worked run, from the question to the executive brief and the artifacts on disk.
What it does not do
Stated here rather than buried in the repo, because knowing the boundary is part of using it safely.
- Decision support, not legal advice. Every output carries that statement. The final call belongs to a qualified compliance, legal or regulatory reporting professional.
- Functional comparison only. Legal equivalence is a determination for competent authorities. The pipeline compares what regimes require and refuses to declare them equivalent.
- The output is only as good as the grounding. In the default hybrid mode, check the
[UNVERIFIED]tags before relying on anything. They are there so you can. - Regulation moves. Every output states its as-of date and flags the pending changes it knows about. Check the horizon items rather than trusting them.
If it saves you time, star it
A star tells me which regimes are worth adding next.
