Agent skill

Signals Migration 6 To 7

by rodydavis in rodydavis/signals.dart

Detailed guidelines, patterns, and rules for migrating codebases from signals.dart version 6.x to version 7.x.

Apache-2.0Auto-check passedMobile

Install Signals Migration 6 To 7

skills CLI
$ npx skills add rodydavis/signals.dart --skill signals-migration-6-to-7 -a claude-code

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

GitHub CLI
$ gh skill install rodydavis/signals.dart signals-migration-6-to-7 --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/rodydavis/signals.dart.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/signals-migration-6-to-7 .claude/skills/signals-migration-6-to-7 && 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
signals-migration-6-to-7
GitHub stars
819
Token cost
~1.4k tokens
SKILL.md length
432 words
Files
9
Skills in repo
15
Repo updated
First seen
Licence
Apache-2.0

At a glance

Detailed guidelines, patterns, and rules for migrating codebases from signals.dart version 6.x to version 7.x.

  • Works in 5 steps: Unified Options Classes (Named Parameter… → Async Signals Refactoring → Flutter Integration Upgrades → …
  • Tasks that involve Cross-platform mobile apps
  • SKILL.md covers Related Documentation & Items, 1. Unified Options Classes…, 2. Async Signals Refactoring and 3. Flutter Integration Upgrades, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Signals Migration 6 To 7 is an agent skill from rodydavis/signals.dart. Detailed guidelines, patterns, and rules for migrating codebases from signals.dart version 6.x to version 7.x.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files (for example `CONTEXT.md`, `options/CONTEXT.md` and `options/async_options.md`).

It sits in Mobile, covering Cross-platform mobile apps. It works with Flutter. The repository describes itself as: Reactive programming made simple for Dart and Flutter. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Cross-platform mobile apps

Example prompts

  • “/signals-migration-6-to-7”

Workflow steps

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

  1. Unified Options Classes (Named Parameter Pattern)
  2. Async Signals Refactoring
  3. Flutter Integration Upgrades
  4. Writable Computed Signals (linkedSignal)
  5. Automated Refactoring via signals_lint

What it can do on your machine

Read from SKILL.md and the folder at commit 81d64e8. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are dart).

    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

Signals Migration 6 To 7 loads about 1.4k tokens when it runs. Until then it costs about 34 tokens; SKILL.md has 432 words of instructions outside code blocks.

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

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 rodydavis/signals.dart at commit 81d64e8, republished under its Apache-2.0 licence (© rodydavis). 432 words, ~1,396 tokens.

Download SKILL.mdSave it as .claude/skills/signals-migration-6-to-7/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
signals-migration-6-to-7
description
Detailed guidelines, patterns, and rules for migrating codebases from signals.dart version 6.x to version 7.x.

Migrating from signals.dart v6 to v7

This guide provides comprehensive instructions for migrating applications and packages using signals.dart from version 6.x to 7.0.0.

Related FileDescription
signal_options.mdGuide to migrating scattered parameters (e.g. autoDispose, debugLabel) of signal and computed creators to the new unified options classes.
async_options.mdGuidelines for migrating asynchronous signal creators (futureSignal, streamSignal) to use AsyncSignalOptions.
collection_options.mdInstructions on migrating collection-based signal creators to strongly typed collection options classes.
builder_migration.mdMigration path for SignalBuilder constructor to use the required named builder parameter.
mixin_migration.mdSafe refactoring guidelines for replacing the deprecated SignalsMixin with SignalWidget or localized builders.

1. Unified Options Classes (Named Parameter Pattern)

In v6, signals, computed, effects, and async signals accepted individual parameters like autoDispose, debugLabel, lazy, etc. In v7, all parameters have been unified under a single, cohesive options class parameter.

A. General Signals
  • Before (v6):
    dart
    final count = signal(0, autoDispose: true, debugLabel: 'counter');
  • After (v7):
    dart
    final count = signal(0, options: SignalOptions(autoDispose: true, name: 'counter'));
B. Computed Signals
  • Before (v6):
    dart
    final double = computed(() => count.value * 2, autoDispose: true, debugLabel: 'double');
  • After (v7):
    dart
    final double = computed(() => count.value * 2, options: ComputedOptions(autoDispose: true, name: 'double'));
C. Collections Signals (listSignal, setSignal, mapSignal, etc.)

All collections now accept unified options objects corresponding to their types (e.g. ListSignalOptions, SetSignalOptions, MapSignalOptions, IterableSignalOptions, QueueSignalOptions).

  • Before (v6):
    dart
    final list = listSignal([1, 2], autoDispose: true);
  • After (v7):
    dart
    final list = listSignal([1, 2], options: ListSignalOptions(autoDispose: true));

2. Async Signals Refactoring

