Launch and test the flash-card application locally to verify UI changes and auth workflows.

Install

mkdir -p .claude/skills/verify-achiermann && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/19066" && unzip -o skill.zip -d .claude/skills/verify-achiermann && rm skill.zip

Installs to .claude/skills/verify-achiermann

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Build, run and drive the flash-cards app locally to verify UI changes end-to-end (mobile + desktop viewports).
110 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Build and launch the flash-cards app locally
  • Mint JWT tokens for local authentication without a password
  • Drive the UI using Playwright for end-to-end testing
  • Test UI changes across mobile and desktop viewports
  • Simulate user interactions like taps and swipes

How it works

This skill builds and launches the flash-cards app locally, provides a method to mint JWT tokens for authentication, and uses Playwright to drive the UI for end-to-end verification across different viewports.

Inputs & outputs

You give it
Flash-cards app source code and user interaction commands
You get back
Locally running app, JWT token, and UI verification results

When to use verify

  • Verifying UI updates
  • Testing mobile responsive layouts
  • Validating auth states

About this skill

Verify flash-cards changes

Build / launch

  • npm run lint and npm run build from the repo root (warnings in Conjugator.js are pre-existing).
  • Dev server: npx next dev -p 3111 (avoid 3000 in case the user runs their own dev server). Ready in ~3s.

Auth handle (local only)

The app is behind custom JWT auth (auth_token httpOnly cookie, signed with JWT_SECRET from .env.local). To drive it without a password, mint a token with the project's own jsonwebtoken:

  1. Fetch one user row (read-only) from Supabase REST: GET {NEXT_PUBLIC_SUPABASE_URL}/rest/v1/userdata?select=id,username&limit=1 with apikey/Authorization: Bearer {SUPABASE_SERVICE_ROLE_KEY} and Accept-Profile: flash_cards (tables live in the flash_cards schema, not public).
  2. jwt.sign({ id, username }, JWT_SECRET, { expiresIn: '1h' }) → set as the auth_token cookie for http://localhost:3111.

Never print the env secrets; print only the token.

Drive

  • Playwright library (no bundled browsers needed): chromium.launch({ channel: 'chrome', headless: true }) uses the installed system Chrome. Install playwright in a scratch dir, never in the repo (protected lockfile).
  • Mobile = viewport ≤768px wide (e.g. 390×844, hasTouch: true, isMobile: true); desktop e.g. 1280×800.
  • Gotcha (cold profile): the home sets list won't render on the first visit of a fresh browser profile — SetsControl calls getFilteredSets() without subscribing to sets, so it only shows data after the zustand persist localStorage exists. Visit /, wait ~1.5s, then page.reload().
  • Desktop selects a set by clicking .set-item .set-content; mobile auto-selects the centered carousel card.
  • Swipes: dispatch synthetic TouchEvents (touchstart/move/end with Touch objects) on the element — React's root listeners pick them up.

Data safety

.env.local points at the user's real Supabase project. Keep runs read-only: navigation, taps, swipes, scrolling. Do NOT submit add-word forms, click Learned/archive/delete, or create sets (these PATCH/POST the real DB).

When not to use it

  • When performing write operations to the Supabase database
  • When installing Playwright directly into the repository
  • When the home sets list needs to render on the first visit of a fresh browser profile without a reload

Limitations

  • Runs must be read-only to avoid modifying the real Supabase DB
  • Playwright must be installed in a scratch directory, not the repo
  • The home sets list won't render on the first visit of a fresh browser profile without a `page.reload()`

How it compares

This workflow provides a specific method for local authentication using JWT and Playwright for UI driving, unlike a generic approach that might require manual login or different testing tools.

Compared to similar skills

verify side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
verify (this skill)013dReviewIntermediate
epic-forms15moNo flagsIntermediate
implementing-figma-ui-tempad-dev04moNo flagsIntermediate
frontend-design-zh04moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

epic-forms

epicweb-dev

Guide on forms with Conform and validation with Zod for Epic Stack

12

implementing-figma-ui-tempad-dev

ecomfe

Implement integration-ready UI code from a Figma selection or a provided nodeId using TemPad Dev MCP as the only source of design evidence (code snapshot, structure, screenshot, assets, tokens, codegen config). Detect the target repo stack and conventions first, then translate TemPad Dev’s Tailwind-like JSX/Vue IR into project-native code without adding new dependencies. Never guess key styles or measurements; avoid screenshot tuning loops. If required evidence is missing/contradictory or assets cannot be handled under repo policy, stop or ship a safe base with explicit warnings and omissions.

00

frontend-design-zh

L-LesterYu

使用 React、Tailwind CSS 和 shadcn/ui 创建独特、生产级的静态网站——无需设计稿。从纯文本需求生成大胆、令人难忘的设计,具备反AI套路美学、移动优先响应式模式和单文件打包功能。适用于构建落地页、营销网站、作品集、仪表盘或任何静态Web界面。支持 Vite(纯静态)和 Next.js(Vercel部署)两种工作流。

00

shadcn

Rain-kl

Manages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI. Provides project context, component docs, and usage examples. Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json file. Also

00

nextjs-developer

zenobi-us

Expert Next.js developer mastering Next.js 14+ with App Router and full-stack features. Specializes in server components, server actions, performance optimization, and production deployment with focus on building fast, SEO-friendly applications.

328531

shadcn-ui-setup

maneeshanif

Install and configure Shadcn/ui component library with Radix UI primitives, Aceternity UI effects, set up components, and manage the component registry. Use when adding Shadcn/ui to a Next.js project or installing specific UI components for Phase 2.

37194

Search skills

Search the agent skills registry