Adk Sample Creator
google/adk-python
Creates a new sample agent in the ADK Python repository — the sample directory, its agent.py, and its README.md — following the conventions the existing samples already use.
A skill your agent uses whenever editing validation for Python controls in sdk/python/packages/: adding/changing constrained properties, Raises: ValueError docstrings, beforeupdate() checks, raise…
$ npx skills add flet-dev/flet --skill flet-validation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install flet-dev/flet flet-validation --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/flet-dev/flet.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/flet-validation .claude/skills/flet-validation && 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 "flet-validation" agent skill from https://github.com/flet-dev/flet/tree/main/.agents/skills/flet-validation into .claude/skills/flet-validation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flet-validation", 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/flet-dev/flet/tree/main/.agents/skills/flet-validationType 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 flet-dev/flet --skill flet-validation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install flet-dev/flet flet-validation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flet-dev/flet.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/flet-validation .agents/skills/flet-validation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "flet-validation" agent skill from https://github.com/flet-dev/flet/tree/main/.agents/skills/flet-validation into .agents/skills/flet-validation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flet-validation", 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 flet-dev/flet --skill flet-validation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install flet-dev/flet flet-validation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flet-dev/flet.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/flet-validation .cursor/skills/flet-validation && 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 "flet-validation" agent skill from https://github.com/flet-dev/flet/tree/main/.agents/skills/flet-validation into .cursor/skills/flet-validation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flet-validation", 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/flet-dev/flet.git --path .agents/skills/flet-validation--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 flet-dev/flet --skill flet-validation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install flet-dev/flet flet-validation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flet-dev/flet.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/flet-validation .gemini/skills/flet-validation && 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 "flet-validation" agent skill from https://github.com/flet-dev/flet/tree/main/.agents/skills/flet-validation into .gemini/skills/flet-validation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flet-validation", 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 flet-dev/flet flet-validationInstalls 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 flet-dev/flet --skill flet-validation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/flet-dev/flet.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/flet-validation .github/skills/flet-validation && 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 "flet-validation" agent skill from https://github.com/flet-dev/flet/tree/main/.agents/skills/flet-validation into .github/skills/flet-validation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flet-validation", 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 flet-dev/flet --skill flet-validation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install flet-dev/flet flet-validation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flet-dev/flet.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/flet-validation .opencode/skills/flet-validation && 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 "flet-validation" agent skill from https://github.com/flet-dev/flet/tree/main/.agents/skills/flet-validation into .opencode/skills/flet-validation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flet-validation", 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.
flet-validationA skill your agent uses whenever editing validation for Python controls in sdk/python/packages/: adding/changing constrained properties, Raises: ValueError docstrings, beforeupdate() checks, raise…
Flet Validation is an agent skill from flet-dev/flet. Use whenever editing validation for Python controls in sdk/python/packages/: adding/changing constrained properties, Raises: ValueError docstrings, beforeupdate() checks, raise ValueError, Annotated/V rules, or validationrules.
Its SKILL.md is about 1.9k 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 Development, covering Technical documentation. It works with Python. The repository describes itself as: Build realtime web, mobile and desktop apps in Python only. No frontend experience required. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 9748de3. 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.
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 no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Flet Validation loads about 1.9k tokens when it runs. Until then it costs about 64 tokens; SKILL.md has 847 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 flet-dev/flet at commit 9748de3, republished under its Apache-2.0 licence (© flet-dev). 847 words, ~1,934 tokens.
.claude/skills/flet-validation/SKILL.md (or your agent's skills folder).Use this skill when you:
before_update() checks to V rules,Raises sections tied to validation,Do not use this skill for unrelated doc-only edits outside control validation.
Do not use this skill for deprecation authoring conventions; use
flet-deprecation.
sdk/python/packages/flet/src/flet/utils/validation.pyvalidate(instance);
this skill focuses on the control-specific authoring conventions.from flet.utils.validation import V
and when needed
from flet.utils.validation import ValidationRulesUse this order and stop at the first option that keeps logic clear:
Annotated[..., V.*] field rules (default).__validation_rules__: ValidationRules for cross-field invariants that do
not map cleanly to one field.before_update() only for normalization/mutation, or for truly non-ruleable
invariants.Never duplicate the same invariant in more than one layer.
Prefer field-level validation with Annotated[...] metadata.
@dataclass
class Sample:
opacity: Annotated[
Optional[Number],
V.between(0.0, 1.0),
] = None
value: Annotated[
Optional[Number],
V.ge_field("min"),
V.le_field("max"),
] = None
min: Annotated[
Number,
V.le_field("max"),
V.le_field("value"),
] = 0.0
max: Annotated[
Number,
V.ge_field("min"),
V.ge_field("value"),
] = 1.0Use class-level __validation_rules__ only for invariants that cannot be
expressed cleanly with field rules.
__validation_rules__: ValidationRules = (...)V.ensure(...) with an explicit message only when the predicate is
short and readable.V.ensure(lambda ...) becomes hard to read, prefer either:V.ensure(...), orbefore_update() check when it cannot be represented well with
existing V.* rules.Keep the before_update() override for normalization/mutation first.
V rules.validate()), not
from ad-hoc before_update() checks, unless the invariant is genuinely
non-ruleable with current validation primitives.Cross-field comparisons use field rules only.
V.gt_field, V.ge_field, V.lt_field, V.le_fieldNone handling is inferred from type hints.
Optional[T]), None is allowed.None fails validation.*_field comparisons, if either side is optional and currently None, the
comparison is skipped; if a non-optional side is None, validation fails.Match Dart effective behavior.
packages/flet/lib/src/controls/<control>.dart or
extension wrapper),min/max).For new properties, validate against base widget assertions before wiring.
Annotated[...], __validation_rules__,
or readable before_update()) to prevent Dart assertions from being the first
failure point.Keep error ownership clear.
ValueError.V.* arguments) should raise
ValidationDeclarationError.Optional[T] over T | None,Union[...] when needed.When a property has validation, document it in that property’s docstring (google style).
Add a Raises: block under the property docstring.
Use one ValueError entry per logical rule, except between(...).
V.between(a, b), use one entry:
ValueError: If it is not between \a` and `b`, inclusive.`Start each entry with If it ..., where 'it' refers to the property name.
Use canonical wording from validation helper docstrings.
sdk/python/packages/flet/src/flet/utils/validation.py.V.* helper includes Property docstring Raises wording.Raises entries as negations of the annotation rule."strictly".
For example: V.gt(x) -> ValueError: If it is not strictly greater than \x`.`factor_of, multiple_of), add
explicit sign rules (V.gt(0) or V.lt(0)) when direction matters, and
include separate Raises entries for those sign rules.Mention conditional applicability when needed.
min/max checks against optional value):Raises:
ValueError: If it is not less than or equal to [`value`][(c).],
when [`value`][(c).] is set.Keep examples and wording aligned with real control files.
min, max, value,
start_value, end_value, min_lines, max_lines.min][(c).], [max][(c).].Follow the cross-reference guidance in:
docs-conventions.
Most common pattern to use in control property docstrings:
[\prop`][(c).]`Keep symbol labels wrapped in backticks.
When adding/changing validation, include tests that cover:
==, min/max edges) where applicable;Prefer placing tests in:
sdk/python/packages/flet/tests/test_validation.py for validation runtime;before_update() validations after migration.Raises entries on validated properties.ValueError sentence.V.ensure(lambda ...) expressions when before_update() would be cleaner.© flet-dev, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/flet-validation of flet-dev/flet.
Open the folder on GitHubat commit 9748de3
Flet Validation 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 |
|---|---|---|---|---|---|---|
| Flet Validation this skillflet-dev/flet | 17k | — | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Adk Sample Creatorgoogle/adk-python | 22k | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Crafting Effective Readmescumbucadev/cinemaempoa | 146 | 5 repos | ~669 | Automated safety check: Pass | GPL-3.0 | |
| Acquire Codebase Knowledgegithub/awesome-copilot | 40k | 1 repos | ~2.3k | Automated safety check: Pass | MIT | |
| DDNS Provider DevelopmentNewFuture/DDNS | 4.7k | — | ~558 | Automated safety check: Pass | MIT | |
| Mkdocsjeka-dev/jeka | 176 | — | ~2k | Automated safety check: Pass | Apache-2.0 |
google/adk-python
Creates a new sample agent in the ADK Python repository — the sample directory, its agent.py, and its README.md — following the conventions the existing samples already use.
cumbucadev/cinemaempoa
A skill your agent uses when writing or improving README files.
github/awesome-copilot
Maps an unfamiliar codebase into seven evidence-backed documents in docs/codebase/, using a scan script and templates, for onboarding or architecture write-ups.
NewFuture/DDNS
Adds or changes a DNS provider in the DDNS project while keeping its code, schemas, tests and Chinese and English docs consistent.
jeka-dev/jeka
MkDocs documentation project reference covering CLI commands, mkdocs.yml configuration, Material theme setup, and plugin integration.
github/awesome-copilot
Generates, edits and validates draw.io files with correct mxGraph XML, covering flowcharts, architecture, sequence, ER and UML class diagrams.
flet-dev/flet
A skill your agent uses when asked to create or update integration tests for any Flet control in sdk/python/packages/flet/integrationtests, including visual goldens and interactive behavior tests.
flet-dev/flet
A skill your agent uses when asked to create Flet example projects from flat .py files with main.py and pyproject.toml metadata for Gallery/MCP indexing.
flet-dev/flet
A skill your agent uses when asked to build, preview, or verify the Flet documentation website, including checking for broken links, broken images, and unresolved reST cross-references.
flet-dev/flet
A skill your agent uses when writing or reviewing Flet documentation, including Python docstrings (Google style, reST roles, admonitions), Markdown docs (cross-references, images, code examples)…
flet-dev/flet
A skill your agent uses when adding or changing deprecations for Python controls/APIs in sdk/python/packages/, including V.deprecated fields, deprecated decorators, version lifecycle, and docs…
flet-dev/flet
Create or update a Flet release announcement blog post from changelog notes, matching existing /blog style.
Works with
Categories
A skill your agent uses whenever editing validation for Python controls in sdk/python/packages/: adding/changing constrained properties, Raises: ValueError docstrings, beforeupdate() checks, raise…. Flet Validation is an agent skill from flet-dev/flet. Use whenever editing validation for Python controls in sdk/python/packages/: adding/changing constrained properties, Raises: ValueError docstrings, beforeupdate() checks, raise ValueError, Annotated/V rules, or validationrules.
Flet Validation fits situations like: editing validation for Python controls in sdk/python/packages/: adding/changing constrained properties; raises: ValueError docstrings; beforeupdate() checks; raise ValueError.
Run `npx skills add flet-dev/flet --skill flet-validation -a claude-code`. Or copy the skill folder (.agents/skills/flet-validation in flet-dev/flet) into .claude/skills/flet-validation in your project. Claude Code loads it when a task matches its description.
Run `npx skills add flet-dev/flet --skill flet-validation -a codex`. Or copy the skill folder (.agents/skills/flet-validation in flet-dev/flet) into .agents/skills/flet-validation 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 flet-dev/flet --skill flet-validation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/flet-validation, .gemini/skills/flet-validation, .github/skills/flet-validation and .opencode/skills/flet-validation in your project.
SKILL.md names no scripts, command-line tools or credentials: Flet Validation is instructions for the agent only. Our summary lists: Python 3.
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.
Flet Validation is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.7k 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 Flet Validation: Adk Sample Creator (google/adk-python, 22k stars), Crafting Effective Readmes (cumbucadev/cinemaempoa, 146 stars), Acquire Codebase Knowledge (github/awesome-copilot, 40k stars) and DDNS Provider Development (NewFuture/DDNS, 4.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
flet-dev (a GitHub organization) maintains it in flet-dev/flet, which has 17,265 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 7, 2026.
Source: flet-dev/flet on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.