Agent skill

Frb Develop Feature

by fzyzcjy in fzyzcjy/flutter_rust_bridge

A skill your agent uses when fixing bugs, adding regression tests, adding new features, when compilation is slow, or when learning twin test naming conventions in flutterrustbridge

MITAuto-check passedMobile

Install Frb Develop Feature

skills CLI
$ npx skills add fzyzcjy/flutter_rust_bridge --skill frb-develop-feature -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install fzyzcjy/flutter_rust_bridge frb-develop-feature --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/fzyzcjy/flutter_rust_bridge.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/frb-develop-feature .claude/skills/frb-develop-feature && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
frb-develop-feature
GitHub stars
5.4k
Token cost
~2.3k tokens
SKILL.md length
913 words
Files
4
Skills in repo
28
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when fixing bugs, adding regression tests, adding new features, when compilation is slow, or when learning twin test naming conventions in flutterrustbridge

  • Works in 2 steps: Iterate in frb_example/dart_minimal → Migrate to frb_example/pure_dart
  • Adding regression tests
  • SKILL.md covers Overview, Final Placement Gate, When to Use and Bug Fix Reproduction Report, plus 4 more sections
  • Calls cargo

What it does

Frb Develop Feature is an agent skill from fzyzcjy/flutter_rust_bridge. Use when fixing bugs, adding regression tests, adding new features, when compilation is slow, or when learning twin test naming conventions in flutterrustbridge

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `tests/test-academic.md`, `tests/test-pressure-1.md` and `tests/test-pressure-2.md`).

It sits in Mobile, covering Cross-platform mobile apps and Debugging. It works with Rust and Flutter. The repository describes itself as: Flutter/Dart <- Rust binding generator, feature-rich, but seamless and simple. The licence is MIT.

When your agent uses it

  • Adding regression tests
  • Adding new features
  • Compilation is slow
  • Learning twin test naming conventions in flutterrustbridge

Example prompts

  • “/frb-develop-feature”

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. Iterate in frb_example/dart_minimal
  2. Migrate to frb_example/pure_dart

What it can do on your machine

Read from SKILL.md and the folder at commit 848e438. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • cargo

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Frb Develop Feature loads about 2.3k tokens when it runs. Until then it costs about 46 tokens; SKILL.md has 913 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~46
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from fzyzcjy/flutter_rust_bridge at commit 848e438, republished under its MIT licence (© fzyzcjy). 913 words, ~2,340 tokens.

Download SKILL.mdSave it as .claude/skills/frb-develop-feature/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
frb-develop-feature
description
Use when fixing bugs, adding regression tests, adding new features, when compilation is slow, or when learning twin test naming conventions in flutter_rust_bridge

FRB Develop Feature or Bug Fix

Note: Read frb-dev-env before running commands and follow the active user's environment rules.

Overview

For both bug fixes and new features: iterate in frb_example/dart_minimal (fast compile), then migrate the final test to frb_example/pure_dart (full coverage).

dart_minimal is only an iteration workspace. A bug fix or feature PR is not ready when its only regression coverage lives in dart_minimal; stop before PR preparation and move the final test to pure_dart/pure_dart_pde.

PhaseLocationWhy
Reproduce / Iteratefrb_example/dart_minimalFast compile = quick feedback
Migrate final regression / feature testfrb_example/pure_dart + pure_dart_pdeTwin tests = automatic coverage of all codegen modes

For bugs, first make the failure reproducible in dart_minimal, write down the exact reproduction report, fix it there, and only then move the regression test to pure_dart. For features, follow the same fast-iteration loop before adding the final pure_dart coverage.

Write one final test → get ~6 variants automatically via TwinNormal suffix.

Final Placement Gate

Before pushing, opening a PR, requesting review, or monitoring CI as if the work is ready:

  • Confirm every final regression or feature test has been moved from frb_example/dart_minimal to frb_example/pure_dart.
  • Confirm the final Rust APIs/types/functions in pure_dart use the TwinNormal suffix pattern where applicable.
  • Confirm code generation has produced the matching pure_dart_pde coverage.
  • For feature flags, read and apply frb-feature-flag before treating the coverage as final.
  • Remove the temporary dart_minimal reproducer unless it is intentionally kept as a minimal example in addition to the pure_dart regression.

If any of these checks fail, return to Phase 2. Do not treat a passing dart_minimal test as final readiness.

When to Use

  • Fixing a bug that should get a regression test
  • Adding a new function or feature
  • Writing tests for new or existing functionality
  • Compilation feels slow (use frb_example/dart_minimal instead)

