Agent skill

Create Flet Control Integration Tests

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

Apache-2.0Auto-check passedTesting & QA

Install Create Flet Control Integration Tests

skills CLI
$ npx skills add flet-dev/flet --skill create-flet-control-integration-tests -a claude-code

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

GitHub CLI
$ gh skill install flet-dev/flet create-flet-control-integration-tests --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-control-integration-tests .claude/skills/create-flet-control-integration-tests && 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-control-integration-tests
GitHub stars
17k
Token cost
~1.4k tokens
SKILL.md length
348 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 or update integration tests for any Flet control in sdk/python/packages/flet/integrationtests, including visual goldens and interactive behavior tests.

  • Works in 2 steps: Identify behavior to verify. → Build deterministic layout/state
  • Asked to create
  • SKILL.md covers When to use, Test placement, Fixture choice and Authoring workflow, plus 5 more sections
  • Calls uv

What it does

Create Flet Control Integration Tests is an agent skill from flet-dev/flet. Use 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.

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 Testing & QA, covering Integration testing. 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.

When your agent uses it

  • Asked to create
  • Update integration tests for any Flet control in sdk/python/packages/flet/integrationtests
  • Including visual goldens and interactive behavior tests

Example prompts

  • “/create-flet-control-integration-tests”

Requirements

  • Python 3

Workflow steps

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

  1. Identify behavior to verify.
  2. Build deterministic layout/state

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:

    • uv

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

  • Network

    No URLs in SKILL.md. Its commands use uv, 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 Control Integration Tests loads about 1.4k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 348 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~54
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 flet-dev/flet at commit 9748de3, republished under its Apache-2.0 licence (© flet-dev). 348 words, ~1,370 tokens.

