Agent skill

Flutter Building Forms

by btwld in btwld/superdeck

Builds Flutter forms with validation and user input handling.

BSD-3-ClauseAuto-check passedMobile

Install Flutter Building Forms

skills CLI
$ npx skills add btwld/superdeck --skill flutter-building-forms -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install btwld/superdeck flutter-building-forms --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/btwld/superdeck.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/flutter-building-forms .claude/skills/flutter-building-forms && rm -rf skills-src

Use ~/.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/

Facts

Skill name
flutter-building-forms
GitHub stars
130
Token cost
~1.4k tokens
SKILL.md length
413 words
Files
1
Skills in repo
23
Repo updated
First seen
Licence
BSD-3-Clause

At a glance

Builds Flutter forms with validation and user input handling.

  • Works in 4 steps: Call _formKey.currentState!.validate(). → If true (Valid): All validators returned… → If false (Invalid): One or more… → …
  • Creating login screens
  • SKILL.md covers Contents, Form Architecture, Field Validation and Workflow: Implementing a…, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Flutter Building Forms is an agent skill from btwld/superdeck. Builds Flutter forms with validation and user input handling. Use when creating login screens, data entry forms, or any multi-field user input.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile, covering Cross-platform mobile apps. It works with Flutter. The repository describes itself as: Presentation slides for Flutter with Flutter. The licence is BSD-3-Clause.

When your agent uses it

  • Creating login screens
  • Data entry forms
  • Any multi-field user input

Example prompts

  • “Use the flutter-building-forms skill to build Flutter forms with validation and user input handling”
  • “/flutter-building-forms”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Call _formKey.currentState!.validate().
  2. If true (Valid): All validators returned null. Proceed with form submission (e.g., save data, make API call) and display a success…
  3. If false (Invalid): One or more validators returned an error string. The FormState automatically rebuilds the UI to display the error…
  4. Feedback Loop: Run validator -> review errors -> fix. The user must adjust their input and resubmit until validate() returns true.

What it can do on your machine

Read from SKILL.md and the folder at commit 815a746. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are dart).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Flutter Building Forms loads about 1.4k tokens when it runs. Until then it costs about 42 tokens; SKILL.md has 413 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~42
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from btwld/superdeck at commit 815a746, republished under its BSD-3-Clause licence (© btwld). 413 words, ~1,351 tokens.

