Agent skill
serena-memory
Gestion de la mémoire projet avec Serena MCP. Utiliser pour stocker et récupérer des informations persistantes sur le projet, les décisions architecturales, et le contexte entre sessions.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/serena-memory-karlito8888-new-ggv-gps
SKILL.md
Serena Memory - Mémoire Projet
Objectif
Maintenir une mémoire persistante du projet MyGGV GPS entre les sessions : décisions architecturales, patterns utilisés, problèmes résolus, et contexte important.
Périmètre
Inclus
- Stocker des décisions architecturales
- Mémoriser les patterns et conventions du projet
- Garder trace des bugs résolus et solutions
- Conserver le contexte entre sessions
Exclus
- Exploration de code → utiliser
serena-explore - Édition de code → utiliser
serena-edit - Documentation formelle → utiliser
archon-project
Outils Disponibles
1. store_memory
Stocker une information :
mcp__serena__store_memory({
key: "routing_service",
value: "OSRM via router.project-osrm.org",
category: "architecture",
tags: ["navigation", "api", "routing"],
});
2. recall_memory
Récupérer une information :
mcp__serena__recall_memory({
key: "routing_service",
});
// ou par catégorie
mcp__serena__recall_memory({
category: "architecture",
});
3. list_memories
Lister toutes les mémoires :
mcp__serena__list_memories({
category: "bugs", // optionnel, filtre par catégorie
});
4. delete_memory
Supprimer une mémoire obsolète :
mcp__serena__delete_memory({
key: "old_pattern",
});
Catégories Recommandées
architecture
Décisions structurelles du projet :
mcp__serena__store_memory({
key: "state_management",
value: "React hooks + useContext, pas de Redux. TanStack Query pour les données serveur.",
category: "architecture",
});
patterns
Patterns et conventions de code :
mcp__serena__store_memory({
key: "hook_naming",
value: "Tous les hooks custom commencent par 'use' et sont dans src/hooks/",
category: "patterns",
});
bugs
Bugs résolus et solutions :
mcp__serena__store_memory({
key: "ios_orientation_permission",
value: "iOS 13+ requiert DeviceOrientationEvent.requestPermission() appelé sur user gesture",
category: "bugs",
tags: ["ios", "compass", "permission"],
});
decisions
Choix techniques et leur justification :
mcp__serena__store_memory({
key: "why_turf_not_openlayers",
value:
"Turf.js choisi pour les calculs géo car plus léger (~50KB vs ~500KB pour OpenLayers). MapLibre gère déjà le rendu.",
category: "decisions",
});
context
Contexte projet général :
mcp__serena__store_memory({
key: "target_users",
value:
"Résidents et visiteurs de Garden Grove Village, Philippines. Accès via QR code à l'entrée.",
category: "context",
});
Mémoires Essentielles pour MyGGV GPS
Architecture
// Stack technique
{ key: "tech_stack", value: "React 19 + Vite + MapLibre GL + Supabase", category: "architecture" }
// Structure navigation
{ key: "navigation_states", value: "gps-permission → welcome → orientation-permission → navigating → arrived → exit-complete", category: "architecture" }
// Sources de données
{ key: "data_sources", value: "Supabase pour locations/POIs, OSRM pour routing, OSM/Esri pour tuiles", category: "architecture" }
Patterns
// Hooks
{ key: "map_hooks", value: "useMapConfig (config), useRouteManager (routes), useNavigationState (états), useMapTransitions (animations)", category: "patterns" }
// Composants
{ key: "modal_pattern", value: "Tous les modals utilisent Radix Dialog via src/components/ui/dialog.jsx", category: "patterns" }
Bugs Connus
// iOS
{ key: "ios_geolocation", value: "Requiert HTTPS. Utiliser GeolocateControl de MapLibre, pas navigator.geolocation directement.", category: "bugs" }
// Race condition
{ key: "style_loading", value: "Attendre isStyleLoaded() avant d'ajouter des sources/layers custom", category: "bugs" }
Workflow
Début de session
1. check_onboarding_performed → Vérifier si Serena est initialisé
2. list_memories → Voir le contexte existant
3. recall_memory(category: "context") → Charger le contexte projet
Après une décision importante
1. Documenter la décision
2. store_memory avec catégorie appropriée
3. Ajouter des tags pour faciliter la recherche
Après résolution d'un bug
1. store_memory avec category: "bugs"
2. Inclure : symptôme, cause, solution
3. Tagger avec les technologies concernées
Bonnes Pratiques
- Clés descriptives :
ios_orientation_permissionplutôt quebug1 - Valeurs complètes : Inclure le contexte et la solution, pas juste le problème
- Tags pertinents : Faciliter la recherche future
- Catégorisation cohérente : Utiliser les catégories standard
Exemple Complet
// Après avoir résolu un bug de routing
mcp__serena__store_memory({
key: "route_recalculation_threshold",
value: `
Problème: Route recalculée trop fréquemment sur petits écarts GPS.
Cause: Seuil de déviation trop sensible (10m).
Solution: Augmenté à 30m et ajouté debounce de 2s.
Fichier: src/lib/navigation.js, fonction checkRouteDeviation
`,
category: "bugs",
tags: ["routing", "gps", "performance", "navigation"],
});
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?