Download SKILL.mdSave it as .claude/skills/create-flet-control-integration-tests/SKILL.md (or your agent's skills folder).
name
create-flet-control-integration-tests
description
Use when asked to create or update integration tests for any Flet control in sdk/python/packages/flet/integration_tests, including visual goldens and interactive behavior tests.

When to use

Use this skill when adding, updating, or reviewing integration tests for a Flet control (core, material, cupertino, theme, services, types, or examples).

Use it for:

  • visual rendering checks with golden screenshots
  • interaction checks (hover, click, input, keyboard)
  • control property behavior checks
  • regression tests for control bugs

Test placement

Pick the closest existing suite first:

  • Core controls: sdk/python/packages/flet/integration_tests/controls/core
  • Material controls: sdk/python/packages/flet/integration_tests/controls/material
  • Cupertino controls: sdk/python/packages/flet/integration_tests/controls/cupertino
  • Theme tests: sdk/python/packages/flet/integration_tests/controls/theme
  • Type helpers: sdk/python/packages/flet/integration_tests/controls/types
  • Services: sdk/python/packages/flet/integration_tests/controls/services
  • Examples: sdk/python/packages/flet/integration_tests/examples

Prefer adding tests to an existing file for the same control. Create a new test file only when no suitable file exists.

Scope split rule (required)

Do not mix loop_scope="module" and loop_scope="function" tests in the same file.

Naming convention:

  • test_<control>.py for module-scoped visual/stable tests (uses flet_app)
  • test_<control>_isolated.py for function-scoped tests that require a fresh app per test (uses flet_app_function)

Fixture choice

Use fixtures from integration_tests/conftest.py:

  • flet_app (loop_scope="module"): best for stable visual tests and bulk screenshot tests.
  • flet_app_function (loop_scope="function"): best for tests that mutate state and must run in a separate app each.

Authoring workflow

  1. Identify behavior to verify.
  2. Build deterministic layout/state:
  • set theme_mode explicitly when visuals matter
  • set fixed sizes/padding/spacing
  • avoid random or time-varying content
  1. Choose file by scope rule before writing tests.
  2. Write test using async pytest.
  3. Use screenshot assertion for UI behavior, functional assertion for non-visual behavior.
  4. Name test so request.node.name can be used as screenshot key.
  5. Run target test file.
  6. If expected visuals changed, regenerate goldens with FLET_TEST_GOLDEN=1 and re-run without golden mode.

Assertion patterns

Visual control assertion
python
await flet_app.assert_control_screenshot(
    request.node.name,
    control,
)
Visual full-page assertion
python
flet_app_function.assert_screenshot(
    request.node.name,
    await flet_app_function.page.take_screenshot(
        pixel_ratio=flet_app_function.screenshots_pixel_ratio
    ),
)
Functional assertion
python
finder = await flet_app_function.tester.find_by_tooltip("Info tooltip")
assert finder.count == 1

Minimal templates

Template: module-scope file (test_<control>.py)
python
import pytest

import flet as ft
import flet.testing as ftt


@pytest.mark.asyncio(loop_scope="module")
async def test_<behavior>(flet_app: ftt.FletTestApp, request):
    flet_app.page.theme_mode = ft.ThemeMode.LIGHT
    await flet_app.assert_control_screenshot(
        request.node.name,
        ft.Container(width=240, height=80, alignment=ft.Alignment.CENTER),
    )
Template: function-scope file (test_<control>_isolated.py)
python
import pytest

import flet as ft
import flet.testing as ftt


@pytest.mark.asyncio(loop_scope="function")
async def test_<behavior>(flet_app_function: ftt.FletTestApp):
    flet_app_function.page.add(ft.IconButton(icon=ft.Icons.INFO, tooltip="Info"))
    await flet_app_function.tester.pump_and_settle()

    finder = await flet_app_function.tester.find_by_tooltip("Info")
    assert finder.count == 1

Run commands

Run one test file:

bash
uv run pytest -s -o log_cli=true -o log_cli_level=INFO packages/flet/integration_tests/controls/core/test_control.py

Run a subset:

bash
uv run pytest -s -o log_cli=true -o log_cli_level=INFO packages/flet/integration_tests/controls/core/test_control.py -k test_visible

Generate or update goldens:

bash
FLET_TEST_GOLDEN=1 uv run pytest -s -o log_cli=true -o log_cli_level=INFO packages/flet/integration_tests/controls/core/test_control.py

Quality checklist

  • Test file location matches control area.
  • module and function scope tests are in separate files.
  • Function-scoped files use the test_<control>_isolated.py naming convention.
  • Fixture scope matches test intent.
  • Screenshot keys are stable (request.node.name preferred).
  • Visual tests are deterministic (theme/size/content).
  • Goldens are updated only for intentional visual changes.
  • No unrelated formatting or refactors in the same change.

References

  • sdk/python/packages/flet/integration_tests/README.md
  • sdk/python/packages/flet/integration_tests/conftest.py
  • sdk/python/packages/flet/integration_tests/controls/core/test_control.py
  • sdk/python/packages/flet/integration_tests/controls/core/test_control_isolated.py
  • sdk/python/packages/flet/integration_tests/controls/core/test_layout_control.py
  • sdk/python/packages/flet/integration_tests/examples/core/test_control.py
  • sdk/python/examples/controls/control

© 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-control-integration-tests of flet-dev/flet.

Open the folder on GitHubat commit 9748de3

Compare with similar skills

Create Flet Control Integration Tests 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 Control Integration Tests compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Create Flet Control Integration Tests this skillflet-dev/flet17k—~1.4kAutomated safety check: PassApache-2.0
OpenHarness End-to-End EvalsHKUDS/OpenHarness16k1 repos~2.1kAutomated safety check: NotesMIT
Godot E2ERandallLiuXin/GodotMaker5491 repos~3.9kAutomated safety check: PassCustom licence
JS-in-HTML Testingliaohch3/claude-tap3.3k—~924Automated safety check: PassMIT
Run Integration Testsvalkey-io/valkey-search145—~511Automated safety check: PassBSD-3-Clause
Temporal Python Testingwshobson/agents40k11 repos~1.2kAutomated safety check: PassMIT

Similar skills

  • Validates OpenHarness features by running real multi-turn agent loops with live LLM calls against an unfamiliar codebase, checking actual tool execution.

    16k GitHub starsUsed in 1 repo~2.1k tokens
    Testing & QAAuto-check: notes
  • Godot E2E

    RandallLiuXin/GodotMaker

    Write and run E2E (end-to-end) game tests using the godot-e2e framework.

    549 GitHub starsUsed in 1 repo~3.9k tokens
    Testing & QAAuto-check passed
  • JS-in-HTML Testing

    liaohch3/claude-tap

    Tests JavaScript embedded in an HTML file in two layers: pytest checks of the logic ported to Python, and Playwright runs in a real browser for the DOM.

    3.3k GitHub stars~924 tokensUpdated 15 days ago
    Testing & QAAuto-check passed
  • Run Integration Tests

    valkey-io/valkey-search

    Run or troubleshoot Valkey Search C++ and Python integration tests, including focused development runs, full-suite verification, and packaging/build or runtime failure classification.

    145 GitHub stars~511 tokensUpdated today
    Testing & QAAuto-check passed
  • Test Temporal workflows with pytest, time-skipping, and mocking strategies.

    40k GitHub starsUsed in 11 repos~1.2k tokens
    Testing & QAAuto-check passed
  • Integration Testing

    s-morgan-jeffries/apple-mail-fast-mcp

    A skill your agent uses when setting up, running, or debugging integration tests against real Apple Mail.

    104 GitHub stars~1.2k tokensUpdated 28 days ago
    Testing & QAAuto-check passed

More from flet-dev/flet

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

    17k GitHub stars~2.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

Works with

Categories

Questions about Create Flet Control Integration Tests

What does Create Flet Control Integration Tests do?

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. Create Flet Control Integration Tests is an agent skill from flet-dev/flet. Use 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.

When should I use Create Flet Control Integration Tests?

Create Flet Control Integration Tests fits situations like: asked to create; update integration tests for any Flet control in sdk/python/packages/flet/integrationtests; including visual goldens and interactive behavior tests.

How do I install Create Flet Control Integration Tests in Claude Code?

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

How do I install Create Flet Control Integration Tests in Codex?

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

Can I use Create Flet Control Integration Tests 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-control-integration-tests -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-control-integration-tests, .gemini/skills/create-flet-control-integration-tests, .github/skills/create-flet-control-integration-tests and .opencode/skills/create-flet-control-integration-tests in your project.

What does Create Flet Control Integration Tests need to run?

Going by SKILL.md and its folder, Create Flet Control Integration Tests needs the command-line tools its instructions call (uv). Our summary lists: Python 3.

Does Create Flet Control Integration Tests access the network?

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

Is Create Flet Control Integration Tests 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 Control Integration Tests use?

Create Flet Control Integration Tests 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 Control Integration Tests use?

About 1.4k tokens (SKILL.md is roughly 5.5k 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 Control Integration Tests?

Skills that share tags, products or a category with Create Flet Control Integration Tests: OpenHarness End-to-End Evals (HKUDS/OpenHarness, 16k stars), Godot E2E (RandallLiuXin/GodotMaker, 549 stars), JS-in-HTML Testing (liaohch3/claude-tap, 3.3k stars) and Run Integration Tests (valkey-io/valkey-search, 145 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Create Flet Control Integration Tests?

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.