Mise à jour des captures d'écran des guides

VérifiéSûr

Vérifie l'interface personnalisée NiFi via Chrome et met à jour les captures d'écran et guides de documentation pour correspondre à l'interface utilisateur actuelle.

Spar Skills Guide Bot
DocumentationIntermédiaire
4002/06/2026
Claude Code
#nifi#chrome-automation#screenshots#documentation-update

Recommandé pour

Notre avis

Vérifie l'interface utilisateur NiFi via Chrome, capture de nouvelles captures d'écran et met à jour les guides de documentation dans doc/guides/.

Points forts

  • Automatise la mise à jour des captures d'écran et du texte documentaire.
  • Détecte les différences entre l'UI en direct et la documentation existante.
  • Offre des modes séparés pour vérification, capture d'écran et mise à jour du texte.

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.
  • Non applicable à d'autres environnements ou applications.
Quand l'utiliser

Lorsque vous devez synchroniser la documentation avec les changements de l'interface utilisateur NiFi.

Quand l'éviter

Lorsque vous travaillez sur une documentation qui n'implique pas l'interface utilisateur NiFi ou que vous n'avez pas accès à l'environnement de test.

Analyse de sécurité

Sûr
Score qualité90/100

The skill automates UI verification, screenshot capture, and documentation updates for a local development environment. It uses Chrome automation and Playwright headless to interact with a local NiFi instance. No destructive commands, external payloads, or data exfiltration are present. The only script execution is a generated Playwright script that follows the provided template, and container status is checked via a pre-existing bash script. Overall, the operations are legitimate and low risk.

Aucun point d'attention détecté

Exemples

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

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