All async creators (futureSignal, streamSignal, asyncSignal, computedFrom, computedAsync) now accept only the primary value/callback parameter followed by a named options parameter (AsyncSignalOptions). All other parameters have been marked @Deprecated.

  • Before (v6):
    dart
    final s = futureSignal(() => fetch(), lazy: false, initialValue: 0);
  • After (v7):
    dart
    final s = futureSignal(() => fetch(), options: AsyncSignalOptions(lazy: false, initialValue: 0));

3. Flutter Integration Upgrades

Show full SKILL.md (222 more words)Show less
A. Deprecation of SignalsMixin

SignalsMixin is deprecated to prevent state overhead. Use localized widgets or builders instead.

  • Migration:
    • Replace State with SignalsMixin with a stateless SignalWidget or a stateful SignalStatefulWidget.
    • Alternatively, use localized SignalBuilder widgets to wrap only the widgets that depend on signal updates.
B. SignalBuilder Named builder Parameter

The SignalBuilder widget now uses a required named parameter builder instead of a positional argument.

  • Before (v6):
    dart
    SignalBuilder(
      (context, value) => Text('$value'),
    )
  • After (v7):
    dart
    SignalBuilder(
      builder: (context, value) => Text('$value'),
    )
C. Side Effects with SignalEffect / SignalListener

If you were executing side effects inside builds or mixins, migrate them to the localized SignalEffect (or alias SignalListener) widget which manages mounting, didUpdateWidget, and unmounting teardown lifecycle hooks safely.

dart
SignalEffect(
  callback: (context) {
    if (error.value != null) {
      ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text(error.value!)));
    }
  },
  child: MyWidget(),
)

4. Writable Computed Signals (linkedSignal)

If you had custom logic synchronizing external updates back to a computed signal, migrate them to the native linkedSignal or LinkedSignalOptions.

dart
final original = signal('Alice');
final display = linkedSignal(() => original.value);

print(display.value); // 'Alice'
display.value = 'Bob'; // Override manual write
original.value = 'Charlie'; // Source changes -> resets display to 'Charlie'

5. Automated Refactoring via signals_lint

To make migrating from v6 to v7 completely effortless, the signals_lint tool analyzes your code and surfaces instant, automated quick-fixes/assists under your IDE's action menu (Alt+Enter or Cmd+.):

  • Strips legacy with SignalsMixin and replaces the widget with a high-performance SignalStatefulWidget automatically.
  • Converts positional Watch and Watch.builder instances into unified SignalBuilder components.
  • Promotes standard StatelessWidget and StatefulWidget widgets to reactive SignalWidget and SignalStatefulWidget widgets on command.
  • Quickly wraps any widget expression in a surgically targeted SignalBuilder.

© rodydavis, Apache-2.0. 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 8 other files in skills/signals-migration-6-to-7 of rodydavis/signals.dart.

  • SKILL.md
  • CONTEXT.md
  • options/CONTEXT.md
  • options/async_options.md
  • options/collection_options.md
  • options/signal_options.md
  • widgets/CONTEXT.md
  • widgets/builder_migration.md
  • widgets/mixin_migration.md

Open the folder on GitHubat commit 81d64e8

Compare with similar skills

Signals Migration 6 To 7 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.

Signals Migration 6 To 7 compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Signals Migration 6 To 7 this skillrodydavis/signals.dart819—~1.4kAutomated safety check: PassApache-2.0
Flutter Pub ReleaseMixinNetwork/flutter-plugins512—~1.3kAutomated safety check: PassMIT
Frb Add Contributorfzyzcjy/flutter_rust_bridge5.4k—~1.6kAutomated safety check: PassMIT
Release Pluginflutter/flutter-intellij2k—~1kAutomated safety check: PassBSD-3-Clause
Glasses AppbrilliantlabsAR/brilliant_sdk115—~1.2kAutomated safety check: PassBSD-3-Clause
Frb Develop Featurefzyzcjy/flutter_rust_bridge5.4k—~2.3kAutomated safety check: PassMIT

Similar skills

  • Flutter Pub Release

    MixinNetwork/flutter-plugins

    Prepare and draft a pub.dev release for a package in the flutter-plugins monorepo.

    512 GitHub stars~1.3k tokensUpdated 1 mo ago
    MobileAuto-check passed
  • Frb Add Contributor

    fzyzcjy/flutter_rust_bridge

    Add or reconcile flutterrustbridge contributors through all-contributors PRs.

    5.4k GitHub stars~1.6k tokensUpdated yesterday
    MobileAuto-check passed
  • Release Plugin

    flutter/flutter-intellij

    Prepare and execute a new release for the flutter-intellij plugin, including updating dependencies, compatibility bounds, changelogs, and verification.

    2k GitHub stars~1k tokensUpdated yesterday
    MobileAuto-check passed
  • Glasses App

    brilliantlabsAR/brilliant_sdk

    Build an app for Brilliant Labs smart glasses (Halo or Frame) with this SDK, in Python, Flutter or WebBluetooth/TypeScript.

    115 GitHub stars~1.2k tokensUpdated 4 days ago
    MobileAuto-check passed
  • Frb Develop Feature

    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

    5.4k GitHub stars~2.3k tokensUpdated yesterday
    MobileAuto-check passed
  • Squadron Worker

    d-markey/squadron

    A skill your agent uses when building, writing, or refactoring Squadron workers, worker pools, worker services, or using squadronbuilder annotations (@SquadronService, @SquadronMethod) for…

    138 GitHub stars~1.6k tokensUpdated 18 days ago
    MobileAuto-check passed

