update-preact

Synchronize upstream Preact Signals changes into the Dart preact_signals package.

803|85|Updated Nov 18, 2023
One-click install
npx skills add https://github.com/rodydavis/signals.dart --skill update-preact
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: update-preact
Source: https://github.com/rodydavis/signals.dart/tree/main/.agents/skills/update-preact
Command: npx skills add https://github.com/rodydavis/signals.dart --skill update-preact

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Updating a reactive signals implementation by hand is error-prone, because algorithmic changes, optimizations, and bug fixes must be kept in lockstep between the upstream Preact JS implementation and the Dart preact_signals port.

Core Features & Use Cases

  • Upstream submodule synchronization: Initializes and upgrades the pinned third_party/preactjs_signals submodule to a specific tag/commit so the Dart port is based on the same core logic.
  • Core change review & selective porting: Compares upstream core primitives and tests to identify algorithmic optimizations, bug fixes, and API contract changes, then ports only the relevant parts into Dart.
  • Release-ready Dart updates: Aligns Dart package versioning and changelog entries with the upstream synced version, then verifies correctness by running the monorepo test and coverage workflow.

Quick Start

Ask the AI to produce a step-by-step plan to upgrade the pinned third_party/preactjs_signals submodule to a specified upstream tag, review the upstream core/test diffs, port the matching logic into packages/preact_signals, update pubspec.yaml and CHANGELOG.md, and run the full melos verification checklist.

Frequently Asked Questions about update-preact

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I sync Preact Signals updates into a Dart package?

You sync Preact Signals updates by upgrading the pinned preactjs_signals git submodule to a specific upstream tag, porting the matching core logic and tests into Dart, and updating the package version and changelog.

What is reactive graph tracking and lazy evaluation in Preact Signals?

Reactive graph tracking and lazy evaluation are core algorithmic mechanisms in Preact Signals that manage computed values and effects. When upstream changes occur, these engines require deterministic Dart-idiomatic porting to maintain execution parity.

How do I port JavaScript reactive programming logic to Dart idiomatically?

Porting reactive programming logic to Dart involves reviewing upstream core primitives, identifying algorithmic optimizations, and applying semantic Dart-idiomatic porting across signal, computed, effect, and batch modules to ensure test parity.

Does porting Preact Signals to Dart require updating git submodules?

Yes, porting Preact Signals to Dart requires initializing and upgrading the pinned third_party/preactjs_signals git submodule to a specific tag or commit so the Dart port is based on the same core logic.

How do I maintain test synchronization when updating a Dart port?

You maintain test synchronization by comparing upstream tests, porting matching logic into the packages/preact_signals/test directory, and running the full monorepo test and coverage workflow to verify behavioral parity.

What are the limitations of manually updating a reactive signals implementation?

Manually updating a reactive signals implementation is error-prone because algorithmic changes, optimizations, and bug fixes must be kept in lockstep between the upstream JavaScript implementation and the Dart port to avoid breaking API contracts.