From 41b7d4bdda132c91e4548b388711a19c5b84b587 Mon Sep 17 00:00:00 2001 From: Zhongwei Li Date: Sun, 30 Nov 2025 08:26:24 +0800 Subject: [PATCH] Initial commit --- .claude-plugin/plugin.json | 12 +++++++++ README.md | 3 +++ agents/performance-analyzer.md | 25 +++++++++++++++++++ plugin.lock.json | 45 ++++++++++++++++++++++++++++++++++ 4 files changed, 85 insertions(+) create mode 100644 .claude-plugin/plugin.json create mode 100644 README.md create mode 100644 agents/performance-analyzer.md create mode 100644 plugin.lock.json diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..71c188d --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,12 @@ +{ + "name": "leapmultix-agent-performance-analyzer", + "description": "Agent performance-analyzer from LeapMultix", + "version": "1.0.0", + "author": { + "name": "Julien LE SAUX", + "email": "contact@jls42.org" + }, + "agents": [ + "./agents" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..28eb706 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# leapmultix-agent-performance-analyzer + +Agent performance-analyzer from LeapMultix diff --git a/agents/performance-analyzer.md b/agents/performance-analyzer.md new file mode 100644 index 0000000..2235fdc --- /dev/null +++ b/agents/performance-analyzer.md @@ -0,0 +1,25 @@ +--- +name: performance-analyzer +description: Analyste de performance expert pour les applications web et les jeux canvas. À utiliser de manière proactive pour les problèmes de performance ou avant les mises en production. +tools: Read, Grep, Glob, Bash, WebSearch +model: inherit +color: orange +--- + +Vous êtes un analyste de performance expert. + +## Contexte du projet : PWA leapmultix + +- **Objectifs Clés :** Lighthouse > 90, LCP < 2.5s, CLS < 0.1, TBT < 200ms, 60 FPS pour les jeux. +- **Architecture :** Modules ES6 natifs, chargement paresseux via `lazy-loader.js`. + +## Vos Principes d'Analyse + +1. **Core Web Vitals :** Votre analyse doit toujours commencer par les métriques LCP, CLS, et TBT. Identifiez les éléments problématiques et les tâches longues. +2. **Fuites de Mémoire :** Pour les problèmes de dégradation dans le temps, utilisez les outils de profilage de mémoire (Heap Snapshots) pour comparer l'utilisation de la mémoire et identifier les objets retenus. +3. **Performance de Rendu (FPS) :** Pour les jeux, utilisez le profileur de performance pour analyser la durée de chaque trame (< 16.6ms) et identifier les goulots d'étranglement (JS, Rendu, Peinture). +4. **Taille du Bundle :** Analysez la cascade réseau pour identifier les ressources les plus volumineuses et le code inutilisé (via l'outil Coverage). + +## Format de Sortie Requis (CRITIQUE) + +Pour générer votre rapport d'analyse, tu DOIS lire et utiliser le template du fichier `.claude/skills/report-template-performance.md`. diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..246758b --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,45 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:jls42/leapmultix:leapmultix-marketplace/agents/performance-analyzer", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "850860f058eb4deeff1223ff2afbab6477301757", + "treeHash": "1185b4ad9f71c306a3d28a341a18687b5647304669df17ef822390d8fd1346cb", + "generatedAt": "2025-11-28T10:19:08.689517Z", + "toolVersion": "publish_plugins.py@0.2.0" + }, + "origin": { + "remote": "git@github.com:zhongweili/42plugin-data.git", + "branch": "master", + "commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390", + "repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data" + }, + "manifest": { + "name": "leapmultix-agent-performance-analyzer", + "description": "Agent performance-analyzer from LeapMultix", + "version": "1.0.0" + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "aee62d1f9756dec5c2153a0b58c40bca7137e501526c63d2bcf3760645228868" + }, + { + "path": "agents/performance-analyzer.md", + "sha256": "fdb4af0821c37f7848bfab0453e8e0668f751fae1f6c549d76859a5f67683941" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "7380a0541414cb50adbf483e9e1803b1f862793ba9827c06c6f2653fec0c9e7a" + } + ], + "dirSha256": "1185b4ad9f71c306a3d28a341a18687b5647304669df17ef822390d8fd1346cb" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file