Agent skill

Signals Hooks

by rodydavis in rodydavis/signals.dart

Comprehensive reactive state hooks for integration with flutterhooks.

Apache-2.0Auto-check passedMobile

Install Signals Hooks

skills CLI
$ npx skills add rodydavis/signals.dart --skill signals-hooks -a claude-code

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

GitHub CLI
$ gh skill install rodydavis/signals.dart signals-hooks --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-hooks .claude/skills/signals-hooks && 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-hooks
GitHub stars
819
Token cost
~2.1k tokens
SKILL.md length
486 words
Files
44
Skills in repo
15
Repo updated
First seen
Licence
Apache-2.0

At a glance

Comprehensive reactive state hooks for integration with flutterhooks.

  • Tasks that involve Cross-platform mobile apps
  • SKILL.md covers 🚀 Getting Started, 📊 Comprehensive Hooks… and 🧪 Testing State Hooks
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Signals Hooks is an agent skill from rodydavis/signals.dart. Comprehensive reactive state hooks for integration with flutterhooks.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 44 other files (for example `CONTEXT.md`, `hooks/CONTEXT.md` and `hooks/use-async-computed.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-hooks”

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 Hooks loads about 2.1k tokens when it runs. Until then it costs about 21 tokens; SKILL.md has 486 words of instructions outside code blocks.

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

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). 486 words, ~2,143 tokens.

Download SKILL.mdSave it as .claude/skills/signals-hooks/SKILL.md (or your agent's skills folder). This skill also uses 43 other files; get the full folder from GitHub.
name
signals-hooks
description
Comprehensive reactive state hooks for integration with flutter_hooks.

Reactive State Hooks (signals_hooks)

This skill covers orchestrating reactive state signals within flutter_hooks codebases utilizing the signals_hooks package.


🚀 Getting Started

dart
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:signals_hooks/signals_hooks.dart';

class ExampleWidget extends HookWidget {
  const ExampleWidget({super.key});

  @override
  Widget build(BuildContext context) {
    // 1. Create a reactive signal managed by the widget's hook lifecycle
    final count = useSignal(0);
    
    // 2. Derive a lazy, memoized computed value
    final doubleCount = useComputed(() => count.value * 2);
    
    // 3. Register reactive side effects automatically bound to layout phases
    useSignalEffect(() {
      debugPrint('count changed: $count, double: $doubleCount');
    });

    return Scaffold(
      body: Center(
        child: Text('Count: $count (Double: $doubleCount)'),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () => count.value++,
        child: const Icon(Icons.add),
      ),
    );
  }
}

[!TIP] All signals, derived computed states, and side effects created inside standard HookWidget elements using the use... methods automatically teardown and dispose when the widget unmounts. This completely eliminates memory leaks or manual resource disposal.


📊 Comprehensive Hooks Reference Directory

The following table summarizes all available reactive hooks in the signals_hooks package. Click on any hook's name to view its detailed documentation, signature, best practices, and code examples.

HookReturn TypeDescriptionLifecycle / Teardown Behavior
useSignalSignal<T>Creates a mutable reactive signal managed by the hook lifecycle.Disposes the signal on widget unmount.
useComputedComputed<T>Creates a derived, cached read-only computed signal.Disposes the computed signal on widget unmount.
useSignalEffectvoidRegisters a reactive side effect bound to the widget mount lifecycle.Cancels the effect subscription on widget unmount.
useExistingSignalSignal<T>Binds an external signal to rebuild when it mutates.Detaches subscription on unmount (does not dispose signal).
useSignalValueTDirectly reads and subscribes to the value of an external signal.Detaches subscription on unmount (does not dispose signal).
useLazySignalSignal<T>Creates a new lazy Signal initialized late, managed by hook state.Disposes the lazy signal on widget unmount.
useLinkedSignalLinkedSignal<T>Creates a new LinkedSignal that resets its value when its source changes.Disposes the linked signal on widget unmount.
useFutureSignalFutureSignal<T>Creates a reactive future signal with auto-disposal and race protection.Disposes the future signal on widget unmount.
useStreamSignalStreamSignal<T>Creates a reactive stream signal with key-based resubscription.Cancels stream subscription and disposes signal on unmount.
useAsyncSignalAsyncSignal<T>Wraps an asynchronous task state inside a manageable AsyncSignal.Disposes the async signal on widget unmount.
useAsyncComputedAsyncSignal<T>Creates an async computed signal re-evaluated on dependency change.Disposes the async signal on widget unmount.
useValueNotifierToSignalSignal<T>Bridges a standard Flutter ValueNotifier to a mutable reactive Signal.Detaches subscription on unmount (does not dispose).
useValueListenableToSignalReadonlySignal<T>Bridges a standard Flutter ValueListenable to a read-only Signal.Detaches subscription on unmount (does not dispose).
useListSignalListSignal<T>Creates a reactive list with deep item-level mutation tracking.Disposes the list signal on widget unmount.
useSetSignalSetSignal<T>Creates a reactive set with deep element-level mutation tracking.Disposes the set signal on widget unmount.
useMapSignalMapSignal<K, V>Creates a reactive map with deep key-value mutation tracking.Disposes the map signal on widget unmount.
useIterableSignalIterableSignal<T>Creates a reactive iterable with element-level mutation tracking.Disposes the iterable signal on widget unmount.
useTrackedSignalTrackedSignal<T>Creates a tracked signal remembering its historical value state.Disposes the tracked signal on widget unmount.
useQueueSignalQueueSignal<T>Creates a reactive queue for FIFO collection management.Disposes the queue signal on widget unmount.
useChangeStackSignalChangeStackSignal<T>Creates a change-stack signal for robust undo/redo history tracking.Disposes the change-stack signal on widget unmount.
Show full SKILL.md (22 more words)Show less

🧪 Testing State Hooks

To verify hook state components, use flutter_test along with a HookBuilder to execute the hooks safely under test frameworks:

dart
testWidgets('useSignal test', (tester) async {
  late Signal<int> state;
  await tester.pumpWidget(
    HookBuilder(builder: (context) {
      state = useSignal(42);
      return Text('$state', textDirection: TextDirection.ltr);
    }),
  );

  expect(state.value, 42);
  expect(find.text('42'), findsOneWidget);

  state.value = 43;
  await tester.pumpAndSettle();

  expect(find.text('43'), findsOneWidget);
});

© 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 43 other files in skills/signals-hooks of rodydavis/signals.dart.

  • SKILL.md
  • CONTEXT.md
  • hooks/CONTEXT.md
  • hooks/use-async-computed.md
  • hooks/use-async-signal.md
  • hooks/use-change-stack-signal.md
  • hooks/use-computed.md
  • hooks/use-existing-signal.md
  • hooks/use-future-signal.md
  • hooks/use-iterable-signal.md
  • hooks/use-lazy-signal.md
  • hooks/use-linked-signal.md
  • hooks/use-list-signal.md
  • hooks/use-map-signal.md
  • hooks/use-queue-signal.md
  • hooks/use-set-signal.md
  • hooks/use-signal-effect.md
  • hooks/use-signal-value.md
  • hooks/use-signal.md
  • hooks/use-stream-signal.md
  • … and 24 more

Open the folder on GitHubat commit 81d64e8

Compare with similar skills

Signals Hooks 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 Hooks compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Signals Hooks this skillrodydavis/signals.dart819—~2.1kAutomated safety check: PassApache-2.0
Add Flutter Docusaurus Localematthiasn/lotti1.2k—~1.2kAutomated safety check: PassGPL-3.0
Tm Launcher DesignFar-Se/tabame372—~3.1kAutomated safety check: PassMIT
Flutter Initbear2u/my-skills932—~2.5kAutomated safety check: PassNone
Mobile App UI Designceorkm/mobile-app-ui-design409—~2kAutomated safety check: PassNone
Marionette Flutter Drive Appleancodepl/marionette_mcp482—~11kAutomated safety check: PassApache-2.0

Similar skills

  • Add, complete, or audit a locale across a Flutter application's ARB catalogs and a localized Docusaurus manual, including generated localization code, locale selectors, native platform declarations…

    1.2k GitHub stars~1.2k tokensUpdated today
    MobileAuto-check passed
  • Tm Launcher Design

    Far-Se/tabame

    Create or revise Tabame's Flutter launcher designs: frames, search bars, result rows, palettes, typography, and action dialogs.

    372 GitHub stars~3.1k tokensUpdated yesterday
    MobileAuto-check passed
  • Flutter Init

    bear2u/my-skills

    A skill your agent uses when user wants to create a new Flutter project (Todo/Habit/Note/Expense/Custom domain) with Clean Architecture, Riverpod 3.0, Drift, and modern Flutter stack

    932 GitHub stars~2.5k tokensUpdated 3 mo ago
    MobileAuto-check passed
  • Mobile App UI Design

    ceorkm/mobile-app-ui-design

    Design high-quality mobile app UI/UX screens, flows, and components.

    409 GitHub stars~2k tokensUpdated 3 mo ago
    MobileAuto-check passed
  • Marionette Flutter Drive App

    leancodepl/marionette_mcp

    Set up and drive a running Flutter app (debug or profile) with Marionette — an AI agent's hands and eyes for the app.

    482 GitHub stars~11k tokensUpdated 5 days ago
    MobileAuto-check passed
  • Flutter Screenshot

    JustLookAtNow/pt_mate

    Capture and show two Flutter UI screenshots for this project: one landscape/large-screen preview and one portrait/mobile preview, without using Flutter Web.

    504 GitHub stars~511 tokensUpdated yesterday
    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

Categories

Questions about Signals Hooks

What does Signals Hooks do?

Comprehensive reactive state hooks for integration with flutterhooks. dart. Comprehensive reactive state hooks for integration with flutterhooks.

When should I use Signals Hooks?

Signals Hooks fits situations like: tasks that involve Cross-platform mobile apps.

How do I install Signals Hooks in Claude Code?

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

How do I install Signals Hooks in Codex?

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

Can I use Signals Hooks 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-hooks -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-hooks, .gemini/skills/signals-hooks, .github/skills/signals-hooks and .opencode/skills/signals-hooks in your project.

What does Signals Hooks need to run?

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

Does Signals Hooks 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 Hooks 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 Hooks use?

Signals Hooks 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 Hooks use?

About 2.1k tokens (SKILL.md is roughly 8.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 Hooks?

Skills that share tags, products or a category with Signals Hooks: Add Flutter Docusaurus Locale (matthiasn/lotti, 1.2k stars), Tm Launcher Design (Far-Se/tabame, 372 stars), Flutter Init (bear2u/my-skills, 932 stars) and Mobile App UI Design (ceorkm/mobile-app-ui-design, 409 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Signals Hooks?

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.