release-lanes

Maintains Plate's latest and beta npm release lanes across main and next branches.

16.5k|997|Updated Dec 2, 2019
One-click install
npx skills add https://github.com/udecode/plate --skill release-lanes
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: release-lanes
Source: https://github.com/udecode/plate/tree/main/.agents/skills/release-lanes
Command: npx skills add https://github.com/udecode/plate --skill release-lanes

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Managing dual release lanes (stable on main, beta on next) involves repetitive, error-prone Git operations: syncing branches, repairing release metadata conflicts, re-entering prerelease mode, and verifying npm dist-tags. This Skill automates that entire lane maintenance workflow end-to-end.

Core Features & Use Cases

  • Direct main-to-next sync: Merges main into next with a merge commit, automatically repairing known release metadata conflicts (package versions, changelogs, .changeset/pre.json) without creating review-churn PRs.
  • Beta promotion and re-entry: Runs the promote workflow to move beta to stable, and restores beta prerelease mode on next after promotion.
  • Release verification: Checks GitHub release workflow runs, npm dist-tags for latest and beta, and cleans up stale sync PRs.
  • Use Case: After publishing a stable release, invoke this Skill to sync main back into next, regenerate beta changesets, push the merge commit, and confirm npm beta dist-tag points at the expected version.

Quick Start

Ask the agent to run the release-lanes skill in full mode to sync main into next, verify npm dist-tags, and report the final lane state.

Frequently Asked Questions about release-lanes

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

FAQPage Schema
How do I sync main into next after a stable release?

Run the sync-main-to-next script with --dry-run first, then with --push to create a merge commit directly on next. The script keeps beta package versions, preserves .changeset/pre.json, and generates patch changesets so the beta lane can publish the synced fixes.

How do I promote a beta release to stable with changesets?

Trigger the promote.yml workflow on the next branch, first with dry_run=true to preview, then with dry_run=false for the real promotion. Review the generated next-to-main PR and merge it with a merge commit, not squash or rebase.

Why is my next branch out of prerelease mode after promotion?

A beta-to-stable promotion exits changesets pre mode on next. The direct main-to-next sync restores beta pre mode in the same merge commit, or you can run pnpm changeset pre enter beta manually if no sync is needed.

How do I verify npm latest and beta dist-tags after a release?

Use npm view platejs dist-tags --json to inspect both tags, then npm view platejs@latest version and npm view platejs@beta version for specifics. Also check gh release list and the release.yml workflow runs on both branches.

When should I not create a main-to-next sync PR?

Avoid routine sync PRs because they create review churn over deterministic release metadata conflicts. Sync directly with a merge commit that automatically repairs known metadata, and only stop when conflicts involve real source files outside package manifests and changelogs.