dart-use-ffigen agent skill by flutter
Guides using package:ffigen to generate FFI bindings automatically instead of writing them by hand, for new bindings or C, Objective-C, and Swift integrations.
At a glance
| Publisher | Flutter Official |
|---|---|
| Repository | flutter/skills (24 listed skills) |
| Category | Developer Tools and Frameworks |
| License | BSD-3-Clause |
| Last commit | October 16, 2026 (repository) |
| SKILL.md | 211 lines, 1,380 words |
| Bundled files | 1 file |
| Quality score | 81/100 · B Passes all seven graded checks |
| Security scan | Not scanned |
| README badge | Get the badges for this listing |
Before you install
Read from the skill's files at the directory's October 19, 2026 snapshot: what ships with it, what its code reads, and the terms it is published under.
- Bundled scripts: none.
- MCP: SKILL.md mentions an MCP server.
- License: BSD-3-Clause, an open-source or open-content license.
Install dart-use-ffigen
The skills CLI works with Claude Code, Codex, Cursor and other agents; the other routes copy the folder by hand.
npx skills add https://github.com/flutter/skills/tree/main/skills/dart-use-ffigen
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/flutter/skills.git "$tmp/repo"
mkdir -p .claude/skills
cp -R "$tmp/repo/"skills/dart-use-ffigen .claude/skills/
rm -rf "$tmp"
python3 ~/.codex/skills/.system/skill-installer/scripts/install-skill-from-github.py \
--repo flutter/skills \
--path skills/dart-use-ffigen
flutter/skills is third-party code. Read SKILL.md and any bundled scripts before you install it.
How the author describes it
Guide agents to use `package:ffigen` to automatically generate FFI bindings instead of writing them manually. Use this skill when a task involves writing new FFI bindings, extending C/Objective-C/Swift integrations, or replacing hand-crafted `dart:ffi` setups.
From the description field of SKILL.md. Agents read this line to decide when to load the skill.
Sections in SKILL.md
- Contents
- Introduction
- Constraints
- FFIgen Overview
- 1. FfiGenerator
- 2. Headers
- 3. Functions
- 4. Output
- Step-by-Step Workflow
- Step 1: Check/Add Dependencies
- Step 2: Formulate Paths Dynamically
- Step 3: Write the Script (tool/ffigen.dart)
- Step 4: Run Code Generation
- Step 5: Static Analysis
- Concrete Example: Binding a C Library
- The C Header File (thirdparty/sqlite/sqlite3.h)
Files in the skill folder
SKILL.md
Suede Skill Check: 81/100 · B
Report snapshot · · graded-v2
The rubric totals 100 points; published scores are capped at 99. Security scan: not scanned.
Source revision: b60d0736a33a. Report version c9ee420fc32b. Badge URLs follow the latest listing; save the report to keep this version.
Download report · Request a fresh review
What to review next
- Example request: 0 of 3 points. 3 when the description quotes an example request (3–60 characters in quotation marks).
- Reference files: 0 of 3 points. 3 when the skill folder ships a references/, reference/ or docs/ folder.
- Bundled scripts: 0 of 2 points. 2 when the skill folder ships a scripts/ folder.
Add declarations and bundled files when they describe the skill’s actual needs. Update the source, then request a fresh review with the changed commit or PR.
dart-use-ffigen passes the required frontmatter check and all seven graded checks, which cover the SKILL.md format, a declared license and a commit in the last year. Those checks earn 56 of the score’s points; the rest come from description quality, instruction depth, bundled files, maintenance and curated-list citations. How the score works.
See the checks and points
| Check | Result |
|---|---|
| Frontmatter parses and declares a name and a description | Pass |
| Name uses lowercase letters, digits and hyphens, 64 characters or fewer | Pass |
| Name matches the skill's folder name | Pass |
| Description is between 50 and 1,024 characters | Pass |
| Description says when an agent should use the skill | Pass |
| SKILL.md body is 500 lines or fewer | Pass |
| A license is declared in the frontmatter or the repository | Pass |
| Repository has a commit in the last 12 months | Pass |
| Score component | Points |
|---|---|
| Structural checks | 56 of 56 |
| Description length | 5 of 5 |
| Boundary clause | 4 of 4 |
| Example request | 0 of 3 |
| Instruction depth | 7 of 7 |
| Reference files | 0 of 3 |
| Bundled scripts | 0 of 2 |
| Recent maintenance | 9 of 9 |
| Curated-list citations | 0 of 7 |
| Tool permissions declared | 0 of 2 |
| Compatibility declared | 0 of 2 |
Two badges for dart-use-ffigen
Choose the numeric badge, the letter badge, or both. Each links to this skill’s Suede listing; either valid linked badge can qualify for the feature offer.
[](https://skills.suedeai.ai/directory/flutter/skills/dart-use-ffigen/)
[](https://skills.suedeai.ai/directory/flutter/skills/dart-use-ffigen/)<a href="https://skills.suedeai.ai/directory/flutter/skills/dart-use-ffigen/"><img src="https://skills.suedeai.ai/directory/flutter/skills/dart-use-ffigen/score.svg" alt="Suede Skill Check: 81/100" width="160" height="175"></a>
<a href="https://skills.suedeai.ai/directory/flutter/skills/dart-use-ffigen/"><img src="https://skills.suedeai.ai/directory/flutter/skills/dart-use-ffigen/badge.svg" alt="Suede Skill Check: Grade B" width="160" height="175"></a>Suede Certified on the shield refers to this published structural quality check. Security scan: not scanned. Read the methodology.
Limited-time feature offer: display either the numeric or letter badge in your repository or skill README (both also qualify), then request badge verification. Eligible skills scoring 80–99 can receive a featured placement after Suede verifies at least one valid badge linked to the skill’s listing. Suede has not announced an end date.
Where this skill is cited
flutter/skills is listed from its publisher's official collection or a listing request.