npx claudepluginhub defra/nrf-libraryThis skill uses the workspace's default tool permissions.
When invoked, `args` will be a space-separated string: `<ticket> <url>`
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
When invoked, args will be a space-separated string: <ticket> <url>
NRF2-358http://localhost:3000/Playwright MCP manages its own browser — no existing Chrome instance is needed.
Before testing:
Fetch the Jira ticket details by running the script at read-jira-ticket.sh which is in the same folder as this skill file:
bash <path>/read-jira-ticket.sh <ticket>
This uses the JIRA_USER and JIRA_TOKEN environment variables, loaded from ~/.env if not already in the environment. See docs/feature-tester.md in nrf-library for setup instructions.
If the script fails for any reason (missing env vars, network error, non-zero exit code), stop immediately. Do not proceed to any further steps. Report the exact error to the user and ask them to fix the issue before retrying.
Extract every scenario from the description as a numbered checklist before touching the app.
Navigate to the test URL using mcp__playwright__browser_navigate. Confirm the correct page loaded by checking the page title or H1 via mcp__playwright__browser_snapshot before proceeding.
You must narrate every step out loud — the user cannot see tool calls and has no other way to know you are working.
"Fetching Jira ticket...", "Testing AC2: navigating to /cookies/preferences", "Clicking Accept button", "Checking dataLayer push". Never call a tool without narrating first."AC3: Banner should not reappear after accepting"."Waiting for browser — <tool name> has not returned yet...". Do not silently wait."FAILED: <tool name> — <error>. Stopping this scenario.". Do not silently skip the failure or move on."Scenario 3 done — PASS" or "Scenario 3 done — FAIL: <reason>".Use mcp__playwright__browser_navigate to load a fresh page for each scenario. Playwright MCP maintains isolated storage contexts — use a new navigation to reset state between scenarios rather than manually clearing cookies.
document.cookie — it will not work. Hapi sets cookies as HttpOnly by default.fetch to reset state — CSRF protection will block it (403).mcp__playwright__browser_snapshot to read page structure for assertions (preferred over screenshots).mcp__playwright__browser_evaluate to inspect JS globals, e.g. window.dataLayer, window.gtag, inline <script> tags injected by the template.Test purely through the browser UI. Do not read source code, route files, or templates unless you need to verify something that is impossible to observe through the browser (e.g. HttpOnly cookie flags, cookie expiry). If you do read code, note it explicitly in the results table.
Mark these as code-verified or not testable in dev rather than silently skipping:
After all scenarios are complete, close the browser using mcp__playwright__browser_close.
Return only the results table and any bugs/gaps below it. No preamble, no narration of steps taken.
| Scenario | Description | Result | Notes |
|---|---|---|---|
| 1 | ... | ✅ Pass / ❌ Fail / ⚠️ Partial / 🔍 Code-verified | ... |
List bugs, gaps, or deferred items separately below the table.