Synthèse automatique
Cette compétence vérifie l'interface utilisateur NiFi via Chrome, capture de nouvelles captures d'écran et met à jour la documentation dans doc/guides/.
Points forts
- Automatisation complète de la mise à jour des captures d'écran et du texte de documentation
- Vérification visuelle des différences entre l'interface réelle et la documentation existante
- Plusieurs modes d'exécution (vérification, captures, documentation) pour flexibilité
Limites
- Nécessite que les conteneurs NiFi et Keycloak soient en cours d'exécution
- Dépend de l'extension Claude-in-Chrome pour la navigation du navigateur
- Ne démarre pas les conteneurs automatiquement
Utilisez cette compétence lorsque vous devez synchroniser la documentation des guides avec l'interface utilisateur actuelle de NiFi après une mise à jour.
Ne l'utilisez pas si vous ne disposez pas d'un environnement NiFi en cours d'exécution ou si vous n'êtes pas en train de mettre à jour la documentation de l'interface.
Analyse de sécurité
PrudenceThe skill performs local development tasks (checking Docker containers, taking screenshots, updating docs) using Bash, file writes, and browser automation. No destructive commands, external data exfiltration, or obfuscated payloads. However, it leverages powerful tools (Bash, Playwright) in a way that could be risky if dependencies are tampered with, so caution is appropriate.
- •Uses Bash to run scripts that check container status and start Playwright tests, which could potentially execute arbitrary code if dependencies are compromised, but all operations are local development tasks.
- •Chrome browser automation with the Claude-in-Chrome extension may interact with local NiFi instance; no data exfiltration.
- •Playwright scripts may access localhost services and handle authentication credentials, but they remain within the containerized environment.
Exemples
/update-guide-screenshots/update-guide-screenshots verifyname: update-guide-screenshots description: Verify NiFi custom UI tabs via Chrome and update doc/guides screenshots and guides user-invocable: true allowed-tools: Bash, Read, Write, Edit, Glob, Grep, mcp__claude-in-chrome__*
Update Guide Screenshots Skill
Verifies the NiFi custom UI against existing documentation, takes fresh screenshots, and updates doc/guides/ content to match the current UI.
Parameters
Optional argument selects the workflow:
/update-guide-screenshots— Full workflow: verify UI via Chrome, take screenshots, update docs/update-guide-screenshots verify— Chrome-only: browse UI tabs and report differences (no file changes)/update-guide-screenshots screenshots— Take screenshots only (Playwright headless, no Chrome needed)/update-guide-screenshots docs— Update documentation text only (assumes screenshots are current)
Prerequisites
- NiFi and Keycloak containers must be running. Use
/deploy startif not. - For
verifymode: Chrome browser with Claude-in-Chrome extension connected. - For
screenshotsand default mode: Playwright installed ine-2-e-playwright/.
Workflow
Step 1: Verify Containers Running
./integration-testing/src/main/docker/check-status.sh --quiet
If not healthy, instruct the user to run /deploy start first. Do NOT start containers from this skill.
Step 2: Read Current Documentation
Read these files to understand the current documented state:
doc/guides/QuickStart.adoc— Main guide with processor and gateway documentationdoc/guides/IssuerConfigPropertiesGuide.adoc— Detailed issuer configuration walkthrough
Also read all existing screenshot PNGs in doc/guides/ to compare against the live UI.
Step 3: Verify UI via Chrome (for verify and default mode)
Use Chrome browser automation to navigate the live NiFi UI and compare against documentation.
3a. Log in to NiFi
- Navigate to
https://localhost:9095/nifi/ - Enter credentials:
testUser/drowssap - Click Log in
- Wait for canvas to load (URL contains
/process-groups/)
3b. Inspect JWT Processor Custom UI
- From root canvas, double-click the JWT Auth Pipeline process group
- Right-click the MultiIssuerJWTTokenAuthenticator processor → click Advanced
- Wait for custom UI to load
- Verify and screenshot each tab:
- Configuration — Issuer form with Name, JWKS Source Type, Issuer URI, JWKS URL, Audience, Client ID
- Token Verification — Token input textarea, Verify Token / Clear buttons, Verification Results area
- Metrics — Shows "Metrics Not Available" message for JWT processor
- Help — Accordion sections: Getting Started, Issuer Configuration, Authorization Rules, Token Verification, Troubleshooting, Additional Resources
- Click Back to Processor to return
3c. Inspect REST API Gateway Custom UI
- Navigate to root canvas, double-click the REST API Gateway process group
- Right-click the RestApiGateway processor → click Advanced
- Wait for custom UI to load
- Verify and screenshot each tab:
- Endpoint Configuration — Global Settings table + route table with Name, Path, Methods, Enabled, Actions columns
- Endpoint Tester — Route dropdown, Method dropdown, Authorization Token textarea, Send Request button
- Issuer Configuration — Issuer table with Name, JWKS Source, Type, Issuer URI, Actions columns
- Token Verification — Same as JWT processor Token Verification
- Metrics — Gateway Metrics with Token Validation, HTTP Security, Gateway Events sections
- Help — REST API Gateway accordion with Key Features, Tabs listing, Troubleshooting, Additional Resources
Also capture the Route Editor by clicking Edit on a route from the Endpoint Configuration tab.
3d. Report Differences
Compare what was seen in Chrome against the existing screenshots and documentation text. Report:
- New tabs not documented
- Removed tabs still documented
- Changed content/layout within tabs
- Incorrect text descriptions
Step 4: Take Fresh Screenshots (for screenshots and default mode)
Write a temporary Playwright script to e-2-e-playwright/take-screenshots.mjs and run it. The script must:
- Use
@playwright/test(installed ine-2-e-playwright/node_modules) - Launch headless Chromium with
--ignore-certificate-errors,ignoreHTTPSErrors: true, andlocale: 'en-US'to force English UI - Set viewport to
1456 x 816for consistent screenshot dimensions - Log in via the NiFi login form (
testUser/drowssap) - Use the NiFi REST API (
/nifi-api/flow/process-groups/root) to discover processor IDs - Navigate to each processor's advanced UI via URL:
https://localhost:9095/nifi/#/process-groups/{pgId}/Processor/{procId}/advanced - Wait for the iframe to load and locate it with
page.waitForSelector('iframe')+contentFrame() - Click tabs WITHIN THE IFRAME using
frame.locator('a:visible').filter({ hasText: /^Tab Name$/ })- IMPORTANT: Use
:visiblefilter — some tabs have hidden duplicates with class "hidden"
- IMPORTANT: Use
- Take
page.screenshot({ fullPage: true })for each tab (captures the full NiFi shell including iframe) - Save screenshots to
doc/guides/with these exact filenames
JWT Processor screenshots:
| Filename | Tab | Notes |
|----------|-----|-------|
| ui-configuration-tab.png | Configuration | Default tab, shows issuer form |
| ui-token-verification-tab.png | Token Verification | Empty token input state |
Gateway Processor screenshots:
| Filename | Tab | Notes |
|----------|-----|-------|
| ui-gateway-endpoint-configuration.png | Endpoint Configuration | Default tab, shows routes table |
| ui-gateway-route-editor.png | Endpoint Configuration | After clicking Edit on first route |
| ui-gateway-endpoint-tester.png | Endpoint Tester | Empty state |
| ui-gateway-endpoint-tester-response.png | Endpoint Tester | After clicking Send Request |
| ui-gateway-issuer-configuration.png | Issuer Configuration | Shows issuers table |
| ui-gateway-token-verification.png | Token Verification | Empty token input state |
| ui-gateway-metrics.png | Metrics | Shows Gateway Metrics sections |
| ui-gateway-help.png | Help | Shows Component Help accordion |
After the script runs successfully, delete the temporary take-screenshots.mjs file.
Step 5: Update Guide Documentation (for docs and default mode)
Update doc/guides/QuickStart.adoc and doc/guides/IssuerConfigPropertiesGuide.adoc based on differences found:
Common things to check and update:
- Tab counts and names in gateway description (e.g., "four tabs" → "six tabs")
- Tab list in gateway introduction paragraph
- New sections for any tabs not yet documented (with
image::directive and description) - Removed sections for tabs that no longer exist
- Screenshot references — ensure every
image::directive matches an actual file indoc/guides/ - Login credentials — must be
testUser/drowssap(notadmin/adminadminadmin) - Cross-reference anchors — verify
link:targets resolve correctly
Do NOT change sections about tabs whose UI has not changed. Only update what is actually different.
Step 6: Report Summary
Output a summary table showing:
- Which screenshots were updated/added/unchanged
- Which documentation sections were modified
- Any issues found that require manual attention
Key Paths
| Path | Purpose |
|------|---------|
| doc/guides/QuickStart.adoc | Main quick start guide |
| doc/guides/IssuerConfigPropertiesGuide.adoc | Detailed issuer configuration guide |
| doc/guides/*.png | Guide screenshots |
| e-2-e-playwright/ | Playwright project root (has node_modules/) |
| e-2-e-playwright/utils/constants.js | Processor type names for API lookups |
Critical Rules
- NEVER start or stop Docker containers — this skill only reads the running UI
- ALWAYS delete the temporary
take-screenshots.mjsafter use - ALWAYS use
:visibleselector when clicking tabs in iframes (hidden duplicates exist) - Screenshots MUST use
fullPage: trueto capture the complete NiFi shell - The Playwright script MUST run from the
e-2-e-playwright/directory (fornode_modulesresolution) - Do NOT update screenshots that haven't visually changed — compare before overwriting
- NiFi custom UI loads inside an iframe on the
/advancedURL — all tab interactions must target the iframe'scontentFrame() - Screenshots MUST always be in English — the UI auto-detects browser language via
navigator.language, so Playwright must launch withlocale: 'en-US'to prevent German or other translations from appearing
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/update-guide-screenshots-mmk3nhb4/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/update-guide-screenshots-mmk3nhb4' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/update-guide-screenshots-mmk3nhb4/download' --output '.skill-downloads/update-guide-screenshots-mmk3nhb4/SKILL.md.part' && mv '.skill-downloads/update-guide-screenshots-mmk3nhb4/SKILL.md.part' '.skill-downloads/update-guide-screenshots-mmk3nhb4/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.
Outils déclarés par l’auteur (à vérifier dans votre agent) : Bash, Read, Write, Edit, Glob, Grep, mcp__claude-in-chrome__*
Extrait original : Prerequisites
- NiFi and Keycloak containers must be running. Use
/deploy startif not. - For
verifymode: Chrome browser with Claude-in-Chrome extension connected. - For
screenshotsand default mode: Playwright installed ine-2-e-playwright/.
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/update-guide-screenshots-mmk3nhb4/SKILL.md' && test -s '.skill-downloads/update-guide-screenshots-mmk3nhb4/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/update-guide-screenshots' && cp -R '.skill-downloads/update-guide-screenshots-mmk3nhb4' '.claude/skills/update-guide-screenshots'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/update-guide-screenshots-mmk3nhb4'openskills read 'update-guide-screenshots-mmk3nhb4'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/update-guide-screenshots-mmk3nhb4/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.
Rédaction de docs Supabase
Documentation
Rédigez, éditez et révisez le contenu de la documentation Supabase : guides, tutoriels, références et partiels. Suivez les guides de style et les règles de validation MDX/TOML.
Créer un enregistrement de décision d'architecture
Documentation
Créer un nouveau ADR avec numérotation séquentielle, l'enregistrer dans le graphe AgentDB et le lier aux ADR associés.
Mise à jour de plan avec recherche approfondie
Documentation
Met à jour un document de plan en lançant des sous-agents en parallèle pour analyser un sujet sur tous les passes du compilateur, puis consolide les résultats.