More from rodydavis/signals.dart

All 15 skills in this repo
  • Jaspr Component Fundamentals

    rodydavis/signals.dart

    Teaches the agent Jaspr's Flutter-like component model and typed HTML elements, with strict rules on build methods and helper syntax.

    819 GitHub stars~1.8k tokensUpdated 27 days ago
    Auto-check passed
  • Jaspr CSS-in-Dart Styling

    rodydavis/signals.dart

    Guides styling of Jaspr web components with the type-safe Styles API in Dart, covering @css annotations, inline styles and global stylesheets.

    819 GitHub stars~1.7k tokensUpdated 27 days ago
    Auto-check passed
  • Jaspr JS Interop

    rodydavis/signals.dart

    Rules for calling JavaScript from Jaspr web apps in Dart: which interop libraries to import in server, static and client modes, and how to wrap functions, objects and libraries.

    819 GitHub stars~823 tokensUpdated 27 days ago
    Auto-check passed
  • Jaspr Pre-Rendering and Hydration

    rodydavis/signals.dart

    Sets the rules for static or server mode Jaspr apps in Dart, covering dual entrypoints, the client annotation and data hydration.

    819 GitHub stars~1.2k tokensUpdated 27 days ago
    Auto-check passed
  • Update Dart Examples Dependencies

    rodydavis/signals.dart

    Upgrades every package under ./examples to the repository's latest signals version, runs pub upgrade on third-party dependencies, and fixes the resulting analysis problems.

    819 GitHub stars~514 tokensUpdated 27 days ago
    Auto-check passed
  • Jaspr HTML Converter

    rodydavis/signals.dart

    Use when you need to convert / rewrite existing HTML (from a file or url) into Jaspr code.

    819 GitHub stars~378 tokensUpdated 27 days ago
    Auto-check passed

Works with

Questions about Signals Migration 6 To 7

What does Signals Migration 6 To 7 do?

Detailed guidelines, patterns, and rules for migrating codebases from signals.dart version 6.x to version 7.x. dart.x.

When should I use Signals Migration 6 To 7?

Signals Migration 6 To 7 fits situations like: tasks that involve Cross-platform mobile apps.

How do I install Signals Migration 6 To 7 in Claude Code?

Run `npx skills add rodydavis/signals.dart --skill signals-migration-6-to-7 -a claude-code`. Or copy the skill folder (skills/signals-migration-6-to-7 in rodydavis/signals.dart) into .claude/skills/signals-migration-6-to-7 in your project. Claude Code loads it when a task matches its description.

How do I install Signals Migration 6 To 7 in Codex?

Run `npx skills add rodydavis/signals.dart --skill signals-migration-6-to-7 -a codex`. Or copy the skill folder (skills/signals-migration-6-to-7 in rodydavis/signals.dart) into .agents/skills/signals-migration-6-to-7 in your project. Codex loads it when a task matches its description.

Can I use Signals Migration 6 To 7 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 rodydavis/signals.dart --skill signals-migration-6-to-7 -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/signals-migration-6-to-7, .gemini/skills/signals-migration-6-to-7, .github/skills/signals-migration-6-to-7 and .opencode/skills/signals-migration-6-to-7 in your project.

What does Signals Migration 6 To 7 need to run?

SKILL.md names no scripts, command-line tools or credentials: Signals Migration 6 To 7 is instructions for the agent only.

Does Signals Migration 6 To 7 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 Signals Migration 6 To 7 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 Signals Migration 6 To 7 use?

Signals Migration 6 To 7 is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Signals Migration 6 To 7 use?

About 1.4k tokens (SKILL.md is roughly 5.6k 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 Signals Migration 6 To 7?

Skills that share tags, products or a category with Signals Migration 6 To 7: Flutter Pub Release (MixinNetwork/flutter-plugins, 512 stars), Frb Add Contributor (fzyzcjy/flutter_rust_bridge, 5.4k stars), Release Plugin (flutter/flutter-intellij, 2k stars) and Glasses App (brilliantlabsAR/brilliant_sdk, 115 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Signals Migration 6 To 7?

rodydavis (a GitHub user) maintains it in rodydavis/signals.dart, which has 819 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on September 14, 2026.

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