upgrading-emdash — Claude Code skill for EmDash upgrades
This skill updates EmDash dependencies and prepares a project-specific upgrade work order. Use it when moving to a new npm release and reviewing the changes your project needs.
npx skills add emdash-cms/skills --skill upgrading-emdash -a claude-codeWhat upgrading-emdash does
Run npx upgrade-emdash@latest --dry-run to preview the update, then run it without --dry-run to update direct EmDash packages and skills and create .emdash/UPGRADE.md. That file gathers release notes relevant to the project's direct packages and the core migration delta found after installation. The updater does not edit application code, apply database migrations, or deploy.
Review each release entry against the project, make required source or configuration changes, and run the repository's checks. The skill also calls for checking migration status and reporting the target database and pending migrations. A database change or deployment requires authorization; core migrations move forward only. That makes a restorable database backup a prerequisite before an authorized migration.
What it helps with
- update direct EmDash packages to a selected npm release tag
- prepare a project-specific work order in
.emdash/UPGRADE.md - identify required source and configuration changes from release notes
- check pending migrations before changing the application
Example prompts for the agent
- Preview the EmDash dependency update with
npx upgrade-emdash@latest --dry-run. - Update EmDash and prepare
.emdash/UPGRADE.md. - Review
.emdash/UPGRADE.md, apply the required project changes, and run the repository checks.
How to install upgrading-emdash
1Skills CLI (Vercel)
npx skills add emdash-cms/skills --skill upgrading-emdash -a claude-code2Manually: put the files in place
~/.claude/skills/upgrading-emdash/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/upgrading-emdash/
1Skills CLI (Vercel)
npx skills add emdash-cms/skills --skill upgrading-emdash -a codex2Manually: put the files in place
.agents/skills/upgrading-emdash/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add emdash-cms/skills --skill upgrading-emdash -a cursor2Manually: put the files in place
.cursor/skills/upgrading-emdash/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install emdash-cms/skills upgrading-emdash2Manually: put the files in place
.github/skills/upgrading-emdash/SKILL.md1Skills CLI (Vercel)
npx skills add emdash-cms/skills --skill upgrading-emdash -a gemini-cli2Platform CLI
gemini skills install https://github.com/emdash-cms/skills --path skills/upgrading-emdashManually: put the files in place
.devin/skills/upgrading-emdash/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add emdash-cms/skills --skill upgrading-emdash -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about upgrading-emdash
How do I install upgrading-emdash in Codex?
Run npx skills add emdash-cms/skills --skill upgrading-emdash -a codex. The skill is installed at .agents/skills/upgrading-emdash/SKILL.md.
What does upgrading-emdash do?
It updates direct EmDash packages and skills, then writes .emdash/UPGRADE.md with relevant release entries and the core migration delta. It does not edit application code or apply database migrations.
Does the skill run database migrations?
No. It asks you to check migration status and get authorization before changing a database or deploying. An authorized migration requires a restorable database backup.
Source text
SKILL.md · MIT
--- name: upgrading-emdash description: Upgrade an existing EmDash project with upgrade-emdash, interpret .emdash/UPGRADE.md, apply required project changes, and verify the package, skill, and migration result. Use when asked to update or upgrade EmDash dependencies. Do not use for an unrelated schema change or a known database migration without a package upgrade. --- # Upgrading EmDash Use `upgrade-emdash` to resolve the selected npm release tag, update every direct EmDash package, refresh the EmDash skills, and create the project-specific work order. The updater does not edit application code, apply database migrations, or deploy. ## Prepare the work order Run from the project root: ```sh npx upgrade-emdash@latest --dry-run npx upgrade-emdash@latest ``` Use `--to <tag>` for another npm dist-tag such as `next` or `beta`. `--to` does not accept a version. Use `--yes` to accept the updater prompt in a non-interactive environment, `--json` for a machine-readable dry-run, and `--cwd <path>` when the project root is elsewhere. The updater writes `.emdash/UPGRADE.md`. Read that file after the command finishes. It contains the complete authored changelog entries crossed by the direct packages in this project, with generated dependency-bump entries removed, plus the exact core migration delta found after installation. ## Complete the upgrade 1. Inspect the existing project and its uncommitted changes. Preserve unrelated work. 2. Assess every release entry in `.emdash/UPGRADE.md` against the project. Apply required source and configuration changes. Do not adopt a new feature when the project does not use the affected surface. 3. Run the repository's relevant format, tests, typecheck, and build commands. 4. Run the migration status command from the work order and report the target database and pending migrations. 5. When the work order lists added core migrations, the status command reports an earlier pending migration, or a release entry requires a data-changing project action, follow the work order's backup procedure before starting or deploying the upgraded application. 6. Ask before applying a migration to a database, deploying, or making any other remote change unless the user explicitly included that action in the request. 7. After authorized migration and deployment work, run the migration check and verify the affected site paths. Treat core migrations as forward-only. A package update with no added or pending migrations does not require an upgrade-specific recovery point. Before an authorized database-changing step, require a restorable database backup created with [Backups and recovery](https://docs.emdashcms.com/guides/backups/), a separate media backup, the relevant encryption keys, and the same build artifact for migration and deployment. A JSON backup is not a recovery point. Roll back by restoring the matching database and application artifact together, not by running migration `down()` functions or deleting migration records.
© emdash-cms · MIT · emdash-cms/skills