CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

flutter-openapi-client

Discover, inspect, generate, or update Flutter and Dart API clients from Swagger or OpenAPI contracts. Use when spec inventory, operation selection, client generation, or contract drift is the task; route ordinary HTTP behavior to flutter-networking and login or token lifecycle to flutter-authentication.

Quality

86%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

The canonical home for this skill is thiennc-tesoglobal/flutter-skills

SKILL.md
Quality
Evals
Security

Quality

Content

78%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 well-structured, security-conscious instruction skill: lean overview, clear boundaries with sibling skills, sequenced workflow with safety validation, and verified one-level-deep references. The main gap is the absence of any concrete command or example invocation for the generation step itself, which is deferred to project inspection and the reference files.

Suggestions

Actionability: include one concrete fallback example in the body or the generation reference, e.g. a sample openapi-generator-cli or dart command for projects that lack an established generator, so the generation step is executable rather than purely directive.

Workflow clarity: add an explicit feedback loop after Safe Verification, e.g. 'if serialization or required-field tests fail, fix the mapping and re-run before proceeding', to reach checkpoint-level error recovery.

Conciseness: drop or shorten the "Installing this skill requires no API keys, accounts, base URLs, or generator packages" sentence, which adds little actionable value.

DimensionReasoningScore

Conciseness

The body is dense and skill-specific ("Block non-public network (loopback, metadata, link-local)", "Revalidate every reference and redirect hop") with no re-teaching of concepts Claude already knows. One minor trim candidate — "Installing this skill requires no API keys, accounts, base URLs, or generator packages" — keeps it below the every-token-earns-its-place anchor 5.

4 / 5

Actionability

Concrete instruction-only guidance: inspect specific files (`pubspec.yaml`, lockfile, DTOs), "Confirm Swagger 2.0 or OpenAPI 3.x dialect before parsing", and test "serialization, required/nullable fields, enums, polymorphism, and auth hooks". It contains no executable commands, but tooling is deliberately project-dependent ("Reuse project's existing client/generator") with specifics delegated to the references, so it is above the incomplete/pseudocode anchor 3 and mostly actionable with minor gaps.

4 / 5

Workflow Clarity

A clear six-step sequence (Bounded Acquisition → Complete Inventory → Scoped Generation → Preserve Stack → Safe Verification → Separate Evidence) with an explicit validation step: "never call live mutating endpoints (POST/PUT/DELETE) without authorization" plus a preflight phase. Validation is present so the destructive/batch cap does not apply, but there is no explicit error-recovery feedback loop (fix-and-retry), keeping it below anchor 5.

4 / 5

Progressive Disclosure

The body is a lean overview with three purpose-signaled, one-level-deep references ("Read [spec discovery and inventory](references/spec-discovery-and-inventory.md) for Swagger UI discovery, resolving `$ref`, trust boundaries, and acquisition ledgers"). All three referenced files exist in the bundle and contain no further nested references, matching the clear-overview anchor 5.

5 / 5

Total

17

/

20

Passed

Description

87%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 strong description: concrete actions, explicit when-to-use triggers, and explicit routing that disambiguates it from sibling Flutter skills. Only minor upside remains in trigger-term synonyms (e.g., REST client, swagger.json, codegen) and naming a couple more capabilities such as contract diffing.

DimensionReasoningScore

Specificity

"Discover, inspect, generate, or update Flutter and Dart API clients from Swagger or OpenAPI contracts" lists four concrete actions on a specific domain object. Minor gaps in coverage (e.g., contract diffing/verification is not named as an action), so it sits below the comprehensive anchor 5 but above the 1-2-action anchor 3.

4 / 5

Completeness

The opening sentence explicitly states what the skill does, and "Use when spec inventory, operation selection, client generation, or contract drift is the task" gives concrete trigger phrases for when to use it. Both what and when are clearly and explicitly answered, matching anchor 5.

5 / 5

Trigger Term Quality

Natural terms include "Swagger", "OpenAPI", "spec inventory", "client generation", and "contract drift" — phrases users would plausibly say. A few common variants are missing (e.g., "REST client", "swagger.json", "codegen"), keeping it below the comprehensive-synonym anchor 5.

4 / 5

Distinctiveness Conflict Risk

It carves a distinct niche (OpenAPI/Swagger client generation for Flutter/Dart) and explicitly routes adjacent work elsewhere: "route ordinary HTTP behavior to flutter-networking and login or token lifecycle to flutter-authentication". Minimal conflict risk, matching anchor 5.

5 / 5

Total

18

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

thienqo/flutter-skills

Path

skills/flutter-openapi-client/SKILL.md

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.