.agents/skills/create-changeset/SKILL.md
Analyze git changes and create changesets for package releases. Use when preparing pull requests, creating PRs, when branch has commits ready for review, or when user mentions changeset or version bump.
npx skillsauth add proofgeist/proofkit create-changesetInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill automatically analyzes branch changes and creates appropriate changesets for package releases in this monorepo. It examines git history, determines version bump types based on Conventional Commits, and generates properly formatted changeset files.
Automatically invoke this skill when:
Do NOT invoke when:
docs:, chore:, ci:, or test: types that don't affect packagesBefore creating a changeset, check if a changeset file already exists for the current changes:
.changeset/*.md files (excluding README.md)Execute git log main..HEAD (or origin/main..HEAD) to check for committed changes on the branch. If no commits exist, exit early without creating a changeset.
Use git diff main...HEAD (or origin/main...HEAD) to analyze committed changes only.
Identify which packages are affected by checking files under packages/*/. Review commit messages using git log main..HEAD --oneline (or origin/main..HEAD).
Analyze commit messages following Conventional Commits 1.0.0 format:
BREAKING CHANGE in commit body, or breaking changes detected in code
feat: or feat(scope): - new features (backward compatible)
fix: or fix(scope): - bug fixes and minor improvements
chore:, docs:, ci:, test:) typically don't require changesets unless they affect package functionalityReview actual code changes to confirm the appropriate version bump. When in doubt between minor and patch, prefer patch for safety.
If the version bump is ambiguous or unclear:
If all commits are types that don't require changesets (docs:, chore:, ci:, test:), exit early without creating a changeset.
Create a changeset file with a descriptive filename in .changeset/ directory.
Filename format:
.md extension.changeset/add-new-button.md, .changeset/fix-layout-bug.md, .changeset/update-icon-props.mdFile content format:
---
"@proofkit/package-name": major|minor|patch
---
Clear description of the change
Example for single package:
---
"@proofkit/cli": minor
---
Add new Button variant for secondary actions
Example for multiple packages:
---
"@proofkit/cli": minor
"@proofkit/typegen": patch
---
- @proofkit/cli: Add new Button variant for secondary actions
- @proofkit/typegen: Fix color token contrast ratio
Important guidelines:
.changeset/add-secondary-button.md for a new feature and .changeset/fix-button-layout.md for a bug fix, even if both target the same packageExecute pnpm textlint .changeset/<filename>.md to validate the changeset file.
Error handling:
Display the generated changeset for review:
Once verified, commit the changeset file:
git add .changeset/<filename>.md
git commit -m "chore: add changeset"
development
FileMaker WebDirect ProofKit Web Viewer runtime behavior refresh resilience session state localStorage browser resize reload same deployment embedded bundle avoid separate deployment avoid separate web server @proofkit/webviewer fmFetch callFMScript WebViewerAdapter WebDirect page refresh
development
webviewer fmFetch callFMScript WebViewerAdapter globalSettings setWebViewerName SendCallback window.FileMaker browser-only FileMaker Web Viewer script execution fire-and-forget FMScriptOption PerformScript callback fetchId handleFmWVFetchCallback
development
ENTRY POINT for @proofkit/fmodata projects. Generate TypeScript table schemas with entity IDs from FileMaker OData metadata using @proofkit/typegen. Covers proofkit-typegen-config.jsonc for OData mode, npx @proofkit/typegen setup, fmTableOccurrence generation, entity IDs (FMFID/FMTID), generated output structure, field exclusion, type overrides, InferTableSchema, env var configuration, OData prerequisites, fmodata privilege, and why typegen is required for entity ID correctness.
development
OData performance patterns for @proofkit/fmodata. Covers defaultSelect schema vs all, select() for minimal field fetching, select("all") override, pagination with top/skip, default 1000 record limit, batch operations for reducing round trips, entity IDs FMFID FMTID for rename resilience, null field query performance, getQueryString() debugging, relationship query performance testing, FileMaker OData optimization, avoiding OData service overload during testing.