Bug Fix Reproduction Report

For every bug fix, the PR description must include a reproduction report before the fix is presented as convincing.

Capture the report immediately after reproducing the bug and before changing the fix code. It must include:

  • Baseline commit: the exact commit hash, pushed and accessible to reviewers, used to reproduce the bug
  • Mechanical steps: copy-pasteable commands or file edits, using code blocks for multi-line changes, that reproduce the bug from that commit
  • Observed failure: the concrete failing command, error message, panic, assertion, or incorrect output
  • Expected behavior: the behavior that should happen after the fix

Use this PR description shape:

markdown
## Reproduction

Baseline commit: `<commit-hash>`

Steps:
1. `<command or edit>`
2. `<command>`

Observed:
```text
<error output>
```

Expected:
<expected behavior>

If the reproduction needs temporary test code in frb_example/dart_minimal, describe the exact temporary Rust/Dart edits in the steps. Keep the temporary reproducer only while debugging, then migrate the final regression test to frb_example/pure_dart.

Implementation

dot
digraph workflow {
    rankdir=TB;
    node [shape=box];

    "Write reproducer/test in dart_minimal" -> "Run reproducer";
    "Run reproducer" -> "Failure reproduced?" [shape=diamond];
    "Failure reproduced?" -> "Write reproduction report" [label="yes"];
    "Failure reproduced?" -> "Adjust reproducer" [label="no"];
    "Adjust reproducer" -> "Run reproducer";
    "Write reproduction report" -> "Fix";
    "Fix" -> "Run focused test";
    "Run focused test" -> "Pass?" [shape=diamond];
    "Pass?" -> "Move final test to pure_dart" [label="yes"];
    "Pass?" -> "Fix" [label="no"];
    "Move final test to pure_dart" -> "Add TwinNormal suffix" -> "Run code gen" -> "All tests pass?";
    "All tests pass?" -> "Done" [label="yes"];
    "All tests pass?" -> "Debug" [label="no"];
    "Debug" -> "All tests pass?";
}
Phase 1: Iterate in frb_example/dart_minimal
  1. Add the smallest test or bug reproducer:

    • Rust: add function to frb_example/dart_minimal/rust/src/api/minimal.rs
    • Dart: add test to frb_example/dart_minimal/test/minimal_test.dart

    For bug fixes, this test should fail before the fix and pass after the fix. There is usually no need to create any new files.

  2. Run the reproducer and record the reproduction report:

    Before changing the fix code, save the baseline commit hash, exact commands or temporary edits, and the observed failure output. This report must go into the PR description.

  3. Add the implementation or fix:

    Usually need to modify frb_codegen, frb_dart, and/or frb_rust.

  4. Run codegen and test:

    bash
    (cd frb_example/dart_minimal && cargo run --manifest-path ../../frb_codegen/Cargo.toml -- generate)
    ./frb_internal test-dart-native --package frb_example/dart_minimal

    After codegen: Follow frb-dev-env and verify generated output is present in the selected worktree before reviewing the diff.

  5. Iterate until test passes

    Keep the temporary dart_minimal reproducer while debugging. Passing here only proves the fix is ready to migrate; it is not the final regression placement. Remove or simplify the temporary reproducer after the final regression test has been migrated to pure_dart.

Show full SKILL.md (350 more words)Show less
Phase 2: Migrate to frb_example/pure_dart
  1. Move the final feature or regression test to frb_example/pure_dart:

    • Rust: frb_example/pure_dart/rust/src/api/my_feature.rs
    • Dart: frb_example/pure_dart/test/api/my_feature_test.dart

    Either add to existing files or create new files. Then remove temporary reproducer code from frb_example/dart_minimal unless it is intentionally useful as a minimal example.

  2. Add TwinNormal suffix to all functions and types:

    ContextSuffixExample
    snake_case_twin_normalmy_func_twin_normal()
    PascalCaseTwinNormalMyStructTwinNormal

    This triggers automatic test generation (~6 variants) under different codegen modes. Always mimic existing frb_example/pure_dart tests for exact patterns.

  3. Run codegen and test:

    bash
    # Codegen
    ./frb_internal precommit-generate
    
    # Native tests (can run in parallel)
    ./frb_internal test-dart-native --package frb_example/pure_dart
    ./frb_internal test-dart-native --package frb_example/pure_dart_pde
    
    # Web tests (optional, for web platform coverage)
    ./frb_internal test-dart-web --package frb_example/pure_dart
    ./frb_internal test-dart-web --package frb_example/pure_dart_pde

    After codegen: Follow frb-dev-env and verify generated output is present in the selected worktree before reviewing the diff.

    Native tests must pass - they test different codegen configurations. Web tests are optional but recommended for web platform coverage.

  4. Iterate until test passes

    You may use frb_example/dart_minimal again if there are bugs and need fast iteration.

