Agent skill

Create Flet Example Projects

by flet-dev in 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.

Apache-2.0Auto-check passed

Install Create Flet Example Projects

skills CLI
$ npx skills add flet-dev/flet --skill create-flet-example-projects -a claude-code

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

GitHub CLI
$ gh skill install flet-dev/flet create-flet-example-projects --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/flet-dev/flet.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/create-flet-example-projects .claude/skills/create-flet-example-projects && 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
create-flet-example-projects
GitHub stars
17k
Token cost
~2.4k tokens
SKILL.md length
1,165 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
Apache-2.0

At a glance

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.

  • Asked to create Flet example projects from flat .py files with main.py and pyproject.toml metadata for Gallery/MCP indexing
  • SKILL.md covers When to use, Goal, Workflow and Code style, plus 2 more sections
  • Calls python, uv and rg

What it does

Create Flet Example Projects is an agent skill from flet-dev/flet. Use when asked to create Flet example projects from flat .py files with main.py and pyproject.toml metadata for Gallery/MCP indexing.

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

It works with Model Context Protocol. 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.

When your agent uses it

  • Asked to create Flet example projects from flat .py files with main.py and pyproject.toml metadata for Gallery/MCP indexing

Example prompts

  • “/create-flet-example-projects”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 9748de3. 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

    Shell commands in SKILL.md call:

    • python
    • uv
    • rg
    • git

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

  • Network

    No URLs in SKILL.md. Its commands use uv and git, which can reach the network depending on how they are called.

    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

Create Flet Example Projects loads about 2.4k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 1,165 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~41
When it runs · the whole SKILL.md, loaded when a task matches
~2.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 flet-dev/flet at commit 9748de3, republished under its Apache-2.0 licence (© flet-dev). 1,165 words, ~2,392 tokens.

