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-lintIs 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
SignalBuilderor inherit fromSignalWidget/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
SignalStatefulWidgetinstead.
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):
WrapWithSignalBuilder: Wraps any widget expression insideSignalBuilder(builder: (context) => ...).ConvertStatelessToSignalWidget: Refactors a standardStatelessWidgetinto aSignalWidgetinstantly.ConvertStatefulToSignalStatefulWidget: Refactors a standardStatefulWidgetto aSignalStatefulWidget.MigrateSignalsMixinToSignalStatefulWidget: Strips the legacySignalsMixinand converts the class structure toSignalStatefulWidget.MigrateWatchToSignalBuilder: Converts legacyWatch(...)instances into cleanSignalBuilderwidgets.
How can the creator link this skill?
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>