release
Publish a new version of @usememos/editor to npm by running the Release workflow on main. Checks CI, shows what will ship and the expected version, asks for a go-ahead, dispatches the workflow and reports the published version.
Source facts
- Repository
- usememos/editor
- Last source activity
- October 28, 2026 at 12:11
- Detected SKILL.md language
- English
- Stars
- 0
- Forks
- 0
Install options
The review-first prompt is selected by default. You can switch to a direct command or download a local copy.
Review the source files
Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.
File Explorer
2 filesShowing SKILL.md
SKILL.md
Source instructions · Read-only preview- name
- release
- description
- Publish a new version of @usememos/editor to npm by running the Release workflow on main. Checks CI, shows what will ship and the expected version, asks for a go-ahead, dispatches the workflow and reports the published version.
- argument-hint
- [--dry-run | --yes]
- allowed-tools
- Bash(bash ${CLAUDE_SKILL_DIR}/scripts/preflight.sh*), Bash(gh run *), Bash(gh workflow run *), Bash(git fetch *), Bash(npm view *)
# Release
Publish `@usememos/editor` by running the Release workflow (`.github/workflows/release.yml`) on `main`. The workflow owns the version (CalVer `year.month.n`, see "Releasing" in `AGENTS.md`), the tests and the publish. This skill only decides whether to start it, starts it, and reports what came out. Nothing is ever published from this machine: trusted publishing works only from the workflow.
Arguments: `$ARGUMENTS`
- `--dry-run`: stop after the preflight report.
- `--yes`: skip the confirmation in step 2.
## 1. Preflight
Run the preflight script and show its output to the user:
```sh
bash ${CLAUDE_SKILL_DIR}/scripts/preflight.sh
```
It fetches `origin/main` (the commit the workflow releases, whatever is checked out locally), checks that CI passed on it, that no Release run is already in flight, finds the last released commit from the last successful Release run, lists the commits since, flags `!` breaking commits, and predicts the version.
- Exit 0: continue.
- Exit 1: do not dispatch. Tell the user the reasons the script printed. If a Release run is in flight, offer to watch it instead (step 3 from "Watch"). If CI is still running, offer to wait for it and run the preflight again.
- Exit 2: a tool or login is missing. Say what, and stop.
With `--dry-run`, stop here.
## 2. Confirm
Summarize in a few lines: the target commit, the expected version, the number of commits and the breaking ones, then ask for a yes. Wait for it. An npm publish cannot be undone, so never skip this because the session is autonomous. Only `--yes` skips it.
## 3. Dispatch and watch
Dispatch:
```sh
gh workflow run release.yml -R usememos/editor --ref main
```
`gh workflow run` does not print the run id. Find it by listing runs until one appears that was created after the dispatch (retry a few times a few seconds apart):
```sh
gh run list -R usememos/editor --workflow=release.yml --limit 1 --json databaseId,status,createdAt,url
```
Watch it in the background; it takes one to two minutes:
```sh
gh run watch -R usememos/editor <id> --exit-status
```
## 4. Report
On success, read the version from the run log and confirm npm has it. The registry can lag by a few seconds, so retry `npm view` a few times, ten seconds apart:
```sh
gh run view -R usememos/editor <id> --log | grep -E 'Publishing |\+ @usememos/editor@'
npm view @usememos/editor version
```
Report:
- the published version and `https://www.npmjs.com/package/@usememos/editor/v/<version>`
- the run URL
- the commits it includes, from the preflight output
On failure, show the failing step:
```sh
gh run view -R usememos/editor <id> --log-failed
```
Say plainly whether anything was published. If the failed step comes before `npm publish` (version, typecheck or tests), nothing shipped and `main` is unchanged, so fixing the cause and running `/release` again is safe. If `npm publish` itself failed, check `npm view @usememos/editor version` before saying either way.
## Not part of a release
No git tag, no GitHub release, no changelog, no version bump in `package.json` (it stays `0.0.0` in the repo). Apps pin an exact version; `!` in commit summaries marks what breaks.
View on GitHub