Download SKILL.mdSave it as .claude/skills/create-flet-example-projects/SKILL.md (or your agent's skills folder).
name
create-flet-example-projects
description
Use when asked to create Flet example projects from flat .py files with main.py and pyproject.toml metadata for Gallery/MCP indexing.

When to use

Use this skill when a user asks to:

  • create one control/example folder (for example examples/controls/chip) in the project-per-example format
  • migrate existing flat examples to the project-per-example format
  • normalize a partially converted folder so all examples follow the same structure

Goal

Ensure each runnable example is a standalone project containing:

  • main.py
  • pyproject.toml with Gallery/MCP metadata
  • assets/ (if the example uses local assets)

Workflow

  1. Inspect source folder.
  • Detect current state per example:
    • flat file: foo.py
    • project folder: foo/main.py
    • mixed/partial conversion: both styles present or missing metadata files
  • Find candidate flat modules: *.py in the target folder (exclude helper files such as __init__.py).
  • Keep existing media/ unless an example needs local assets copied into its own assets/.
  1. Convert or normalize examples.
  • For foo.py, create foo/ and move file to foo/main.py.
  • If foo/main.py already exists, keep it and do not recreate/move files.
  • If folder exists but main.py is missing, repair structure only when there is a clear source file.
  • Do not create foo/__init__.py; import example modules directly in tests/docs (for example import examples.controls.foo.bar.main as bar or import examples.controls.foo.bar as bar when using namespace-package imports).
  • When a control folder has been fully converted to project-per-example layout, delete the control-level examples/controls/<control>/__init__.py too. The converted folders should behave like namespace packages, matching prior migrations such as commit 7e65ad566.
  1. Add pyproject.toml for each example project.
  • Infer from path and code.
  • Create missing pyproject.toml files for existing project folders.
  • Update obviously stale metadata when migrating existing examples (for example wrong title/description/categories).
  • Verify platform support before adding or omitting [tool.flet].platforms:
    • Check the local implementation and docs for explicit platform guards, support tables, or platform-specific exceptions.
    • If support is limited, add [tool.flet].platforms with only the supported platforms.
    • If support is broad/all-platform, omit [tool.flet].platforms.
  • Required fields:
    • [project]: name, version, description, requires-python, keywords, authors, dependencies
    • [dependency-groups].dev: include flet-cli, flet-desktop, flet-web
    • [tool.flet.gallery].categories
    • [tool.flet.metadata]: title, controls, layout_pattern, complexity, features
    • [tool.flet]: org, company, copyright
  • Add [tool.flet].platforms only when the example is platform-limited.
  • Add permissions blocks only when code actually needs them.
  1. Infer metadata.
  • Title: readable version of file/folder intent.
  • Short description: one line of what the example demonstrates.
  • [project].description must be meaningful and example-specific; avoid generic placeholders like "Example N" or "<name> example for <control>".
  • Description should mention the concrete behavior or interaction shown (for example: hover highlight, live updates, custom axes, event handling).
  • Categories: typically control-based, e.g. Input/Chip, plus optional Apps/Basic controls.
  • Tags: from control/topic/behavior words.
  • Controls used: list key controls from code.
  • Layout pattern: choose closest practical value (e.g. filter-bar, inline-actions, dashboard, list-detail).
  • Complexity: basic unless logic/state/architecture is non-trivial.
  • Features: notable behaviors only (click handling, selection, async loading, drag-and-drop, etc.).
  • If an example supports exporting or downloading output, include "save to file" in [tool.flet.metadata].features.
  • If an example module contains async def handlers or async control flow, append "async" to keywords.
  1. Infer dependencies from imports.
  • Always include flet for standard examples.
  • Include extra packages if imported (for example extension packages).
  • Do not add unused dependencies.
  1. Make examples mobile-safe.
  • If ft.context.disable_auto_update() is not used, do not add explicit page.update() unless strictly necessary.

  • Apply this page.update() rule to all examples in the touched folder (new, migrated, and already converted).

  • Wrap app content in ft.SafeArea so example renders correctly on mobile.

  • Add expand=True to ft.SafeArea only when needed for correct layout/sizing (for example to avoid Infinity/NaN sizing issues), and avoid adding it when not necessary.

  • When converting legacy page.add(a, b, ...) style examples, wrap the controls in ft.Column(controls=[...]) inside ft.SafeArea(content=...) rather than ft.Row, unless the original code explicitly used a row layout.

  • Apply this to all examples in the touched folder (new, migrated, and already converted), not only files changed by moves.

  • During validation, confirm every <example>/main.py in scope includes a top-level ft.SafeArea around rendered content.

  • For declarative examples using @ft.component, do not pass component instances as regular control children (for example SafeArea(content=App())) because this can raise runtime attribute errors.

  • In declarative examples, ensure the component itself returns regular controls (including SafeArea when needed) and render it at page level with page.render(App) in main().

  1. Prefer @ft.control for custom controls in examples.
  • If an example defines a custom control class inheriting from a Flet control (for example class MyThing(ft.Column)), prefer @ft.control style.
  • Move constructor-style setup to declarative fields + init() where practical.
  • Keep behavior unchanged and avoid refactors that alter public usage unless needed for compatibility.
Show full SKILL.md (450 more words)Show less
  1. Remove deprecated Material 3 toggle usage.
  • If use_material3 appears in example code, remove it and simplify the example to current API usage.
  • Remove related Material 3 toggle logic/UI that exists only to switch use_material3.
  • Update example metadata (pyproject.toml) to remove stale Material 3 references when code is changed.
  1. Ensure runnable entrypoint.
  • Every example main.py should end with:
    • if __name__ == "__main__":
    • ft.run(main)
  • Apply this to all examples in the touched folder (new, migrated, and already converted).
  1. Update references.
  • Docs code includes: change from .../example.py to .../example/main.py.
  • Inspect the relevant docs pages for each touched control/service/example area (for example sdk/python/packages/flet/docs/controls/<control>.md) and update any --8<-- includes or direct file-path references to the new main.py path.
  • Tests/imports: use direct module imports and avoid relying on package-level __init__.py re-exports.
  • For already-converted examples, only update references that are stale; avoid unnecessary churn.
  • If removing a control-level __init__.py, confirm no remaining imports rely on from examples.controls.<control> import ....
  1. Validate.
  • Run python -m compileall on changed main.py files.
  • Run uv run ruff check on changed example files and fix violations until it passes (respecting repository pyproject.toml under [tool.ruff]).
  • Search for stale paths to old flat files.
  • Search docs and package sources for stale references to the migrated flat example paths and fix any hits in scope.
  • Check git status to confirm expected moves and edits.
  • When integration tests exist for the touched control, run the targeted test file(s).
  • Confirm all in-scope main.py files include both top-level ft.SafeArea wrapping and the if __name__ == "__main__": ft.run(main) entrypoint.
  • Confirm in-scope ft.SafeArea wrappers use expand=True only where needed for correct behavior and sizing; avoid forcing it by default.
  • Confirm there are no unnecessary page.update() calls in in-scope examples (unless explicitly required by isolated-control or non-auto-update behavior).
  • Confirm no in-scope examples use use_material3.
  • Confirm each in-scope pyproject.toml has a meaningful, example-specific [project].description (not generic or templated text).
  • Confirm metadata features include "save to file" when the example code supports file export/save behavior.
  • Confirm there is no stale control-level __init__.py left behind once a touched control folder has been fully converted.
  • Confirm the relevant docs pages were updated to reference main.py and that no stale doc includes remain for the touched examples.

Code style

  • When writing wrapped controls (SafeArea, Column, Row, Container, etc.), keep content= or controls= as the last named argument in that control call.
  • Apply this ordering consistently when creating or refactoring examples.
  • Follow code style and linting rules defined in the repository pyproject.toml under [tool.ruff] for all edits.

Command checklist

  • Discover files: rg --files <target_dir>
  • Find docs links/imports: rg -n "<old_path_or_module>" packages examples
  • Syntax check: python -m compileall <changed_main_files>
  • Ruff check: uv run ruff check <changed_example_files>

Output expectations

Report:

  • created example projects
  • metadata added
  • docs/tests updates
  • validation results

© 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

Files

Just SKILL.md in .agents/skills/create-flet-example-projects of flet-dev/flet.

Open the folder on GitHubat commit 9748de3

Compare with similar skills

Create Flet Example Projects 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.

Create Flet Example Projects compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Create Flet Example Projects this skillflet-dev/flet17k—~2.4kAutomated safety check: PassApache-2.0
MCP Server Builderanthropics/skills180k62 repos~2.3kAutomated safety check: PassApache-2.0
MCP Server BuildershareAI-lab/learn-claude-code78k5 repos~1.2kAutomated safety check: PassMIT
MCP Integration for Pluginsanthropics/claude-plugins-official37k11 repos~3.1kAutomated safety check: PassApache-2.0
Figma use_figma Plugin API Ruleswarpdotdev/warp65k4 repos~4.4kAutomated safety check: PassAGPL-3.0
Stitch to Remotion Walkthrough Videosgoogle-labs-code/stitch-skills8.4k6 repos~3.2kAutomated safety check: NotesApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 62 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • MCP Server Builder

    shareAI-lab/learn-claude-code

    Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.

    78k GitHub starsUsed in 5 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • MCP Integration for Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.

    37k GitHub starsUsed in 11 repos~3.1k tokens
    Agent WorkflowsAuto-check passed
  • Required groundwork before any use_figma call: the rules and reference files for running JavaScript in a Figma file through the Plugin API without common failures.

    65k GitHub starsUsed in 4 repos~4.4k tokens
    Frontend & DesignAuto-check passed
  • Stitch to Remotion Walkthrough Videos

    google-labs-code/stitch-skills

    Official

    Builds walkthrough videos from Stitch design projects using Remotion, with transitions, zoom effects and text overlays on each screen.

    8.4k GitHub starsUsed in 6 repos~3.2k tokens
    Media & CreativeAuto-check: notes
  • MCP Development

    coollabsio/coolify

    A skill your agent uses for Laravel MCP development. An agent skill from coollabsio/coolify.

    63k GitHub starsUsed in 1 repo~949 tokens
    Frontend & DesignAuto-check passed

More from flet-dev/flet

All 14 skills in this repo
  • 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.

    17k GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • 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.

    17k GitHub stars~557 tokensUpdated today
    Auto-check passed
  • Docs Conventions

    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)…

    17k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Flet Deprecation

    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…

    17k GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Create or update a Flet release announcement blog post from changelog notes, matching existing /blog style.

    17k GitHub stars~950 tokensUpdated today
    Auto-check passed
  • Flet Validation

    flet-dev/flet

    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…

    17k GitHub stars~1.9k tokensUpdated today
    Auto-check passed

