Thinkerbell
← The AI Requirements Toolkit

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.

GitHub starsMIT License

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. 39
    Swiss trading venue transaction reporting
    sme-fmia-art-39
  • FinfraG / FMIA Art. 104
    Swiss derivatives reporting to a trade repository
    sme-fmia-art-104
  • EMIR + REFIT
    EU derivatives reporting, clearing, risk mitigation
    sme-emir
  • MiFIR Art. 26, RTS 22/23/24
    EU transaction reporting
    sme-mifir-transaction-reporting
  • MiFID II
    Client classification and investor protection
    sme-mifid2-client-classification
  • FinSA / FIDLEG Art. 4
    Swiss client segmentation and conduct duties
    sme-finsa-client-segmentation
Counterpart pairs: FMIA Art. 39 ↔ MiFIR Art. 26 · FMIA Art. 104 ↔ EMIR Art. 9 · FinSA Art. 4 ↔ MiFID II client classification. The last pair is structurally asymmetric — three Swiss segments against four EU categories, on tests that differ in kind — so a matching label on either side is a thing to check rather than to accept.

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. 1
    reg-orchestrator
    Routes the question

    Asks 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. 2
    6 × SME subagentsin parallel
    Analyse in parallel, in isolation

    Each 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. 3
    reg-comparison
    Compares without inventing equivalence

    Functional comparison only. Legal equivalence is a determination for competent authorities, and the stage refuses to declare it.

  4. 4
    reg-convergence
    Finds where the regimes genuinely align

    Structured reasoning over comparison findings that are already sourced — separating real convergence from surface similarity.

  5. 5
    reg-output-quality
    Strips anything unattributable

    Checks organisation, attribution and coverage against the bundled checklists before a single sentence reaches you.

  6. 6
    reg-executive-output
    Writes the brief

    Selection 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.
Output lands in .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.

1

Hybrid

Default

Local 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.

2

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.

3

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.

Install in Claude Code
›/plugin marketplace add clarityisrare/ai-requirements-toolkit
›/plugin install reg-reporting-toolkit@ai-requirements-toolkit

Adds this repo as a plugin marketplace, then installs the whole pipeline. Update later with /plugin marketplace update ai-requirements-toolkit.

Install in Codex
›/plugin marketplace add clarityisrare/ai-requirements-toolkit
›/plugin install reg-reporting-toolkit
›/reload-plugins

In 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.

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.
The other toolkitRequirements Engineering ToolkitTurn vague business requests into clear, testable, traceable requirements — with skills that run the whole workflow for you.Open the toolkit →

If it saves you time, star it

A star tells me which regimes are worth adding next.