Synthèse automatique
Cette skill fait naviguer l'agent dans la structure visuelle d'un site via des fichiers PAGE_MAP.md (wireframes ASCII) et BLUEPRINT.md (table de correspondance vers les fichiers sources), pour les pages comme pour les composants.
Points forts
- Sépare clairement la géométrie visuelle (PAGE_MAP.md) de la correspondance vers le code (BLUEPRINT.md), ce qui évite de relire tout le source pour se repérer.
- Convention de balises explicite ([page.section] et [Component.Section]) réutilisée jusque dans le code via des commentaires inline, ce qui cadre les éditions.
- Couvre les deux niveaux d'échelle — pages routées et composants réutilisables — avec des règles de nommage de dossiers précises (slug minuscule vs PascalCase).
- Décrit une procédure de création de carte en quatre étapes, donc la skill sert aussi à produire la documentation structurelle, pas seulement à la consommer.
Limites
- Le format dépend entièrement de la discipline de l'équipe : si les cartes ne sont pas maintenues à jour, l'agent travaille sur une représentation obsolète.
- La skill est explicitement en phase de dogfooding et son arborescence de test ne doit pas être poussée en production telle quelle.
- Aucun outil de génération ou de validation automatique n'est fourni : les wireframes ASCII sont écrits et vérifiés à la main.
À utiliser dès qu'une tâche touche la mise en page d'une page ou l'agencement interne d'un composant d'un projet qui maintient déjà des fichiers .pageel/page-maps/.
Analyse de sécurité
SûrThe skill is documentation-only and contains no executable commands, destructive operations, network calls, credential handling, obfuscation, or safety-disabling instructions. It references reading and editing local markdown/source files under a project directory, which is normal low-risk behavior for a code-agent skill.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
Using the page map for the index page, find the [index.hero] section and change the headline alignment to centered without touching any other section.Create a page-map for the Hero.astro component under .pageel/page-maps/components/Hero/ with an ASCII wireframe and a BLUEPRINT.md mapping each [Hero.*] tag to its source and props.Build a new pricing page and first draft .pageel/page-maps/pages/pricing/ with PAGE_MAP.md and BLUEPRINT.md, then scaffold the Astro files to match those tags.name: page-map description: AI Agent skill to read, manage, and manipulate website visual structure using PAGE_MAP.md and BLUEPRINT.md — for both pages and components.
Skill: page-map
Version: 2.0.0
[!WARNING] Dogfooding Status: This skill is undergoing live testing (dogfooding) at
Projects/pageel-website/repo/.pageel/page-maps/. The.pageel/directory in that repository currently contains test data for this skill. Before pushing to production, review and complete the page-map files in the repo to ensure:
- The map content matches the actual code precisely (no outdated info).
- The
pages/andcomponents/directory structures strictly comply with the v2.0.0 spec of this skill.- The repository does not contain redundant testing artifacts — keep only finalized maps.
Intent
Use this skill when attempting to modify page layout, analyze frontend structure, or create new views/components. This skill anchors the AI Agent's structural understanding before analyzing complex source code (.astro, .tsx, etc.).
Scope: Applies to both full pages (e.g., index.astro, features.astro) and individual components (e.g., Hero.astro, Calculator.tsx). A component-level map captures the internal layout of a single reusable unit; a page-level map captures how those components are assembled into a route.
Instructions
1. Directory Structure
All maps are stored under .pageel/page-maps/ at the repository root, organized into two subdirectories:
.pageel/page-maps/
├── pages/ # Full route-level pages
│ ├── index/
│ │ ├── PAGE_MAP.md
│ │ └── BLUEPRINT.md
│ └── features/
│ ├── PAGE_MAP.md
│ └── BLUEPRINT.md
└── components/ # Individual reusable components
├── Hero/
│ ├── PAGE_MAP.md
│ └── BLUEPRINT.md
├── FeatureGrid/
│ ├── PAGE_MAP.md
│ └── BLUEPRINT.md
└── Calculator/
├── PAGE_MAP.md
└── BLUEPRINT.md
Rules:
- Pages →
.pageel/page-maps/pages/<page-name>/ - Components →
.pageel/page-maps/components/<ComponentName>/ - Component directory names use PascalCase matching the component filename (e.g.,
Hero,FeatureGrid). - Page directory names use lowercase matching the route slug (e.g.,
index,features,privacy).
2. Identify Existing Maps
Whenever tasked with analyzing or altering a UI element, search for PAGE_MAP.md and BLUEPRINT.md in this order:
.pageel/page-maps/components/<ComponentName>/— For component-level work..pageel/page-maps/pages/<page-name>/— For page-level work.- Current or target directory — Fallback for legacy or simple setups.
3. Reading Format
The structural layout relies on bracketed section names like [Section.Subsection].
PAGE_MAP.md: ASCII wireframes illustrating the visual layout geometry. Each major zone is labeled with a[Section.Subsection]tag.BLUEPRINT.md: A table mapping those tags to exact source files, props, and notes.
Naming convention for tags:
- Page maps:
[page.section]— e.g.,[index.hero],[index.features] - Component maps:
[Component.Section]— e.g.,[Hero.TechStackHeader],[Calculator.ResultCard]
4. Modifying Code
Search within the target source code for inline tags such as {/* [Section.Subsection] */}. Apply your edits contextually near the tags. DO NOT alter sections outside of the designated tags unless specifically requested.
5. Creating New Maps
When asked to create a new map:
- Determine scope: Is this a page or a component?
- Create
PAGE_MAP.mdcontaining ASCII wireframes that illustrate the layout vision. Use[Section.Subsection]references. For complex components, break down into logical zones (header, body, footer, sidebar, etc.). - Create
BLUEPRINT.mdto map those tags to the intended component files, props, and implementation notes. - Store files in the correct subdirectory:
- Component →
.pageel/page-maps/components/<ComponentName>/ - Page →
.pageel/page-maps/pages/<page-name>/
- Component →
6. Cross-Referencing (Page ↔ Component)
Page maps and component maps must be linked bidirectionally so navigation between layers is seamless.
In page-level PAGE_MAP.md:
- Each section tag should include an arrow referencing its component map:
[index.hero] → components/Hero/ - This tells the reader exactly where to find the detailed internal wireframe.
In page-level BLUEPRINT.md:
- Add a Component Map column with relative links to the component's
PAGE_MAP.md:| Section | Source | Hydration | Component Map | | :--- | :--- | :--- | :--- | | `[index.hero]` | `src/components/Hero.astro` | Static | [`components/Hero/`](../../components/Hero/PAGE_MAP.md) | - Add a Hydration column indicating the Astro directive (
client:load,client:visible, orStatic). - For inline sections without a dedicated component, use
—with a parenthetical note:— (inline: description).
Why this matters:
- Without cross-references, the agent must guess which component map corresponds to which page section.
- The hydration column prevents mistakes when modifying interactive vs. static components.
7. Practical Guidelines (Lessons Learned)
- Component maps capture internal layout: A component map should visualize the nested HTML structure within the component, not just a placeholder box. This helps catch nesting bugs (e.g., unclosed
<div>tags shifting sections). - Page maps show composition: A page map shows which components appear in what order and their relative positioning — it does not duplicate component internals.
- Keep wireframes honest: Describe what the UI actually renders, not an idealized version. If a section shows a mockup dashboard built from HTML/CSS tags (not a real screenshot), label it as "Interactive UI Mockup", not "Dashboard Image".
- Update maps when code changes: After fixing layout bugs or restructuring components, update the corresponding
PAGE_MAP.mdto stay in sync.
8. Site Index (INDEX.md)
Create an INDEX.md file at the root of .pageel/page-maps/ to serve as the overall master map of the entire website. This file tracks the page-mapping progress of each page and component.
Vị trí: .pageel/page-maps/INDEX.md
Cấu trúc bắt buộc:
# Site Map Index
> Last updated: YYYY-MM-DD
## Pages
| Route | Source | Status | Map |
| :--- | :--- | :--- | :--- |
| `/` | `src/pages/index.astro` | ✅ Mapped | [pages/index/](pages/index/PAGE_MAP.md) |
| `/features` | `src/pages/features.astro` | ✅ Mapped | [pages/features/](pages/features/PAGE_MAP.md) |
| `/blog` | `src/pages/blog/index.astro` | ⬜ Pending | — |
Pages: `████████░░░░░░░░░░░░` 3/18 (17%)
## Components
| Component | Source | Used by | Status | Map |
| :--- | :--- | :--- | :--- | :--- |
| Navbar | `Navbar.tsx` | All pages | ✅ Mapped | [components/Navbar/](components/Navbar/PAGE_MAP.md) |
| Hero | `Hero.astro` | index | ✅ Mapped | [components/Hero/](components/Hero/PAGE_MAP.md) |
| SEO | `SEO.astro` | All pages (layout) | ⏭️ Skip | — (utility) |
Components: `██████████████████░░` 9/11 (82%)
Status icons:
✅ Mapped— PAGE_MAP.md + BLUEPRINT.md are completed⬜ Pending— Map not created yet⏭️ Skip— Utility component / no visual interface (e.g., SEO, OptimizedImage)
Progress bar format:
- Use the block characters
█(filled) and░(empty), with a total length of 20 characters. - Formula:
filled = round(mapped / total * 20), remaining is░. - Follow with
X/Y (Z%).
Shared components (used across multiple pages):
-
The Used by column lists the pages utilizing that component (e.g.,
index, featuresorAll pages). -
A component only needs a single map located at
components/<Name>/— do not duplicate maps for each page. -
In the page's BLUEPRINT, simply link to the shared component map (as defined in §6).
-
Always update INDEX.md whenever creating or deleting a page map.
-
List all pages and components in the source code, including those without maps (to clearly identify the coverage gap).
-
Calculate the progress bar at the bottom of each table to visualize progress.
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/page-map-ms47vpv7/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/page-map-ms47vpv7' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/page-map-ms47vpv7/download' --output '.skill-downloads/page-map-ms47vpv7/SKILL.md.part' && mv '.skill-downloads/page-map-ms47vpv7/SKILL.md.part' '.skill-downloads/page-map-ms47vpv7/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/page-map-ms47vpv7/SKILL.md' && test -s '.skill-downloads/page-map-ms47vpv7/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/page-map' && cp -R '.skill-downloads/page-map-ms47vpv7' '.claude/skills/page-map'Cursor
test -f '.skill-downloads/page-map-ms47vpv7/SKILL.md' && test -s '.skill-downloads/page-map-ms47vpv7/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/page-map' && cp -R '.skill-downloads/page-map-ms47vpv7' '.cursor/skills/page-map'Codex
test -f '.skill-downloads/page-map-ms47vpv7/SKILL.md' && test -s '.skill-downloads/page-map-ms47vpv7/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/page-map' && cp -R '.skill-downloads/page-map-ms47vpv7' '.agents/skills/page-map'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/page-map-ms47vpv7'openskills read 'page-map-ms47vpv7'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/page-map-ms47vpv7/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.