CtrlK
BlogDocsLog inGet started
Tessl Logo

upgrade-fab-provider

Upgrade the pinned Flask-AppBuilder (FAB) dependency in the Apache Airflow FAB provider (`providers/fab/`). Bumps the exact `flask-appbuilder==` pin and its mirror constant, regenerates `uv.lock`, drives the `test_fab_alignment.py` drift tripwire, reviews the vendored security-manager `override.py` against the new upstream FAB, and conditionally re-vendors static assets / DB migrations. Use when asked to "upgrade FAB", "bump flask-appbuilder", or move the FAB provider to a newer Flask-AppBuilder release.

72

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

88%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A dense, highly actionable procedural skill with concrete commands, explicit validation feedback loops, and well-sequenced steps for a fragile vendored-dependency bump. It is mostly token-efficient and well-structured, with only minor room to split the worked example into a reference file.

Suggestions

Consider moving the 'Worked example — 5.2.1 to 5.2.2' section into a references/ file (e.g. WORKED_EXAMPLE.md) and linking to it, keeping SKILL.md as a tighter overview.

Trim repetitive rationale between the intro, 'The coupling', and 'Gotchas' sections where the AST-vs-import and behavioural-parity points are restated.

DimensionReasoningScore

Conciseness

Largely lean and dense in non-obvious domain detail (vendored security-manager coupling, pinned-uv caveat), with minor over-explanation in the worked example and gotchas that could be trimmed; it does not belabor concepts Claude already knows.

4 / 5

Actionability

Provides copy-paste-ready, fully executable commands throughout — 'grep flask-appbuilder== providers/fab/pyproject.toml', 'uvx --from uv==$AIRFLOW_UV_VERSION uv lock', exact pytest invocations, and prek run commands with specific hook names — covering the common cases.

5 / 5

Workflow Clarity

A clear 9-step sequence with explicit validation checkpoints (run alignment test, re-run 'until all four tests pass', verify 'git diff main...HEAD') and feedback loops for error recovery on each of the four failing tests.

5 / 5

Progressive Disclosure

Well-organized single-file structure with clear sections (Inputs, Files, Procedure, Gotchas, Worked example) and no bundle files to delegate to; the long worked example and gotchas arguably could be split into reference files, leaving minor organization gaps.

4 / 5

Total

18

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A highly specific, third-person description that concretely enumerates the upgrade's actions and pairs them with explicit, natural-language trigger phrases. It is distinct, complete, and free of vague padding.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'Bumps the exact flask-appbuilder== pin and its mirror constant', 'regenerates uv.lock', 'drives the test_fab_alignment.py drift tripwire', 'reviews the vendored security-manager override.py', 'conditionally re-vendors static assets / DB migrations' — comprehensive coverage of the capability surface.

5 / 5

Completeness

Clearly answers both 'what' (the five concrete bump actions) and 'when' (an explicit 'Use when...' clause with concrete trigger phrases), matching the top anchor.

5 / 5

Trigger Term Quality

Explicit natural triggers — 'Use when asked to "upgrade FAB", "bump flask-appbuilder", or move the FAB provider to a newer Flask-AppBuilder release' — are phrases a user would actually say, with good synonyms; minor variations (e.g. 'flask appbuilder', version-specific phrasings) are absent.

4 / 5

Distinctiveness Conflict Risk

Targets a narrow, well-defined niche — the Airflow FAB provider's pinned Flask-AppBuilder upgrade — with distinct triggers and minimal realistic overlap with other skills.

5 / 5

Total

19

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 1 missing, 1 deeper-than-1-level

Warning

Total

15

/

16

Passed

Repository
apache/airflow
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.