skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
rodydavis/signals.dart91 installs

signals-lint

Standardized compiler diagnostics, static analysis lints, and automated IDE quick-fixes.

How do I install this agent skill?

npx skills add https://github.com/rodydavis/signals.dart --skill signals-lint
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    This skill provides documentation and instructions for the signals_lint static analysis tool and its associated IDE quick-fixes. No security issues or malicious patterns were detected.

  • Socketpass

    No alerts

  • Snykwarn

    Risk: MEDIUM · 1 issue

What does this agent skill do?

signals_lint Tooling & Rules

This skill covers working with static code analysis, custom compiler warning diagnostics, and automated quick-fixes in the signals.dart ecosystem.


🚀 Activation & Setup

Ensure the plugin is active in your project to enable real-time IDE diagnostics and fixes:

# pubspec.yaml
dev_dependencies:
  custom_lint: ^0.8.1
  signals_lint: ^7.0.0
# analysis_options.yaml
analyzer:
  plugins:
    - custom_lint

🛡️ Lint Rules Reference

1. signals_avoid_create_in_build_method

Flags instances where a signal or computed variable is created inside a Flutter build method.

  • Problem: Creating state during build causes state to reset on every rebuild.
  • Solution: Move the creation to the class fields or initialize inside a state lifecycle hook.

2. signals_avoid_deprecated_watch_extension

Flags uses of deprecated BuildContext.watch() and BuildContext.unwatch() extensions.

  • Problem: Watch extensions can cause broad stateful widget lifecycle overhead.
  • Solution: Use localized SignalBuilder or inherit from SignalWidget/SignalStatefulWidget.

3. signals_avoid_deprecated_signals_mixin

Flags usage of deprecated with SignalsMixin mixins on StatefulWidget states.

  • Problem: Inherits stateful widget tracking hooks unnecessarily.
  • Solution: Inherit from SignalStatefulWidget instead.

4. signals_prefer_named_builder

Enforces named builder: callbacks in SignalBuilder and Watch elements instead of positional arguments.

  • Reason: Guarantees standard API parameters and readability.

5. signals_prefer_unified_options

Flags direct creator configuration arguments (e.g. autoDispose: true).

  • Solution: Bundle configuration properties under unified options classes (e.g., options: SignalOptions(autoDispose: true)).

💡 Automated IDE Code Assists (Quick-fixes)

Place your cursor on the relevant class name or widget instantiation inside your IDE to reveal these automatic assists via the quick-fix menu (Cmd+. or Alt+Enter):

  1. WrapWithSignalBuilder: Wraps any widget expression inside SignalBuilder(builder: (context) => ...).
  2. ConvertStatelessToSignalWidget: Refactors a standard StatelessWidget into a SignalWidget instantly.
  3. ConvertStatefulToSignalStatefulWidget: Refactors a standard StatefulWidget to a SignalStatefulWidget.
  4. MigrateSignalsMixinToSignalStatefulWidget: Strips the legacy SignalsMixin and converts the class structure to SignalStatefulWidget.
  5. MigrateWatchToSignalBuilder: Converts legacy Watch(...) instances into clean SignalBuilder widgets.

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/rodydavis/signals.dart/signals-lint">View signals-lint on skillZs</a>