Download SKILL.mdSave it as .claude/skills/flutter-building-forms/SKILL.md (or your agent's skills folder).
name
flutter-building-forms
description
Builds Flutter forms with validation and user input handling. Use when creating login screens, data entry forms, or any multi-field user input.
metadata.model
models/gemini-3.1-pro-preview
metadata.last_modified
Thu, 12 Mar 2026 22:15:24 GMT

Building Validated Forms

Contents

Form Architecture

Implement forms using a Form widget to group and validate multiple input fields together.

  • Use a StatefulWidget: Always host your Form inside a StatefulWidget.
  • Persist the GlobalKey: Instantiate a GlobalKey<FormState> exactly once as a final variable within the State class. Do not generate a new GlobalKey inside the build method; doing so is resource-expensive and destroys the form's state on every rebuild.
  • Bind the Key: Pass the GlobalKey<FormState> to the key property of the Form widget. This uniquely identifies the form and provides access to the FormState for validation and submission.
  • Alternative Access: If dealing with highly complex widget trees where passing the key is impractical, use Form.of(context) to access the FormState from a descendant widget.

Field Validation

Use TextFormField to render Material Design text inputs with built-in validation support. TextFormField is a convenience widget that automatically wraps a standard TextField inside a FormField.

  • Implement the Validator: Provide a validator() callback function to each TextFormField.
  • Return Error Messages: If the user's input is invalid, return a String containing the specific error message. The Form will automatically rebuild to display this text below the field.
  • Return Null for Success: If the input passes validation, you must return null.
Show full SKILL.md (200 more words)Show less

Workflow: Implementing a Validated Form

Follow this sequential workflow to implement and validate a form. Copy the checklist to track your progress.

Task Progress:

  • 1. Create a StatefulWidget and its corresponding State class.
  • 2. Instantiate final _formKey = GlobalKey<FormState>(); in the State class.
  • 3. Return a Form widget in the build method and assign key: _formKey.
  • 4. Add TextFormField widgets as descendants of the Form.
  • 5. Write a validator function for each TextFormField (return String on error, null on success).
  • 6. Add a submit button (e.g., ElevatedButton).
  • 7. Implement the validation check in the button's onPressed callback using _formKey.currentState!.validate().
Validation Decision Logic

When the user triggers the submit action, execute the following conditional logic:

  1. Call _formKey.currentState!.validate().
  2. If true (Valid): All validators returned null. Proceed with form submission (e.g., save data, make API call) and display a success indicator (e.g., a SnackBar).
  3. If false (Invalid): One or more validators returned an error string. The FormState automatically rebuilds the UI to display the error messages.
  4. Feedback Loop: Run validator -> review errors -> fix. The user must adjust their input and resubmit until validate() returns true.

Examples

Complete Validated Form Implementation

Use the following pattern to implement a robust, validated form.

dart
import 'package:flutter/material.dart';

class UserRegistrationForm extends StatefulWidget {
  const UserRegistrationForm({super.key});

  @override
  State<UserRegistrationForm> createState() => _UserRegistrationFormState();
}

class _UserRegistrationFormState extends State<UserRegistrationForm> {
  // 1. Persist the GlobalKey in the State class
  final _formKey = GlobalKey<FormState>();

  @override
  Widget build(BuildContext context) {
    // 2. Bind the key to the Form
    return Form(
      key: _formKey,
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          // 3. Add TextFormFields with validators
          TextFormField(
            decoration: const InputDecoration(
              labelText: 'Username',
              hintText: 'Enter your username',
            ),
            validator: (value) {
              if (value == null || value.isEmpty) {
                return 'Please enter a username'; // Error state
              }
              if (value.length < 4) {
                return 'Username must be at least 4 characters'; // Error state
              }
              return null; // Valid state
            },
          ),
          const SizedBox(height: 16),
          // 4. Add the submit button
          ElevatedButton(
            onPressed: () {
              // 5. Trigger validation logic
              if (_formKey.currentState!.validate()) {
                // Form is valid: Process data
                ScaffoldMessenger.of(context).showSnackBar(
                  const SnackBar(content: Text('Processing Data')),
                );
              } else {
                // Form is invalid: Errors are automatically displayed
                debugPrint('Form validation failed.');
              }
            },
            child: const Text('Submit'),
          ),
        ],
      ),
    );
  }
}

© btwld, BSD-3-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/flutter-building-forms of btwld/superdeck.

Open the folder on GitHubat commit 815a746

Compare with similar skills

Flutter Building Forms 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.

Flutter Building Forms compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Flutter Building Forms this skillbtwld/superdeck130—~1.4kAutomated safety check: PassBSD-3-Clause
Add Flutter Docusaurus Localematthiasn/lotti1.2k—~1.2kAutomated safety check: PassGPL-3.0
Tm Launcher DesignFar-Se/tabame372—~3.1kAutomated safety check: PassMIT
Mobile App UI Designceorkm/mobile-app-ui-design400—~2kAutomated safety check: PassNone
Marionette Flutter Drive Appleancodepl/marionette_mcp473—~11kAutomated safety check: PassApache-2.0
Flutter ScreenshotJustLookAtNow/pt_mate503—~511Automated safety check: PassMIT

