Agent skill

Flet Deprecation

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

Apache-2.0Auto-check passed

Install Flet Deprecation

skills CLI
$ npx skills add flet-dev/flet --skill flet-deprecation -a claude-code

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

GitHub CLI
$ gh skill install flet-dev/flet flet-deprecation --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/flet-deprecation .claude/skills/flet-deprecation && 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
flet-deprecation
GitHub stars
17k
Token cost
~2.2k tokens
SKILL.md length
850 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
Apache-2.0

At a glance

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…

  • Works in 3 steps: Property/field deprecation:… → Function/method deprecation:… → Class/control deprecation:…
  • Changing deprecations for Python controls/APIs in sdk/python/packages/
  • SKILL.md covers When To Use, Source Of Truth, Deprecation Decision Order and Runtime Contract For Property…, plus 8 more sections
  • Calls yarn and rg

What it does

Flet Deprecation is an agent skill from flet-dev/flet. Use when adding or changing deprecations for Python controls/APIs in sdk/python/packages/, including V.deprecated fields, deprecated decorators, version lifecycle, and docs admonitions/labels.

Its SKILL.md is about 2.2k 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 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

  • Changing deprecations for Python controls/APIs in sdk/python/packages/
  • Including V.deprecated fields
  • Deprecated decorators
  • Version lifecycle

Example prompts

  • “/flet-deprecation”

Requirements

  • Python 3

Workflow steps

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

  1. Property/field deprecation: Annotated[..., V.deprecated(...)].
  2. Function/method deprecation: @deprecated(...).
  3. Class/control deprecation: @deprecated_class(...).

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:

    • yarn
    • rg

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

  • Network

    No URLs in SKILL.md. Its commands use yarn, 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

Flet Deprecation loads about 2.2k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 850 words of instructions outside code blocks.

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

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). 850 words, ~2,238 tokens.

