From dev-workflow
Generate a Changesets entry and commit it, for Changesets-managed monorepos. Use when the user says "changeset", "add changeset", needs to record a package version bump, or finishes work that should ship in the next release. Detects modified packages from staged files, picks major/minor/patch from the diff, and leaves `changeset version` to CI. Do NOT use for single-package repos or repos without a `.changeset/` directory.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dev-workflow:changesetsonnetThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate a Changesets entry for modified packages and commit it following Conventional Commits. CI applies changesets and publishes automatically.
Generate a Changesets entry for modified packages and commit it following Conventional Commits. CI applies changesets and publishes automatically.
Shared rules (pre-commit analysis, staged validation, Conventional Commits format + type table, scope detection, security scan, error handling) live in ../../shared/commit-basics.md. Read that file at the start of the run and follow it.
/changeset — Interactive mode/changeset "feat: add feature" — Direct with message/changeset "feat(scope): description" — With scopepackages/ directory.changeset/.git/IMPORTANT: Do NOT run changeset version locally — CI handles versioning and publishing.
Follow shared/commit-basics.md → Pre-commit Analysis and Validate Staged Changes.
Use the deterministic CLI instead of parsing git diff by hand:
node "${CLAUDE_PLUGIN_ROOT}/dist/bin/dev-workflow.js" detect-packages --json true
Returns { packages: [{ name, shortName, private, dir }, …] }. Private packages are filtered out by default; pass --include-private true if you ever need them. If the returned list is empty, stop — there is nothing to version.
| Type | Bump | Indicators |
|---|---|---|
| Breaking change | major | API changes, removed exports, renamed functions |
| New feature | minor | New exports, new optional params, new functionality |
| Bug fix / improvement | patch | Fixes, internal refactoring, docs |
Default to patch.
Get an unused filename from the CLI (it checks .changeset/ for collisions):
node "${CLAUDE_PLUGIN_ROOT}/dist/bin/dev-workflow.js" changeset-name
Prints the full relative path, e.g. .changeset/brave-cats-dance.md. Use --json true if you need structured output, or --dir <path> to target a non-standard directory.
Write the file with the frontmatter and description:
---
"@scope/package-name": patch
---
Brief description of what changed and why.
If not provided as argument, follow shared/commit-basics.md → Conventional Commits Format + Scope Detection. For changesets specifically: single package → its short name as scope; apps/xxx/ → xxx; 3+ packages → omit scope.
git add .changeset/*.mdshared/commit-basics.md → Commit Executiongit log -1 --oneline and git statusSee shared/commit-basics.md → Security and Error Handling.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub jmlweb/skills-monorepo --plugin dev-workflow