Omar El Hachimi / Projects / Agent extensions catalogue

Project 05 · AXA Group Operations · 2026

A secure catalogue of AI agent extensions: skills, plugins and MCP servers

Omar El Hachimi architected and built AXA's group catalogue of extensions for AI coding assistants, used from Claude Code and GitHub Copilot. Each entity publishes its own catalogue, and every extension passes an automated security gate before anyone can install it.

Role Architecture and build

Agent extensions catalogue, how it works: 1 Publish, 2 Scan, 3 Review, 4 Share, 5 Install. 40,000+ repositories scanned (Oct 2026); 5,800+ AI assets found, with their owners; 8 types of extension supported.
Agent extensions catalogue: how it works and key figures.
40,000+repositories scanned (Oct 2026)
5,800+AI assets found, with their owners
8types of extension supported
230+automated tests

Context

Teams write extensions for AI coding assistants: skills, agents, plugins, hooks and MCP configurations. A scan of the group's GitHub found thousands of them, copied from project to project.

Sharing them saves time, but one bad extension can leak a secret, carry hidden instructions or quietly send data out.

The catalogue builds on GitHub's open-source awesome-copilot repository. My part is the architecture, the security gate and the census.

How it works

  1. PublishAn entity adds an extension to its catalogue.
  2. ScanAutomatic security checks run on it.
  3. ReviewA person reviews anything executable or flagged.
  4. ShareIt appears in the central catalogue and portal.
  5. InstallDevelopers install it in Claude Code or Copilot.

What I built

  • Federated ownership. Each entity publishes a catalogue from its own repository, on its own schedule. The central catalogue pulls them every night and never pushes.
  • A security gate. Structure checks, then deterministic scans (Gitleaks, Bandit, ShellCheck, detection of hidden Unicode and instruction overrides), then review. Executable or flagged extensions go to a person; blocking findings stop the extension.
  • Approvals tied to content. An approval is bound to the extension's fingerprint, so any later change needs a new review. Held extensions open an issue that a reviewer accepts or refuses.
  • Distribution. A plugin marketplace that Claude Code and GitHub Copilot install from directly, and a portal to browse everything.
  • A census. A read-only scan of the group's GitHub Enterprise that found the AI assets already in use, measured duplication and identified their owners.

Design choices

Pull, never push

Letting each entity own its catalogue and pulling from it kept ownership where the knowledge is, while the security rules stayed central.

Stack

Python · GitHub Actions · GitHub Agentic Workflows · Gitleaks · Bandit · ShellCheck · MCP · React 19 · TypeScript · Tailwind · GitHub GraphQL API

Questions

How do you secure AI agent skills and MCP servers before sharing them?

Scan every extension for secrets, unsafe code, hidden instructions and data exfiltration, send anything executable or flagged to a human reviewer, and bind each approval to the extension's content so any change triggers a new review. Omar El Hachimi built this gate for AXA's catalogue.