release-prep
Pre-release verification + go/no-go checklist for publishing @anvilkit packages. Detects the release surface (main workspace fixed-group vs components submodule), runs changeset status and the check:all release gates, enforces this repo's publish gotchas (version.ts drift, ui peer ranges, never-publish canvas-templates, bundle/api-snapshot), then hands the exact publish command to the user. Use when asked to "prep a release", "check release readiness", "/release-prep", or before cutting a version. Does NOT commit or publish.
- License 许可
- MIT
- 最近更新
- 2026-11-01
- Stars
- ★ 2
- Forks
- 1
01 前言 Front Matter
- name
- release-prep
- description
- Pre-release verification + go/no-go checklist for publishing @anvilkit packages. Detects the release surface (main workspace fixed-group vs components submodule), runs changeset status and the check:all release gates, enforces this repo's publish gotchas (version.ts drift, ui peer ranges, never-publish canvas-templates, bundle/api-snapshot), then hands the exact publish command to the user. Use when asked to "prep a release", "check release readiness", "/release-prep", or before cutting a version. Does NOT commit or publish.
- allowed-tools
- [ "Bash", "Read", "Grep", "Glob", "Agent" ]
- disable-model-invocation
- true
03 SKILL.md 正文
release-prep
Gets a release green and produces a go/no-go report with the exact publish command —
then stops. Publishing to npm is irreversible and outward-facing; the user runs the final
changeset publish / version bump themselves. Never git commit, push, or publish from
this skill.
Step 1 — Identify the release surface
There are two independent surfaces; confirm which one (or both) is being released:
- Main workspace (
/) — changesetsfixedgroup bump together:core, ir, schema, validator, utils, ui, plugin-ai-copilot, plugin-asset-manager, plugin-export-html, plugin-export-react, plugin-version-history. Release path:pnpm release(=changeset version && build && changeset publish).demois inignore. - Components submodule (
packages/extensions/components/) — separate workspace + changeset config. Each@anvilkit/<slug>versions independently. Changesets are often orphaned here — ifchangeset versionno-ops, bump the componentpackage.jsonversiondirectly to republish.
pnpm changeset:status # main workspace pending bumps
cd packages/extensions/components && pnpm exec changeset status # components workspace
Step 2 — Run the release gates
pnpm check:all # per-package release gates (api-snapshot, size, build, test)
pnpm publint # package.json exports validation
pnpm size # size-limit gzip budgets
If check:all fails, do not hand-classify — delegate to the triager agent, which knows
this repo's pre-existing-vs-regression patterns:
Agent(subagent_type: "release-gate-triager",
prompt: "check:all failed during release-prep. Triage each failure as pre-existing
vs regression and report a go/no-go per changed package.")
Only regressions block the release; the triager flags known-benign noise (phantom concurrency oversubscription, stale api-snapshot paths after a reorg, known budget overflow).
Step 3 — Enforce the publish gotchas (this repo's tripwires)
Check each before declaring go:
@anvilkit/canvas-templates— NEVER publish it. It has noprivate: trueguard; publishing triggers a "missing package name" error. Explicitly exclude it from anychangeset publish/ release run.CORE_VERSIONdrift.packages/core/src/version.tsmust equalcore'spackage.jsonversion, or<Studio>rejects plugins at runtime (mount-test timeouts). Verify they match afterchangeset version:grep -n "CORE_VERSION\|version" packages/core/src/version.ts@anvilkit/uipeer ranges. Core pinsuiexactly (workspace:*). Every publishable package'suipeer range must cover the version about to ship, or consumers hit ERESOLVE.- Bundle budget on bump. A version-string bump can push a package over its gzip budget
(e.g.
plugin-export-react~409 B over). Fix order: trimversion.ts, then bump the size-limit budget — don't bump the budget blindly. - api-snapshot drift is usually benign stale paths after a reorg (3 sites: exports map,
typedoc
entryPoints, the snapshot). The triager will confirm.
Step 4 — Go/no-go report
Output:
- Surface(s): main workspace / components / both
- Pending bumps: package → semver level (from changeset status)
- Gate results: pass, or regressions with file:line (pre-existing noise listed separately)
- Gotcha checklist: each of the 5 above marked ✓ / ✗
- Verdict: GO / NO-GO
- Next command for the user to run (do not run it yourself), e.g.:
- main:
pnpm release - components:
cd packages/extensions/components && pnpm release(or the directpackage.jsonversion bump if changesets are orphaned)
- main:
Stop here. The user executes the publish and all commits.
04 同仓库更多 Skills
react-doctor
Use when finishing a feature, fixing a bug, before committing React code, or when the user types `/doctor`, asks to scan, triage, or clean up React diagnostics. Covers lint, accessibility, bundle size, architecture. Includes a regression check and a full local-triage workflow that fetches the canonical playbook.
review-remediate
Use for the review-then-fix-everything loop on a package or diff — deliver a grounded review report immediately (no scoping questions, no plan-approval), then remediate every finding as tracked numbered items, gating each batch on typecheck/lint/test/build plus an independent Codex pass until clean. Trigger on "review and fix <package>", "remediate the review", "review-fix-verify", or when the user wants a deep review followed by autonomous remediation. Distinct from gstack `review` (pre-landing PR review) and `code-review` (diff only) — this reviews from scratch AND fixes to green.
review-fixes
Close out an EXISTING code-review findings report — one subagent per finding, each with a regression test — then regenerate EN/zh/ja/ko docs, run all gates, and verify no stale or unexported symbols remain. Trigger on "/review-fixes", "fix all N review findings", "close the review findings", or when the user hands over a findings report to remediate. Distinct from review-remediate, which produces the review itself first — this skill starts from a report that already exists.
react-doctor
Use when finishing a feature, fixing a bug, before committing React code, or when the user types `/doctor`, asks to scan, triage, or clean up React diagnostics. Covers lint, accessibility, bundle size, architecture. Includes a regression check and a full local-triage workflow that fetches the canonical playbook.
pre-refactor
暂无简介
phase-execute
Autonomous phase runner for numbered plans (docs/plans/*, docs/prd/*): scoped gates per task, full gate only at phase boundaries, checkpoint to .claude/state/phase-run.json after every task so a run resumes at the exact next task, edit-guard.mjs against concurrent writers, explicit E2E servers, flaky quarantine, deliverables report at phase end. Use for "execute phase X of <plan>", "drive the next phase", "phase-execute <plan>", "resume the phase", or "dry-run phase X".