CtrlK
BlogDocsLog inGet started
Tessl Logo

dart-setup-ffi-assets

Guides agents in compiling and packaging C/C++ source code into dynamic or static libraries (Code Assets) using Dart's Native Assets hook system (via hook/build.dart and hook/link.dart utilizing package:hooks and package:native_toolchain_c). Use when a user asks to: 'setup native assets', 'compile C/C++ source code', 'bundle dynamic libraries', 'build native C code', 'link native assets', 'implement build.dart or link.dart hooks', or 'integrate C/C++ interop in Dart/Flutter'. Helps agents avoid manual toolchain orchestration and configures secure hash-validated binary downloads or advanced linker tree-shaking with package:record_use mapping.

68

Quality

83%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Critical

Do not install without reviewing

SKILL.md
Quality
Evals
Security

Quality

Content

77%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 thorough, highly actionable skill body with excellent code examples and a validation-rich workflow. Its main weakness is conciseness (some explanatory padding) and progressive disclosure (monolithic single-file structure with no bundle files despite the length and two-method split).

Suggestions

Move Method 2 (Precompiled Downloads) and/or the extended Verification Checklist into separate reference files referenced one level deep from SKILL.md to improve progressive disclosure and reduce the inlined length.

Trim the 'Why Download Precompiled Binaries?' rationale and restated constraint justification prose, which explain concepts Claude already understands and pad the token budget.

Consider extracting the hash table and download helper code into a scripts/ bundle file so the in-body example focuses on the hook orchestration rather than auxiliary utilities.

DimensionReasoningScore

Conciseness

The body is mostly efficient with concrete code, but includes explanatory padding Claude likely already knows (e.g., the 'Why Download Precompiled Binaries?' rationale section and restated justification prose around constraints) that could be tightened without losing clarity.

3 / 5

Actionability

Provides fully executable, copy-paste-ready Dart code for build.dart, link.dart, c_library.dart, hashes, download helpers, and the precompiled build hook, plus concrete shell commands covering the common cases for both integration methods.

5 / 5

Workflow Clarity

Clear step-by-step workflow with a dedicated Verification Checklist containing explicit validation checkpoints (run tests, verify outputs, nm/dumpbin symbol checks, offline compliance with feedback to local_build fallback) and error-recovery guidance for a destructive/batch-adjacent operation.

5 / 5

Progressive Disclosure

Well-organized with a contents index and clear sections, but all content is inlined into a single ~410-line SKILL.md with no references/ or assets/ bundle files; the two integration methods and extended verification details could be split into one-level-deep referenced files.

3 / 5

Total

16

/

20

Passed

Description

88%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, specific description with an explicit and natural trigger clause covering both what and when, anchored to a distinctive Dart/Flutter niche. Minor improvement would be trimming the final benefit sentence to keep it tighter.

DimensionReasoningScore

Specificity

Lists several concrete actions ('compiling and packaging C/C++ source code', 'bundle dynamic libraries', 'link native assets', 'secure hash-validated binary downloads', 'linker tree-shaking') with specific APIs named, though the trailing sentence drifts into benefit framing rather than additional discrete capabilities.

4 / 5

Completeness

Clearly answers both 'what' (compiling/packaging C/C++ into Code Assets via build.dart/link.dart hooks) and 'when' (explicit 'Use when a user asks to' clause with concrete trigger phrases), matching the top anchor.

5 / 5

Trigger Term Quality

Provides an explicit 'Use when a user asks to' clause with six natural quoted trigger phrases users would plausibly say ('compile C/C++ source code', 'build native C code', 'link native assets', 'integrate C/C++ interop in Dart/Flutter'), covering synonyms and the relevant ecosystem.

5 / 5

Distinctiveness Conflict Risk

Targets a narrow, specific niche (Dart Native Assets hooks, build.dart/link.dart, native_toolchain_c) with distinct triggers unlikely to fire for unrelated skills; minimal conflict risk.

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

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository
flutter/agent-plugins
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.