Mise à jour des captures d'écran des guides

VérifiéPrudence

Ce skill vérifie l'interface personnalisée NiFi via Chrome, capture de nouvelles captures d'écran et met à jour les guides dans `doc/guides/` pour refléter l'interface actuelle. Utile lors de modifications de l'interface utilisateur pour garantir que la documentation reste synchronisée avec la réalité.

Spar Skills Guide Bot
DocumentationIntermédiaire
8002/06/2026
Claude Code
#nifi#ui-testing#screenshots#documentation-update

Recommandé pour

Notre avis

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
Quand l'utiliser

Utilisez cette compétence lorsque vous devez synchroniser la documentation des guides avec l'interface utilisateur actuelle de NiFi après une mise à jour.

Quand l'éviter

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é

Prudence
Score qualité92/100

The 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.

Points d'attention
  • 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

Full screenshot update
/update-guide-screenshots
Verify UI only
/update-guide-screenshots verify

name: 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 start if not.
  • For verify mode: Chrome browser with Claude-in-Chrome extension connected.
  • For screenshots and default mode: Playwright installed in e-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 documentation
  • doc/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

  1. Navigate to https://localhost:9095/nifi/
  2. Enter credentials: testUser / drowssap
  3. Click Log in
  4. Wait for canvas to load (URL contains /process-groups/)

3b. Inspect JWT Processor Custom UI

  1. From root canvas, double-click the JWT Auth Pipeline process group
  2. Right-click the MultiIssuerJWTTokenAuthenticator processor → click Advanced
  3. Wait for custom UI to load
  4. 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
  5. Click Back to Processor to return

3c. Inspect REST API Gateway Custom UI

  1. Navigate to root canvas, double-click the REST API Gateway process group
  2. Right-click the RestApiGateway processor → click Advanced
  3. Wait for custom UI to load
  4. 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:

  1. Use @playwright/test (installed in e-2-e-playwright/node_modules)
  2. Launch headless Chromium with --ignore-certificate-errors, ignoreHTTPSErrors: true, and locale: 'en-US' to force English UI
  3. Set viewport to 1456 x 816 for consistent screenshot dimensions
  4. Log in via the NiFi login form (testUser / drowssap)
  5. Use the NiFi REST API (/nifi-api/flow/process-groups/root) to discover processor IDs
  6. Navigate to each processor's advanced UI via URL: https://localhost:9095/nifi/#/process-groups/{pgId}/Processor/{procId}/advanced
  7. Wait for the iframe to load and locate it with page.waitForSelector('iframe') + contentFrame()
  8. Click tabs WITHIN THE IFRAME using frame.locator('a:visible').filter({ hasText: /^Tab Name$/ })
    • IMPORTANT: Use :visible filter — some tabs have hidden duplicates with class "hidden"
  9. Take page.screenshot({ fullPage: true }) for each tab (captures the full NiFi shell including iframe)
  10. 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 in doc/guides/
  • Login credentials — must be testUser / drowssap (not admin/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.mjs after use
  • ALWAYS use :visible selector when clicking tabs in iframes (hidden duplicates exist)
  • Screenshots MUST use fullPage: true to capture the complete NiFi shell
  • The Playwright script MUST run from the e-2-e-playwright/ directory (for node_modules resolution)
  • Do NOT update screenshots that haven't visually changed — compare before overwriting
  • NiFi custom UI loads inside an iframe on the /advanced URL — all tab interactions must target the iframe's contentFrame()
  • Screenshots MUST always be in English — the UI auto-detects browser language via navigator.language, so Playwright must launch with locale: 'en-US' to prevent German or other translations from appearing
Skills similaires