Questions about Create Flet Example Projects

What does Create Flet Example Projects do?

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. Create Flet Example Projects is an agent skill from flet-dev/flet.toml metadata for Gallery/MCP indexing.

When should I use Create Flet Example Projects?

Create Flet Example Projects fits situations like: asked to create Flet example projects from flat .py files with main.py and pyproject.toml metadata for Gallery/MCP indexing.

How do I install Create Flet Example Projects in Claude Code?

Run `npx skills add flet-dev/flet --skill create-flet-example-projects -a claude-code`. Or copy the skill folder (.agents/skills/create-flet-example-projects in flet-dev/flet) into .claude/skills/create-flet-example-projects in your project. Claude Code loads it when a task matches its description.

How do I install Create Flet Example Projects in Codex?

Run `npx skills add flet-dev/flet --skill create-flet-example-projects -a codex`. Or copy the skill folder (.agents/skills/create-flet-example-projects in flet-dev/flet) into .agents/skills/create-flet-example-projects in your project. Codex loads it when a task matches its description.

Can I use Create Flet Example Projects 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 flet-dev/flet --skill create-flet-example-projects -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/create-flet-example-projects, .gemini/skills/create-flet-example-projects, .github/skills/create-flet-example-projects and .opencode/skills/create-flet-example-projects in your project.

What does Create Flet Example Projects need to run?

Going by SKILL.md and its folder, Create Flet Example Projects needs the command-line tools its instructions call (python, uv, rg and git). Our summary lists: Python 3.

Does Create Flet Example Projects access the network?

SKILL.md contains no URLs. Its commands use uv and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Create Flet Example Projects 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 Create Flet Example Projects use?

Create Flet Example Projects 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.

How many tokens does Create Flet Example Projects use?

About 2.4k tokens (SKILL.md is roughly 9.6k 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 Create Flet Example Projects?

Skills that share tags, products or a category with Create Flet Example Projects: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), MCP Integration for Plugins (anthropics/claude-plugins-official, 37k stars) and Figma use_figma Plugin API Rules (warpdotdev/warp, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Create Flet Example Projects?

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.