Quick Reference

Tasks and Commands
TaskCommand
Test dart_minimal./frb_internal test-dart-native --package frb_example/dart_minimal
Test pure_dart./frb_internal test-dart-native --package frb_example/pure_dart
Test pure_dart_pde./frb_internal test-dart-native --package frb_example/pure_dart_pde
Web test pure_dart./frb_internal test-dart-web --package frb_example/pure_dart
Web test pure_dart_pde./frb_internal test-dart-web --package frb_example/pure_dart_pde
Code generation./frb_internal precommit-generate
Architecture
  • Doc: website/docs/guides/contributing/overview.md - System architecture, codegen flow, directory structure
  • Key directories:
    DirectoryPurpose
    frb_codegen/Code generator (IR → Rust/Dart output)
    frb_dart/Dart runtime library
    frb_rust/Rust runtime library
    frb_example/Examples + tests (pure_dart has most coverage)

Common Mistakes

MistakeFix
Fixing a bug directly in pure_dartFirst reproduce and iterate in dart_minimal, then migrate the regression test
Leaving final coverage only in dart_minimalMove the final regression to pure_dart/pure_dart_pde before PR preparation
Skipping frb_example/dart_minimal phaseStart there - saves time on compilation
Forgetting TwinNormal suffixAdd before code gen in frb_example/pure_dart
Moving test without updating importsCheck import paths after migration
Not running code gen after moveAlways run ./frb_internal precommit-generate
  • frb-code-generation - Which generation commands to run
  • frb-test - How to run tests locally
  • frb-debugging - Debug code generation issues
  • frb-prepare-pr - Preparing a PR for review

© fzyzcjy, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files in .claude/skills/frb-develop-feature of fzyzcjy/flutter_rust_bridge.

  • SKILL.md
  • tests/test-academic.md
  • tests/test-pressure-1.md
  • tests/test-pressure-2.md

Open the folder on GitHubat commit 848e438

Compare with similar skills

Frb Develop Feature next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Frb Develop Feature compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Frb Develop Feature this skillfzyzcjy/flutter_rust_bridge5.4k—~2.3kAutomated safety check: PassMIT
Winapp CLIboshi-xixixi/TraeSkill275—~1.9kAutomated safety check: PassMIT
Core API Changelibnativeapi/nativeapi161—~2.5kAutomated safety check: PassMIT
Puremusicqingyueyin/Pure-music186—~907Automated safety check: PassGPL-3.0
Test Flet Apps Devflet-dev/flet17k—~1.3kAutomated safety check: PassApache-2.0
Add Error Trackinggotempsh/temps826—~4.2kAutomated safety check: NotesApache-2.0

Similar skills

  • Winapp CLI

    boshi-xixixi/TraeSkill

    Windows App Development CLI (winapp) for building, packaging, signing, debugging, and UI-automating Windows applications.

    275 GitHub stars~1.9k tokensUpdated 4 mo ago
    MobileAuto-check passed
  • Core API Change

    libnativeapi/nativeapi

    Carry a change to the C++ public API in core/ all the way downstream — design check, header edit, six platform implementations, C ABI + Rust/Dart/C/JS/Python regeneration, per-binding verification…

    161 GitHub stars~2.5k tokensUpdated yesterday
    MobileAuto-check passed
  • Puremusic

    qingyueyin/Pure-music

    Pure-music 项目开发指南,覆盖 Windows Flutter/Dart 前端、Rust 后端、音频播放、歌词解析与渲染、桌面歌词、主题背景、设置、FFI、文档和测试。处理此仓库的代码理解、问题诊断、功能开发、缺陷修复、性能优化或代码审查时使用。

    186 GitHub stars~907 tokensUpdated yesterday
    MobileAuto-check passed
  • Test Flet Apps Dev

    flet-dev/flet

    A skill your agent uses when testing or debugging Flet apps in maintainer/contributor development mode with local Python package sources and the local Flutter client, including web, desktop…

    17k GitHub stars~1.3k tokensUpdated today
    MobileAuto-check passed
  • Add Error Tracking

    gotempsh/temps

    Add Temps error tracking to applications using the Sentry-compatible SDK.

    826 GitHub stars~4.2k tokensUpdated today
    MobileAuto-check: notes
  • Debugging Surveys

    PostHog/posthog

    Official

    Diagnose PostHog Surveys configuration and responses across all five SDKs (web/posthog-js, iOS, Android, Flutter, React Native).

    40k GitHub stars~7.1k tokensUpdated today
    MobileAuto-check passed