Similar skills

  • Add, complete, or audit a locale across a Flutter application's ARB catalogs and a localized Docusaurus manual, including generated localization code, locale selectors, native platform declarations…

    1.2k GitHub stars~1.2k tokensUpdated today
    MobileAuto-check passed
  • Tm Launcher Design

    Far-Se/tabame

    Create or revise Tabame's Flutter launcher designs: frames, search bars, result rows, palettes, typography, and action dialogs.

    372 GitHub stars~3.1k tokensUpdated today
    MobileAuto-check passed
  • Mobile App UI Design

    ceorkm/mobile-app-ui-design

    Design high-quality mobile app UI/UX screens, flows, and components.

    400 GitHub stars~2k tokensUpdated 3 mo ago
    MobileAuto-check passed
  • Marionette Flutter Drive App

    leancodepl/marionette_mcp

    Set up and drive a running Flutter app (debug or profile) with Marionette — an AI agent's hands and eyes for the app.

    473 GitHub stars~11k tokensUpdated 2 days ago
    MobileAuto-check passed
  • Flutter Screenshot

    JustLookAtNow/pt_mate

    Capture and show two Flutter UI screenshots for this project: one landscape/large-screen preview and one portrait/mobile preview, without using Flutter Web.

    503 GitHub stars~511 tokensUpdated 2 days ago
    MobileAuto-check passed
  • Flutter Init

    bear2u/my-skills

    A skill your agent uses when user wants to create a new Flutter project (Todo/Habit/Note/Expense/Custom domain) with Clean Architecture, Riverpod 3.0, Drift, and modern Flutter stack

    933 GitHub stars~2.5k tokensUpdated 3 mo ago
    MobileAuto-check passed

More from btwld/superdeck

All 23 skills in this repo
  • Create, review, or edit SuperDeck Markdown presentations and Flutter presentation apps.

    130 GitHub stars~649 tokensUpdated 10 days ago
    Auto-check passed
  • Adds home screen widgets to a Flutter app for Android and iOS.

    130 GitHub stars~2.2k tokensUpdated 10 days ago
    Auto-check passed
  • Flutter Animating Apps

    btwld/superdeck

    Implements animated effects, transitions, and motion in a Flutter app.

    130 GitHub stars~1.9k tokensUpdated 10 days ago
    Auto-check passed
  • Architects a Flutter application using the recommended layered approach (UI, Logic, Data).

    130 GitHub stars~1.8k tokensUpdated 10 days ago
    Auto-check passed
  • Builds Flutter layouts using the constraint system and layout widgets.

    130 GitHub stars~1.5k tokensUpdated 10 days ago
    Auto-check passed
  • Builds Flutter plugins that provide native interop for other apps to use.

    130 GitHub stars~2.2k tokensUpdated 10 days ago
    Auto-check passed

Works with

Categories

Questions about Flutter Building Forms

What does Flutter Building Forms do?

Builds Flutter forms with validation and user input handling. Flutter Building Forms is an agent skill from btwld/superdeck. Builds Flutter forms with validation and user input handling.

When should I use Flutter Building Forms?

Flutter Building Forms fits situations like: creating login screens; data entry forms; any multi-field user input.

How do I install Flutter Building Forms in Claude Code?

Run `npx skills add btwld/superdeck --skill flutter-building-forms -a claude-code`. Or copy the skill folder (.agents/skills/flutter-building-forms in btwld/superdeck) into .claude/skills/flutter-building-forms in your project. Claude Code loads it when a task matches its description.

How do I install Flutter Building Forms in Codex?

Run `npx skills add btwld/superdeck --skill flutter-building-forms -a codex`. Or copy the skill folder (.agents/skills/flutter-building-forms in btwld/superdeck) into .agents/skills/flutter-building-forms in your project. Codex loads it when a task matches its description.

Can I use Flutter Building Forms in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add btwld/superdeck --skill flutter-building-forms -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/flutter-building-forms, .gemini/skills/flutter-building-forms, .github/skills/flutter-building-forms and .opencode/skills/flutter-building-forms in your project.

What does Flutter Building Forms need to run?

SKILL.md names no scripts, command-line tools or credentials: Flutter Building Forms is instructions for the agent only.

Does Flutter Building Forms access the network?

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.

Is Flutter Building Forms safe to install?

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.

What licence does Flutter Building Forms use?

Flutter Building Forms is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Flutter Building Forms use?

About 1.4k tokens (SKILL.md is roughly 5.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Flutter Building Forms?

Skills that share tags, products or a category with Flutter Building Forms: Add Flutter Docusaurus Locale (matthiasn/lotti, 1.2k stars), Tm Launcher Design (Far-Se/tabame, 372 stars), Mobile App UI Design (ceorkm/mobile-app-ui-design, 400 stars) and Marionette Flutter Drive App (leancodepl/marionette_mcp, 473 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Flutter Building Forms?

btwld (a GitHub organization) maintains it in btwld/superdeck, which has 130 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on September 28, 2026.

Source: btwld/superdeck on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.