gen-changesets

Generates changeset files with correct package, bump level, and wording for the pythinker-code repository.

18|8|Updated Jun 17, 2026
One-click install
npx skills add https://github.com/PyModel/pythinker-code --skill gen-changesets-pymodel
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gen-changesets
Source: https://github.com/PyModel/pythinker-code/tree/main/.agents/skills/gen-changesets
Command: npx skills add https://github.com/PyModel/pythinker-code --skill gen-changesets-pymodel

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing changesets in a monorepo is error-prone: contributors pick the wrong package, choose the wrong semver bump, or write changelog entries for changes users cannot perceive. This Skill encodes the pythinker-code repository's changeset conventions so every entry is consistent and user-facing. ## Core Features & Use Cases - Write-or-skip decision: Determines whether a change deserves a changeset at all, skipping docs-only, test-only, and internal refactors that users cannot perceive. - Package and bump selection: Maps changes to the correct package (@pymodel/pythinker-code for user-facing changes, internal packages otherwise) and picks patch/minor, with major bumps requiring explicit approval. - Wording and workflow rules: Enforces one short user-facing sentence per changeset, kebab-case filenames under .changeset/, and a confirmation step before committing. - Use Case: After fixing a bug where tool call results were lost in long conversations, run this Skill to produce .changeset/tidy-pandas-fix.md listing @pymodel/pythinker-code as a patch with a single clear sentence. ## Quick Start Ask the agent to generate a changeset for the current uncommitted changes in the pythinker-code repository.

Frequently Asked Questions about gen-changesets

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

FAQPage Schema
How do I write a changeset for a monorepo package?

Create a kebab-case markdown file under .changeset/ with frontmatter listing the package name and bump level, followed by one short user-facing sentence. In pythinker-code, user-facing changes list @pymodel/pythinker-code.

When should I skip writing a changeset?

Skip changesets for docs-only or tests-only changes and internal refactors users cannot perceive. A changeset is a user-facing changelog entry, not a shipping gate, so internal changes merged to main ship anyway.

How do I choose between patch, minor, and major bumps?

Use patch for bug fixes and small improvements, minor for genuinely new capabilities like a new command or mode. Never write major without explicit user approval; fall back to minor or patch instead.

Which package should a changeset list in a monorepo?

List the user-facing published package when an internal change enters its bundle and is perceivable, such as @pymodel/pythinker-code for the CLI. Never mix ignored and non-ignored packages in one frontmatter.

What wording rules apply to changeset entries?

Write one short user-facing sentence stating only what changed, with no file or function names, no PR numbers, and no vague words like refactor or optimize. Experimental features must state how to enable them.