AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Forms

skill-arbazkhan971-godmode-forms · by arbazkhan971

|

No reviews yet
0 installs
7 views
0.0% view→install

Install

$ agentstack add skill-arbazkhan971-godmode-forms

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-arbazkhan971-godmode-forms)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Forms? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Forms — Form Architecture

Activate When

  • User invokes /godmode:forms
  • User says "form validation", "multi-step form", "wizard"
  • When building any form beyond a simple single input
  • When handling file uploads or auditing form a11y

Workflow

Step 1: Assess Form Requirements

# Detect form libraries
grep -l "react-hook-form\|formik\|@hookform" \
  package.json 2>/dev/null

# Detect validation libraries
grep -l "zod\|yup\|joi\|superstruct" \
  package.json 2>/dev/null

# Count existing form components
find src/ -name "*form*" -o -name "*Form*" \
  2>/dev/null | wc -l
FORM REQUIREMENTS:
Purpose: 
Framework: 
Fields:  total
Multi-step: YES/NO ( steps)
File uploads: YES/NO ()
Async validation: YES/NO (uniqueness checks)

IF fields > 5: use React Hook Form (not useState)
IF multi-step: persist state in sessionStorage
IF file uploads: validate MIME, size, count client-side

Step 2: Form State Management

DECISION MATRIX:
| Criterion     | RHF    | Formik | Native |
|--------------|--------|--------|--------|
| Re-renders   | Min    | Freq   | Min    |
| Bundle size  | ~9KB   | ~15KB  | 0KB    |
| TypeScript   | Excl.  | Good   | Manual |
| Complex forms| Excl.  | Good   | Verbose|

IF fields  3 OR has validation: React Hook Form
IF existing Formik codebase: keep Formik

Step 3: Validation Patterns

VALIDATION TIMING:
  On blur (first visit): show after user leaves field
  On change (after error): re-validate immediately
  On submit: validate all, focus first error
  Never on mount: no errors before interaction

CLIENT + SERVER SHARED SCHEMA (Zod):
  Single schema shared between client and server
  Client: fast UX feedback
  Server: security (never trust client)

ASYNC VALIDATION:
  Debounce: 500ms minimum
  Show loading indicator during check
  Cancel previous request on new input

THRESHOLDS:
  Debounce delay: 300-500ms for async validation
  Max file size: 10MB default (configurable)
  Max file count: 10 per upload field
  Form submission timeout: 30 seconds

Step 4: Multi-Step Wizard

WIZARD ARCHITECTURE:
  Step 1 → Step 2 → Step 3 → Review → Submit
  Each step has its own Zod schema
  Full schema validates on final submit
  State persists in sessionStorage (survives refresh)

RULES:
  IF user navigates back: restore previous values
  IF browser refreshes: restore from sessionStorage
  IF submit succeeds: clear sessionStorage
  Progress indicator shows current step

Step 5: File Upload Handling

FILE VALIDATION CHECKLIST:
  MIME type: validate against allowlist
  Extension: cross-check with MIME type
  File size: reject > max before upload starts
  File count: enforce maximum per field
  Preview: show for images (use createObjectURL)
  Progress: show upload percentage
  Drop zone: must be keyboard-accessible

THRESHOLDS:
  Image max: 5MB
  Document max: 10MB
  Total upload max: 50MB per form submission

Step 6: Accessible Form Design

FORM ACCESSIBILITY CHECKLIST:
Labels:
  [ ] Every input has visible  with htmlFor
  [ ] Required fields marked (asterisk + sr text)
  [ ] Placeholder is NOT used as label substitute
  [ ] Related fields grouped in /

Errors:
  [ ] Errors via aria-describedby on field
  [ ] aria-invalid="true" on fields with errors
  [ ] Error summary at top on submit failure
  [ ] role="alert" on error messages

Focus:
  [ ] On submit failure: focus first invalid field
  [ ] On step change: focus first field of new step
  [ ] Tab order follows visual order
  [ ] All form controls keyboard-accessible

Step 7: Report

Form: , Fields: , Steps: 
Library: 
Validation: , Mode: 
A11y: , Tests: /

Commit: "forms: — + "

Key Behaviors

Never ask to continue. Loop autonomously until done.

  1. Validation on both client and server.

Share the schema (Zod) between both.

  1. Errors on blur, not on mount.
  2. Focus management mandatory. Focus first invalid

field on submit failure.

  1. Every field has a visible label.
  2. Multi-step forms persist state.
  3. File uploads need full validation.
  4. Use RHF for 5+ fields. Manual useState leads

to re-render storms.

HARD RULES

  1. Every input must have a visible ``.
  2. Never show errors before user interaction.
  3. Always validate on both client and server.
  4. Always focus first invalid field on submit.
  5. Never use alert() for form errors.
  6. Always persist multi-step data in sessionStorage.
  7. Always validate file MIME, extension, size, count.
  8. Never manage 5+ fields with raw useState.
  9. Always use aria-invalid and aria-describedby.
  10. Always share same Zod schema client and server.

Auto-Detection

1. Libraries: react-hook-form, formik, zod, yup
2. Components: *Form*, *Wizard*, *Step* files
3. Validation: inline vs schema-based

Output Format

Print: Forms: {name} — {fields} fields, {validation}, a11y {PASS|FAIL}. Status: {status}.

TSV Logging

timestamp	form_name	fields	validation	a11y	status

Keep/Discard Discipline

KEEP if: validation timing correct AND a11y passes
  AND server matches client schema
DISCARD if: errors on first keystroke OR focus lost
  OR schemas diverge between client/server

Stop Conditions

STOP when ANY of:
  - All forms have labels, inline errors, shared schemas
  - Multi-step persists across steps and refresh
  - Keyboard navigation works for all interactions
  - User requests stop

Error Recovery

  • Fires every keystroke: switch to onBlur mode.
  • State lost on navigation: persist in sessionStorage.
  • Server errors not shown: map server fields to form.
  • Multi-step loses progress: save per step, restore.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.