rodydavis/signals.dart/signals-lint

Claude Code and agent skill by rodydavis/signals.dart

Trust tier 3
  • community
  • ext:[{"type":"hook","description":"Pre/post lifecycle hooks"}]
Source check pending

Checking that the SKILL.md file is still in the repository.

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

Install

npx vskill@latest install rodydavis/signals.dart/signals-lint

Semi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard

SKILL.md

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:

yaml
# pubspec.yaml
dev_dependencies:
custom_lint: ^0.8.1
signals_lint: ^7.0.0
yaml
# 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.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
782
Repository forks
84
7-day trend score
33

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Extension points

  • hookPre/post lifecycle hooks

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/rodydavis/signals.dart/signals-lint/badge)](https://verified-skill.com/skills/rodydavis/signals.dart/signals-lint)

Something wrong with this skill or its page? Tell us.