More from fzyzcjy/flutter_rust_bridge

All 28 skills in this repo
  • Frb Add Contributor

    fzyzcjy/flutter_rust_bridge

    Add or reconcile flutterrustbridge contributors through all-contributors PRs.

    5.4k GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Frb Android Emulator Prepare

    fzyzcjy/flutter_rust_bridge

    A skill your agent uses when preparing, installing, diagnosing, or explaining the host Android Emulator environment for flutterrustbridge local runtime validation, including Android SDK command-line…

    5.4k GitHub stars~2.1k tokensUpdated yesterday
    Auto-check: notes
  • Frb Cargokit Dev

    fzyzcjy/flutter_rust_bridge

    Develop or update CargoKit for flutterrustbridge. An agent skill from fzyzcjy/flutter_rust_bridge.

    5.4k GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Frb Categorize Code Diff

    fzyzcjy/flutter_rust_bridge

    A skill your agent uses when classifying a flutterrustbridge branch or PR diff into test and non-test changes, including colocated Rust test modules.

    5.4k GitHub stars~524 tokensUpdated yesterday
    Auto-check passed
  • Frb CI Filter

    fzyzcjy/flutter_rust_bridge

    A skill your agent uses when running focused flutterrustbridge GitHub Actions CI via cifilter, adding/removing the ci-manual-dispatch PR label, choosing exact CI jobs or matrix entries, documenting…

    5.4k GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Frb Code Generation

    fzyzcjy/flutter_rust_bridge

    A skill your agent uses when modifying Rust APIs, codegen, generated examples, or platform scaffolds in flutterrustbridge to select generation commands and preserve source-of-truth and convergence…

    5.4k GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Frb Develop Feature

What does Frb Develop Feature do?

A skill your agent uses when fixing bugs, adding regression tests, adding new features, when compilation is slow, or when learning twin test naming conventions in flutterrustbridge. Frb Develop Feature is an agent skill from fzyzcjy/flutter_rust_bridge.

When should I use Frb Develop Feature?

Frb Develop Feature fits situations like: adding regression tests; adding new features; compilation is slow; learning twin test naming conventions in flutterrustbridge.

How do I install Frb Develop Feature in Claude Code?

Run `npx skills add fzyzcjy/flutter_rust_bridge --skill frb-develop-feature -a claude-code`. Or copy the skill folder (.claude/skills/frb-develop-feature in fzyzcjy/flutter_rust_bridge) into .claude/skills/frb-develop-feature in your project. Claude Code loads it when a task matches its description.

How do I install Frb Develop Feature in Codex?

Run `npx skills add fzyzcjy/flutter_rust_bridge --skill frb-develop-feature -a codex`. Or copy the skill folder (.claude/skills/frb-develop-feature in fzyzcjy/flutter_rust_bridge) into .agents/skills/frb-develop-feature in your project. Codex loads it when a task matches its description.

Can I use Frb Develop Feature in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add fzyzcjy/flutter_rust_bridge --skill frb-develop-feature -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/frb-develop-feature, .gemini/skills/frb-develop-feature, .github/skills/frb-develop-feature and .opencode/skills/frb-develop-feature in your project.

What does Frb Develop Feature need to run?

Going by SKILL.md and its folder, Frb Develop Feature needs the command-line tools its instructions call (cargo).

Does Frb Develop Feature access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Frb Develop Feature safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Frb Develop Feature use?

Frb Develop Feature is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Frb Develop Feature use?

About 2.3k tokens (SKILL.md is roughly 9.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Frb Develop Feature?

Skills that share tags, products or a category with Frb Develop Feature: Winapp CLI (boshi-xixixi/TraeSkill, 275 stars), Core API Change (libnativeapi/nativeapi, 161 stars), Puremusic (qingyueyin/Pure-music, 186 stars) and Test Flet Apps Dev (flet-dev/flet, 17k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Frb Develop Feature?

fzyzcjy (a GitHub user) maintains it in fzyzcjy/flutter_rust_bridge, which has 5,442 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on October 7, 2026.

Source: fzyzcjy/flutter_rust_bridge on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.