.agents/skills/react-template-form-feature/SKILL.md
Create or refactor React template form features from simple to advanced using {feature}.page.tsx + {feature}.handler.ts + {feature}.schema.ts with SimpleForm, FormProvider, shared form-fields, React Hook Form + Zod, TanStack Query, centralized data-access, and en/el i18n sync.
npx skillsauth add tkorakas/react-template react-template-form-featureInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A complete form feature aligned with this repository pattern, from basic auth forms to advanced mixed-input forms:
src/features/<feature>/<feature>.page.tsx: rendering and field wiring onlysrc/features/<feature>/<feature>.handler.ts: form state, options, mutation, submit flow, navigation/toast behaviorsrc/features/<feature>/<feature>.schema.ts: Zod schema and inferred form typesrc/data-access/<feature>/<feature>.api.ts (+ <feature>.schema.ts when needed): centralized API integrationpublic/locales/en/<namespace>.json and public/locales/el/<namespace>.json: user-facing labels and validation messages when copy changesUse src/features/advanced-form/* as the baseline for shared field wiring and structure.
Use this skill when asked to:
~/common/ui form field componentsCollect or infer before coding:
Choose components from ~/common/ui and wire as follows:
TextInput:
Use form.register('field') and pass error={form.formState.errors.field?.message}.Select, RadioGroup, CheckboxGroup, Combobox, AsyncMultiCombobox, DateSelector, DateRangePicker, Switch, Checkbox, PinInput:
Render under FormProvider so each component can use useFormContext + Controller internally.{ label, value } arrays; include dotColor only for Select when needed.YYYY-MM-DD) in form state.<feature>.schema.ts).superRefine(...).<feature>.handler.ts)useForm with zodResolver(schema) and explicit defaultValues.useMutation from TanStack Query.~/data-access/auth/auth.api).form, handleSubmit, loading state, options.toaster and navigation in mutation callbacks when required.<feature>.page.tsx)<FormProvider {...form}> and <SimpleForm onSubmit={handleSubmit}>.~/common/ui.register for TextInput; rely on controller-backed shared components for complex inputs.form.formState.errors into direct-register UI components.src/data-access/<feature>/<feature>.api.ts.httpClient directly in feature files.src/common/router.tsx if needed.en and el).pnpm type-check.pnpm build for route/UI changes.register only for TextInput; use shared controller-backed components for everything else.{ label, value }..superRefine.DateSelector for presets only; use DateRangePicker for explicit ranges.FormProvider.<feature>.schema.ts exists and exports inferred form type.<feature>.handler.ts owns form state and submit logic.<feature>.page.tsx only renders/wires fields and actions.~/common/ui are used with correct wiring pattern.src/data-access/<feature>/<feature>.api.ts.en and el if user-facing copy changed.pnpm type-check passes.pnpm build passes when route/UI changed.tools
Create or refactor a React template table feature with this repo pattern: <feature>.page.tsx + <feature>.handler.ts + optional <feature>.column.ts, URL-synced state via useTableState, DataTable/Pagination and table helpers from common/ui, centralized data-access, route wiring in common/router.tsx, and locale sync in en/el.
tools
Add or refactor API endpoints in this React template by updating feature-scoped <feature>.schema.ts parsers, <feature>.api.ts functions, and mocks/api.mockoon.json while keeping feature code free of direct http-client calls.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.