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.

72

Quality

88%

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%

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

A detailed, highly actionable skill with complete executable code and a strong verification workflow, but it is a monolithic, somewhat verbose document whose length and inline detail could be reduced and offloaded to reference files.

Suggestions

Trim conceptual prose that restates knowledge Claude already has — e.g. the 'Why Download Precompiled Binaries?' rationale and the Introduction's explanation of the Native Assets feature — to lift the conciseness score.

Split the monolithic body into one-level-deep reference files (e.g. move the full Method 2 download implementation and the detailed tree-shaking verification procedures into separate referenced files), keeping SKILL.md as a concise overview with well-signaled links, to improve progressive disclosure.

Move the per-platform verification commands (nm/dumpbin) into a reference table or script rather than inlining all three platform variants in the main body.

DimensionReasoningScore

Conciseness

Mostly efficient with substantial executable code, but explanatory passages like the 'Why Download Precompiled Binaries?' bullets ('Precompiled downloads execute in milliseconds compared to potentially long multi-minute compilation processes') and the Introduction rationale restate concepts Claude already knows; not a 3 because it could be tightened, not a 1 because the bulk is actionable rather than padded.

2 / 3

Actionability

Provides complete, executable Dart for hook/build.dart, hook/link.dart, c_library.dart, download.dart, and hashes.dart plus concrete commands (dart pub add, nm -gU, dumpbin /EXPORTS) that are copy-paste ready; not a 2 because the code is real and complete rather than pseudocode.

3 / 3

Workflow Clarity

Clear Step-by-Step Workflow (Steps 1-4) and a Verification Checklist with explicit checkpoints (symbol-stripping confirmation, hash-mismatch exception, offline-compliance steps); not a 2 because validation and feedback loops are explicit rather than implicit.

3 / 3

Progressive Disclosure

Has a clear TOC and well-organized sections, but it is a monolithic ~420-line body with no bundle files and detailed content (full Method 2 download implementation, tree-shaking verification procedures) inlined that could be split into one-level-deep references; not a 3 because content is not split and no references exist, not a 1 because organization is clear rather than poor.

2 / 3

Total

10

/

12

Passed

Description

100%

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 that clearly states concrete capabilities and provides explicit, natural-language use-when triggers scoped to a distinctive Dart native-assets niche. It is somewhat long, but every clause supports a concrete action or trigger.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'compiling and packaging C/C++ source code into dynamic or static libraries', 'secure hash-validated binary downloads', and 'advanced linker tree-shaking with package:record_use mapping' — matching the 'lists multiple specific concrete actions' anchor; not a 2 because the actions are comprehensive rather than partial.

3 / 3

Completeness

Explicitly answers both what ('Guides agents in compiling and packaging C/C++ source code...') and when ('Use when a user asks to: ...') with explicit triggers, and uses third-person voice; not a 2 because the 'when' is explicit rather than implied.

3 / 3

Trigger Term Quality

Provides good coverage of natural phrases a user would say — 'setup native assets', 'compile C/C++ source code', 'bundle dynamic libraries', 'build native C code', 'link native assets', 'integrate C/C++ interop in Dart/Flutter'; not a 2 because it covers common variations rather than only a few keywords.

3 / 3

Distinctiveness Conflict Risk

Tightly scoped to Dart's Native Assets hooks (build.dart/link.dart, package:hooks, package:native_toolchain_c), giving it a clear niche unlikely to conflict with other skills; not a 2 because the triggers are highly specific rather than overlapping.

3 / 3

Total

12

/

12

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.