Download SKILL.mdSave it as .claude/skills/flet-deprecation/SKILL.md (or your agent's skills folder).
name
flet-deprecation
description
Use when adding or changing deprecations for Python controls/APIs in sdk/python/packages/, including V.deprecated fields, deprecated decorators, version lifecycle, and docs admonitions/labels.

When To Use

Use this skill when you:

  • deprecate a control/dataclass field with Annotated[..., V.deprecated(...)],
  • deprecate a function/method/class with flet.utils.deprecated helpers,
  • update deprecation wording, versions, or removal timelines,
  • verify docs rendering for deprecations (admonition + deprecated label).

Do not use this skill for non-deprecation validation logic; use flet-validation.

Source Of Truth

  • Runtime decorators and warning helpers: sdk/python/packages/flet/src/flet/utils/deprecated.py
  • Field-level deprecation rule: sdk/python/packages/flet/src/flet/utils/validation.py (V.deprecated)
  • Docs extraction/labeling extension: sdk/python/packages/flet/src/flet/utils/griffe_deprecations.py

Deprecation Decision Order

Use this order and stop at the first option that fits:

  1. Property/field deprecation: Annotated[..., V.deprecated(...)].
  2. Function/method deprecation: @deprecated(...).
  3. Class/control deprecation: @deprecated_class(...).

Do not add parallel custom warning logic in before_update() when V.deprecated already covers the field.

Runtime Contract For Property Renames

Follow the non-copying model:

  • Python sends both properties when both are set.
  • Dart prefers the new property and uses old property as fallback.
  • Python does not copy/synchronize old/new values in before_update().

Removal phase:

  • At delete_version cleanup, remove old Python property/deprecation and remove Dart fallback in the same migration.

Removal Version Policy

  • Default policy: remove deprecated APIs after 3 minor releases.
  • Example: deprecated in 0.82.0 -> remove in 0.85.0.
  • Use that policy to set delete_version unless there is an approved exception.

Target Release Audit

When working on a release for {new_version}, treat deprecations with delete_version == {new_version} as mandatory audit items.

  • Scan Python packages for @deprecated(...), @deprecated_class(...), and V.deprecated(...) entries whose delete_version equals {new_version}.
  • Recommended check command: rg -n 'delete_version\\s*=\\s*"{new_version}"|delete_version\\s*=\\s*\\x27{new_version}\\x27' -S sdk/python/packages
  • Treat every match as release-relevant work, not informational output.
  • If matches are found, summarize the findings first and ask the human for approval before editing files or making removals.
  • For each match, decide whether the deprecated API must be removed now, whether a prior removal was missed, or whether the deprecation timeline is incorrect.
  • If removal is due, make the code, docs, and changelog updates in the same change.
  • After the cleanup edits are ready, summarize the resulting diff and ask the human for approval before creating a commit.
  • Once commit approval is received, batch all confirmed {new_version} cleanup edits into one grouped commit instead of splitting them across multiple commits. Use commit message format: release: remove deprecated APIs for {new_version}
  • Do not consider the release prep complete while unresolved {new_version} removals remain.

Authoring Rules

  1. Always set version.
  2. Set delete_version using the 3-minor policy by default.
  3. Keep reason plain text for runtime warnings.
  4. Use docs_reason for docs-only markdown text.
  5. When a replacement exists, name that replacement API explicitly in reason and docs_reason.
Field Pattern
python
from typing import Annotated, Optional
from flet.utils.validation import V

class ExampleControl:
    old_prop: Annotated[
        Optional[str],
        V.deprecated(
            "new_prop",
            version="0.17.0",
            delete_version="0.20.0",
            reason="Use new_prop instead.",
            docs_reason="Use :attr:`new_prop` or [`new_prop`](../controls/examplecontrol.md#flet.ExampleControl.new_prop) instead.",
        ),
    ] = None
Function/Method Pattern
python
from flet.utils.deprecated import deprecated

class ExampleControl:
    @deprecated(
        reason="Use new_func instead.",
        docs_reason="Use :meth:`new_func` or [`new_func()`](../controls/examplecontrol.md#flet.ExampleControl.new_func) instead.",
        version="0.17.0",
        delete_version="0.20.0",
    )
    def old_func(self):
        ...
Class/Control Pattern
python
from flet.utils.deprecated import deprecated_class

@deprecated_class(
    reason="Use NewControl instead.",
    docs_reason="Use :class:`~flet.NewControl` or [`NewControl`](../controls/newcontrol.md)  instead.",
    version="0.17.0",
    delete_version="0.20.0",
)
class OldControl:
    ...
Deprecated Property Pattern
python
from flet.utils.deprecated import deprecated

class ExampleControl:
    @property
    @deprecated(
        reason="Use new_value instead.",
        docs_reason="Use :attr:`new_value` or [`new_value`](../controls/examplecontrol.md#flet.ExampleControl.new_value) instead.",
        version="0.17.0",
        delete_version="0.20.0",
    )
    def value(self):
        ...

reason vs docs_reason

  • Runtime warnings always use reason.
  • Docs admonitions prefer docs_reason; fallback is reason.
  • Keep markdown/cross-refs out of reason to avoid noisy runtime output.
Cross-reference Rule Inside docs_reason

In docs_reason, use reST roles for simple references when the auto-derived label is sufficient, and use Markdown links when you need more control over the displayed text.

See docs-conventions for details on supported cross-ref patterns and their syntax.

Docs Behavior Expectations

For supported patterns, docs should auto-render:

  • a Deprecated admonition section,
  • a deprecated label/badge on the item.

Do not duplicate with manual deprecation admonitions in docstrings unless there is a special case not covered by the extension.

Show full SKILL.md (327 more words)Show less

Release Docs Updates

When adding a user-visible deprecation, also update the release docs in the same change. These pages are the canonical upgrade path, not a separate Deprecations page.

  1. Create or update a migration guide under website/docs/updates/breaking-changes/vX-Y-Z/.
    • Group closely related deprecations into one page, especially APIs from the same class/control or the same PR. For example, DragTargetEvent.x, DragTargetEvent.y, and DragTargetEvent.offset belong in one coordinate-fields guide.
    • Use this page shape: title, :::note accuracy callout, Summary, Context, Migration guide, Timeline, and References.
    • Keep one-off replacements in prose. Use a table only when the page maps many removed/deprecated APIs to replacements.
    • In References, link relevant API docs, relevant GitHub issue/PR links, and release notes entry for that release.
  2. Add the guide to website/docs/updates/breaking-changes/index.md under the release's Deprecations subsection.
  3. Add the guide to website/sidebars.yml under: Stay up to date -> Breaking changes and deprecations -> vX.Y.Z. This keeps individual guide pages in the docs sidebar while grouping them by release.
  4. Update website/docs/updates/release-notes.md so the release links to the combined Breaking changes and deprecations section.
  5. Run cd website && yarn crocodocs:generate after sidebar edits, then run cd website && yarn build.

Testing Guidance

Do not add one-off tests for every API that gets deprecated when it uses an existing, already-tested pattern (V.deprecated, @deprecated, or @deprecated_class). For routine deprecation metadata updates, rely on the shared helper and docs extraction tests.

Add or update tests only when the change affects deprecation infrastructure or introduces meaningful new behavior, for example:

  • changing runtime warning formatting or stacklevel behavior,
  • changing docs extraction/labeling behavior,
  • adding a new deprecation pattern,
  • adding custom compatibility behavior outside the standard helper,
  • fixing a regression where an existing test would not have failed.

Prefer these locations for infrastructure tests:

  • sdk/python/packages/flet/tests/test_deprecated.py
  • sdk/python/packages/flet/tests/test_griffe_deprecations.py
  • sdk/python/packages/flet/tests/test_validation.py (for V.deprecated)

Common Pitfalls

  • Putting markdown/cross-refs into runtime reason.
  • Forgetting delete_version when a removal target is already known.
  • Adding old/new value-copy logic in Python for rename migrations.
  • Duplicating deprecation warnings in multiple lifecycle hooks manually.
  • Broken cross-refs targets in docs_reason.

© 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/flet-deprecation of flet-dev/flet.

Open the folder on GitHubat commit 9748de3

Compare with similar skills

Flet Deprecation 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.

Flet Deprecation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Flet Deprecation this skillflet-dev/flet17k—~2.2kAutomated safety check: PassApache-2.0
MCP Server Builderanthropics/skills180k62 repos~2.3kAutomated safety check: PassApache-2.0
PDF Processinganthropics/skills180k48 repos~2kAutomated safety check: PassProprietary
NotebookLM Research AssistantPleasePrompto/notebooklm-skill7.8k13 repos~2.4kAutomated safety check: NotesMIT
Manim Video Productionbrowser-use/video-use28k6 repos~3kAutomated safety check: PassMIT
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT

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
  • PDF Processing

    anthropics/skills

    Official

    Handles everyday PDF jobs in Python and on the command line: extract text and tables, merge, split, rotate, watermark, fill forms, encrypt and OCR.

    180k GitHub starsUsed in 48 repos~2k tokens
    Documents & OfficeAuto-check passed
  • NotebookLM Research Assistant

    PleasePrompto/notebooklm-skill

    Lets Claude Code ask questions of your Google NotebookLM notebooks through browser automation and return answers grounded in your uploaded sources.

    7.8k GitHub starsUsed in 13 repos~2.4k tokens
    Knowledge ManagementAuto-check: notes
  • Manim Video Production

    browser-use/video-use

    Produces math and technical explainer videos with Manim Community Edition: concept animations, equation derivations, algorithm walkthroughs and data stories.

    28k GitHub starsUsed in 6 repos~3k tokens
    Media & CreativeAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • PPT Master

    hugohe3/ppt-master

    Generates editable PowerPoint decks, rebuilds slides from images, fills .pptx templates and polishes existing presentations through routed workflows.

    58k GitHub starsUsed in 1 repo~2.5k tokens
    Documents & OfficeAuto-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 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
  • 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

Questions about Flet Deprecation

What does Flet Deprecation do?

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 Deprecation is an agent skill from flet-dev/flet.deprecated fields, deprecated decorators, version lifecycle, and docs admonitions/labels.

When should I use Flet Deprecation?

Flet Deprecation fits situations like: changing deprecations for Python controls/APIs in sdk/python/packages/; including V.deprecated fields; deprecated decorators; version lifecycle.

How do I install Flet Deprecation in Claude Code?

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

How do I install Flet Deprecation in Codex?

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

Can I use Flet Deprecation 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 flet-deprecation -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-deprecation, .gemini/skills/flet-deprecation, .github/skills/flet-deprecation and .opencode/skills/flet-deprecation in your project.

What does Flet Deprecation need to run?

Going by SKILL.md and its folder, Flet Deprecation needs the command-line tools its instructions call (yarn and rg). Our summary lists: Python 3.

Does Flet Deprecation 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 Flet Deprecation 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 Flet Deprecation use?

Flet Deprecation 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 Flet Deprecation use?

About 2.2k tokens (SKILL.md is roughly 9k 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 Flet Deprecation?

Skills that share tags, products or a category with Flet Deprecation: MCP Server Builder (anthropics/skills, 180k stars), PDF Processing (anthropics/skills, 180k stars), NotebookLM Research Assistant (PleasePrompto/notebooklm-skill, 7.8k stars) and Manim Video Production (browser-use/video-use, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Flet Deprecation?

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.