Buzzform
buildnbuzz/buzzform
A skill your agent uses when working with BuzzForm schema-driven forms, @buildnbuzz/form-core, @buildnbuzz/form-react, or any related APIs like defineSchema, InferType, FormProvider, useDataField…
Form validation combining Zod schemas with React Hook Form, including localized error messages, Server Action integration, and shadcn/ui Form components.
$ npx skills add BlackBeltTechnology/pi-agent-dashboard --skill zod-react-hook-form -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install BlackBeltTechnology/pi-agent-dashboard zod-react-hook-form --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/BlackBeltTechnology/pi-agent-dashboard.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/frontend-patterns/.pi/skills/zod-react-hook-form .claude/skills/zod-react-hook-form && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "zod-react-hook-form" agent skill from https://github.com/BlackBeltTechnology/pi-agent-dashboard/tree/develop/packages/frontend-patterns/.pi/skills/zod-react-hook-form into .claude/skills/zod-react-hook-form/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "zod-react-hook-form", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/BlackBeltTechnology/pi-agent-dashboard/tree/develop/packages/frontend-patterns/.pi/skills/zod-react-hook-formType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add BlackBeltTechnology/pi-agent-dashboard --skill zod-react-hook-form -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install BlackBeltTechnology/pi-agent-dashboard zod-react-hook-form --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BlackBeltTechnology/pi-agent-dashboard.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/frontend-patterns/.pi/skills/zod-react-hook-form .agents/skills/zod-react-hook-form && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "zod-react-hook-form" agent skill from https://github.com/BlackBeltTechnology/pi-agent-dashboard/tree/develop/packages/frontend-patterns/.pi/skills/zod-react-hook-form into .agents/skills/zod-react-hook-form/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "zod-react-hook-form", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add BlackBeltTechnology/pi-agent-dashboard --skill zod-react-hook-form -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install BlackBeltTechnology/pi-agent-dashboard zod-react-hook-form --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BlackBeltTechnology/pi-agent-dashboard.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/frontend-patterns/.pi/skills/zod-react-hook-form .cursor/skills/zod-react-hook-form && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "zod-react-hook-form" agent skill from https://github.com/BlackBeltTechnology/pi-agent-dashboard/tree/develop/packages/frontend-patterns/.pi/skills/zod-react-hook-form into .cursor/skills/zod-react-hook-form/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "zod-react-hook-form", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/BlackBeltTechnology/pi-agent-dashboard.git --path packages/frontend-patterns/.pi/skills/zod-react-hook-form--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add BlackBeltTechnology/pi-agent-dashboard --skill zod-react-hook-form -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install BlackBeltTechnology/pi-agent-dashboard zod-react-hook-form --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BlackBeltTechnology/pi-agent-dashboard.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/frontend-patterns/.pi/skills/zod-react-hook-form .gemini/skills/zod-react-hook-form && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "zod-react-hook-form" agent skill from https://github.com/BlackBeltTechnology/pi-agent-dashboard/tree/develop/packages/frontend-patterns/.pi/skills/zod-react-hook-form into .gemini/skills/zod-react-hook-form/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "zod-react-hook-form", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install BlackBeltTechnology/pi-agent-dashboard zod-react-hook-formInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add BlackBeltTechnology/pi-agent-dashboard --skill zod-react-hook-form -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/BlackBeltTechnology/pi-agent-dashboard.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/frontend-patterns/.pi/skills/zod-react-hook-form .github/skills/zod-react-hook-form && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "zod-react-hook-form" agent skill from https://github.com/BlackBeltTechnology/pi-agent-dashboard/tree/develop/packages/frontend-patterns/.pi/skills/zod-react-hook-form into .github/skills/zod-react-hook-form/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "zod-react-hook-form", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add BlackBeltTechnology/pi-agent-dashboard --skill zod-react-hook-form -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install BlackBeltTechnology/pi-agent-dashboard zod-react-hook-form --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BlackBeltTechnology/pi-agent-dashboard.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/frontend-patterns/.pi/skills/zod-react-hook-form .opencode/skills/zod-react-hook-form && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "zod-react-hook-form" agent skill from https://github.com/BlackBeltTechnology/pi-agent-dashboard/tree/develop/packages/frontend-patterns/.pi/skills/zod-react-hook-form into .opencode/skills/zod-react-hook-form/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "zod-react-hook-form", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
zod-react-hook-formForm validation combining Zod schemas with React Hook Form, including localized error messages, Server Action integration, and shadcn/ui Form components.
Zod React Hook Form is an agent skill from BlackBeltTechnology/pi-agent-dashboard. Form validation combining Zod schemas with React Hook Form, including localized error messages, Server Action integration, and shadcn/ui Form components. Use when building forms, validating user input, handling form submissions, or implementing Server Actions with validation.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `SKILL.md.AGENTS.md`).
It sits in Frontend & Design, covering Forms and validation and React components. It works with Zod and shadcn/ui. The repository describes itself as: Real-time web dashboard for pi coding-agent sessions. Multi-session view, live chat mirroring, integrated terminal, diff viewer, pi-flows execution, and mobile-first remote… The licence is MIT.
Read from SKILL.md and the folder at commit e23e533. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
RESEND_API_KEYSTRIPE_SECRET_KEYSTRIPE_WEBHOOK_SECRETFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Zod React Hook Form loads about 1.8k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 23 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from BlackBeltTechnology/pi-agent-dashboard at commit e23e533, republished under its MIT licence (© BlackBeltTechnology). 23 words, ~1,767 tokens.
.claude/skills/zod-react-hook-form/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.// lib/validations.ts
import { z } from 'zod';
export const contactFormSchema = z.object({
name: z.string().min(2, 'Name must be at least 2 characters'),
email: z.string().email('Please enter a valid email'),
phone: z.string().optional(),
message: z.string().min(10, 'Message must be at least 10 characters'),
});
export type ContactFormData = z.infer<typeof contactFormSchema>;
export const bookingRequestSchema = z.object({
name: z.string().min(2),
email: z.string().email(),
phone: z.string().optional(),
goals: z.string().min(10),
experienceLevel: z.enum(['beginner', 'intermediate', 'advanced']),
injuries: z.string().optional(),
preferredTimes: z.string().min(5),
sessionType: z.enum(['in-person', 'online']),
});
export type BookingRequestData = z.infer<typeof bookingRequestSchema>;'use client';
import { useForm } from 'react-hook-form';
import { zodResolver } from '@hookform/resolvers/zod';
import { useTranslations } from 'next-intl';
import { contactFormSchema, type ContactFormData } from '@/lib/validations';
import {
Form,
FormControl,
FormField,
FormItem,
FormLabel,
FormMessage,
} from '@/components/ui/form';
import { Input } from '@/components/ui/input';
import { Textarea } from '@/components/ui/textarea';
import { Button } from '@/components/ui/button';
export function ContactForm() {
const t = useTranslations('form');
const form = useForm<ContactFormData>({
resolver: zodResolver(contactFormSchema),
defaultValues: {
name: '',
email: '',
phone: '',
message: '',
},
});
const onSubmit = async (data: ContactFormData) => {
try {
const response = await fetch('/api/contact', {
method: 'POST',
body: JSON.stringify(data),
});
if (!response.ok) throw new Error();
form.reset();
// Show success toast
} catch {
// Show error toast
}
};
return (
<Form {...form}>
<form onSubmit={form.handleSubmit(onSubmit)} className="space-y-4">
<FormField
control={form.control}
name="name"
render={({ field }) => (
<FormItem>
<FormLabel>{t('name')}</FormLabel>
<FormControl>
<Input {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="email"
render={({ field }) => (
<FormItem>
<FormLabel>{t('email')}</FormLabel>
<FormControl>
<Input type="email" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="message"
render={({ field }) => (
<FormItem>
<FormLabel>{t('message')}</FormLabel>
<FormControl>
<Textarea rows={4} {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<Button type="submit" disabled={form.formState.isSubmitting}>
{form.formState.isSubmitting ? t('submitting') : t('submit')}
</Button>
</form>
</Form>
);
}// lib/actions.ts
'use server';
import { z } from 'zod';
import { contactFormSchema } from '@/lib/validations';
export type ActionResult =
| { success: true }
| { success: false; errors: Record<string, string[]> };
export async function submitContactForm(
formData: FormData
): Promise<ActionResult> {
const rawData = {
name: formData.get('name'),
email: formData.get('email'),
phone: formData.get('phone'),
message: formData.get('message'),
};
const result = contactFormSchema.safeParse(rawData);
if (!result.success) {
return {
success: false,
errors: result.error.flatten().fieldErrors as Record<string, string[]>,
};
}
// Process valid data
const { name, email, message } = result.data;
// Send email, save to DB, etc.
return { success: true };
}'use client';
import { useActionState } from 'react';
import { submitContactForm, type ActionResult } from '@/lib/actions';
const initialState: ActionResult = { success: false, errors: {} };
export function ContactFormWithAction() {
const [state, formAction, isPending] = useActionState(
submitContactForm,
initialState
);
return (
<form action={formAction}>
<div>
<input name="name" required />
{state.success === false && state.errors.name && (
<p className="text-destructive text-sm">{state.errors.name[0]}</p>
)}
</div>
<button type="submit" disabled={isPending}>
{isPending ? 'Submitting...' : 'Submit'}
</button>
{state.success && (
<p className="text-green-600">Message sent successfully!</p>
)}
</form>
);
}// Create schema with translated messages
export function createContactSchema(t: (key: string) => string) {
return z.object({
name: z.string().min(2, t('errors.nameMin')),
email: z.string().email(t('errors.emailInvalid')),
message: z.string().min(10, t('errors.messageMin')),
});
}
// Usage in component
const t = useTranslations('form');
const schema = createContactSchema(t);<FormField
control={form.control}
name="experienceLevel"
render={({ field }) => (
<FormItem>
<FormLabel>{t('experienceLevel')}</FormLabel>
<Select onValueChange={field.onChange} defaultValue={field.value}>
<FormControl>
<SelectTrigger>
<SelectValue placeholder={t('selectLevel')} />
</SelectTrigger>
</FormControl>
<SelectContent>
<SelectItem value="beginner">{t('beginner')}</SelectItem>
<SelectItem value="intermediate">{t('intermediate')}</SelectItem>
<SelectItem value="advanced">{t('advanced')}</SelectItem>
</SelectContent>
</Select>
<FormMessage />
</FormItem>
)}
/>// lib/env.ts
import { z } from 'zod';
const envSchema = z.object({
NEXT_PUBLIC_SITE_URL: z.string().url(),
RESEND_API_KEY: z.string().optional(),
STRIPE_SECRET_KEY: z.string().startsWith('sk_').optional(),
STRIPE_WEBHOOK_SECRET: z.string().startsWith('whsec_').optional(),
});
export const env = envSchema.parse(process.env);© BlackBeltTechnology, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in packages/frontend-patterns/.pi/skills/zod-react-hook-form of BlackBeltTechnology/pi-agent-dashboard.
Open the folder on GitHubat commit e23e533
Zod React Hook Form next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Zod React Hook Form this skillBlackBeltTechnology/pi-agent-dashboard | 315 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Buzzformbuildnbuzz/buzzform | 101 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Opik Frontend Patternscomet-ml/opik | 22k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Frontend Patterns Templatebybren-llc/safe-agentic-workflow | 421 | — | ~2k | Automated safety check: Pass | MIT | |
| Frontend UI Patternsbiersoeckli/QuickStack | 362 | — | ~704 | Automated safety check: Pass | GPL-3.0 | |
| Shadcn UIjh941213/my-cc-harness | 126 | 4 repos | ~9.7k | Automated safety check: Notes | MIT |
buildnbuzz/buzzform
A skill your agent uses when working with BuzzForm schema-driven forms, @buildnbuzz/form-core, @buildnbuzz/form-react, or any related APIs like defineSchema, InferType, FormProvider, useDataField…
comet-ml/opik
Sets the conventions for the Opik React frontend: TanStack Query for data, Zustand for shared state, one-way layer imports and a fix for Google Translate crashes.
bybren-llc/safe-agentic-workflow
Frontend patterns for modern web frameworks, component libraries, auth flows, and analytics. Use when building UI components, creating pages, implementing…
biersoeckli/QuickStack
Create and update QuickStack frontend pages, React components, forms, dialogs, tables, streaming UI, and Zustand-backed state using the project's established UI conventions.
jh941213/my-cc-harness
Complete shadcn/ui component library guide including installation, configuration, and implementation of accessible React components.
trycompai/comp
A skill your agent uses when building forms - covers React Hook Form, Zod validation, and form patterns
BlackBeltTechnology/pi-agent-dashboard
Browser automation via the agent-browser CLI. An agent skill from BlackBeltTechnology/pi-agent-dashboard.
BlackBeltTechnology/pi-agent-dashboard
Monitor and control the pi-dashboard server. An agent skill from BlackBeltTechnology/pi-agent-dashboard.
BlackBeltTechnology/pi-agent-dashboard
Diagnose failed GitHub Actions runs for pi-agent-dashboard: the 11-file workflow taxonomy, affected-test selection, the release pipeline, known failure modes, and how to read gh run logs and…
BlackBeltTechnology/pi-agent-dashboard
Diagnose problems in the running pi-agent-dashboard system: server.log, /api/health, bridge WebSocket connectivity, vitest triage, known-issue FAQ entries.
BlackBeltTechnology/pi-agent-dashboard
Disciplined implementation in pi-agent-dashboard: the rebuild matrix (extension→reload, server→restart, client→build+restart, openspec-apply→full rebuild) plus the project's code discipline rules.
BlackBeltTechnology/pi-agent-dashboard
Turn a pi session into a Markdown "how-we-did-it" collaboration guideline: reads the session's JSONL transcript and synthesizes a reusable playbook of which prompts worked, what had to be steered…
Categories
Form validation combining Zod schemas with React Hook Form, including localized error messages, Server Action integration, and shadcn/ui Form components. Zod React Hook Form is an agent skill from BlackBeltTechnology/pi-agent-dashboard. Form validation combining Zod schemas with React Hook Form, including localized error messages, Server Action integration, and shadcn/ui Form components.
Zod React Hook Form fits situations like: validating user input; handling form submissions; implementing Server Actions with validation.
Run `npx skills add BlackBeltTechnology/pi-agent-dashboard --skill zod-react-hook-form -a claude-code`. Or copy the skill folder (packages/frontend-patterns/.pi/skills/zod-react-hook-form in BlackBeltTechnology/pi-agent-dashboard) into .claude/skills/zod-react-hook-form in your project. Claude Code loads it when a task matches its description.
Run `npx skills add BlackBeltTechnology/pi-agent-dashboard --skill zod-react-hook-form -a codex`. Or copy the skill folder (packages/frontend-patterns/.pi/skills/zod-react-hook-form in BlackBeltTechnology/pi-agent-dashboard) into .agents/skills/zod-react-hook-form in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add BlackBeltTechnology/pi-agent-dashboard --skill zod-react-hook-form -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/zod-react-hook-form, .gemini/skills/zod-react-hook-form, .github/skills/zod-react-hook-form and .opencode/skills/zod-react-hook-form in your project.
Going by SKILL.md and its folder, Zod React Hook Form needs credentials named RESEND_API_KEY, STRIPE_SECRET_KEY and STRIPE_WEBHOOK_SECRET. Our summary lists: A credential in RESEND_API_KEY; A credential in STRIPE_SECRET_KEY.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Zod React Hook Form is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Zod React Hook Form: Buzzform (buildnbuzz/buzzform, 101 stars), Opik Frontend Patterns (comet-ml/opik, 22k stars), Frontend Patterns Template (bybren-llc/safe-agentic-workflow, 421 stars) and Frontend UI Patterns (biersoeckli/QuickStack, 362 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
BlackBeltTechnology (a GitHub organization) maintains it in BlackBeltTechnology/pi-agent-dashboard, which has 315 GitHub stars. The repository holds 66 skills in this directory. The repository was last updated on October 8, 2026.
Source: BlackBeltTechnology/pi-agent-dashboard on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.