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.