Git Workflow and Versioning
addyosmani/agent-skills
Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.
Creates a changeset file in .changeset from the actual git changes, choosing packages and bump levels from path mapping and writing a one-line description.
$ npx skills add tabler/tabler --skill generate-changeset -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tabler/tabler generate-changeset --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/tabler/tabler.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/generate-changeset .claude/skills/generate-changeset && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "generate-changeset" agent skill from https://github.com/tabler/tabler/tree/dev/.agents/skills/generate-changeset into .claude/skills/generate-changeset/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "generate-changeset", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/tabler/tabler/tree/dev/.agents/skills/generate-changesetType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add tabler/tabler --skill generate-changeset -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tabler/tabler generate-changeset --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tabler/tabler.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/generate-changeset .agents/skills/generate-changeset && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "generate-changeset" agent skill from https://github.com/tabler/tabler/tree/dev/.agents/skills/generate-changeset into .agents/skills/generate-changeset/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "generate-changeset", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tabler/tabler --skill generate-changeset -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tabler/tabler generate-changeset --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tabler/tabler.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/generate-changeset .cursor/skills/generate-changeset && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "generate-changeset" agent skill from https://github.com/tabler/tabler/tree/dev/.agents/skills/generate-changeset into .cursor/skills/generate-changeset/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "generate-changeset", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/tabler/tabler.git --path .agents/skills/generate-changeset--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add tabler/tabler --skill generate-changeset -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tabler/tabler generate-changeset --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tabler/tabler.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/generate-changeset .gemini/skills/generate-changeset && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "generate-changeset" agent skill from https://github.com/tabler/tabler/tree/dev/.agents/skills/generate-changeset into .gemini/skills/generate-changeset/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "generate-changeset", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install tabler/tabler generate-changesetInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add tabler/tabler --skill generate-changeset -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tabler/tabler.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/generate-changeset .github/skills/generate-changeset && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "generate-changeset" agent skill from https://github.com/tabler/tabler/tree/dev/.agents/skills/generate-changeset into .github/skills/generate-changeset/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "generate-changeset", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tabler/tabler --skill generate-changeset -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tabler/tabler generate-changeset --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tabler/tabler.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/generate-changeset .opencode/skills/generate-changeset && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "generate-changeset" agent skill from https://github.com/tabler/tabler/tree/dev/.agents/skills/generate-changeset into .opencode/skills/generate-changeset/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "generate-changeset", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
generate-changesetCreates a changeset file in .changeset from the actual git changes, choosing packages and bump levels from path mapping and writing a one-line description.
The skill writes one .changeset markdown file per logical change for the Tabler repository, grounding package choice and bump level in real git output rather than guesses. It inspects uncommitted work with status and diffs, or branch work against origin/dev, and maps changed paths to packages: core to @tabler/core, preview to @tabler/preview, docs to @tabler/docs, and shared includes and data usually to preview, with docs added when examples reference them. Root tooling changes often need no changeset.
Bump levels are set per package: patch for fixes and small tweaks, minor for new components, pages, classes and enhancements, and major only for breaking changes, which must never land on dev; if the honest bump is major, the agent stops and follows a backward-compat skill. The description is one sentence starting with Added, Updated, Fixed or Removed, saying what changed and where, aimed at 130 characters with a hard ceiling of 160.
The skill is meant for every changeset in this repo, including on the agent's own initiative before a change under core, preview or docs is committed or opened as a PR, and the file should never be hand-written instead.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit dcacb65. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitchangesetFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Tabler Changeset Generator loads about 2k tokens when it runs. Until then it costs about 97 tokens; SKILL.md has 852 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from tabler/tabler at commit dcacb65, republished under its MIT licence (© tabler). 852 words, ~1,998 tokens.
.claude/skills/generate-changeset/SKILL.md (or your agent's skills folder).Create one .changeset/<name>.md file per logical change. Ground package selection and bump level in actual git output—not guesses.
From the repository root, determine scope:
git status -sb, git diff, git diff --cacheddev): git diff origin/dev...HEAD --stat, then targeted git diff origin/dev...HEAD -- <paths>If the user points at specific files or a feature, read those diffs first.
| Path | Package |
|---|---|
core/ | @tabler/core |
preview/ | @tabler/preview |
docs/ | @tabler/docs |
shared/includes/, shared/data/ | Usually @tabler/preview; add @tabler/docs if docs examples reference it |
Root tooling (.github/, turbo.json, lockfile only) | Often no changeset unless it affects published package behavior |
Include every affected package in the frontmatter. Omit packages with no relevant changes.
| Level | When |
|---|---|
| patch | Bug fixes, small improvements, style/accessibility tweaks, variable/token fixes, doc typo/format fixes |
| minor | New components, new pages, new CSS classes/utilities, significant enhancements, new preview demos |
| major | Breaking changes, removed APIs/classes, rewrites that break consumers. Never on dev: if the honest bump is major, stop and follow the backward-compat skill |
Packages can differ: e.g. @tabler/core: minor + @tabler/docs: patch is valid.
When unsure between patch and minor: prefer patch for fixes and visual tweaks; prefer minor for new user-facing capabilities.
A changeset is one line in a changelog. It is not a summary of the work.
Added, Updated, Fixed, or RemovedUpdated Bootstrap to v5.3.8. is fine at 28, because the dependency and version are the content..btn-ghost, .progress-lgstroke-width, border-radius1.5, 0.4arrow-uparia-label, data-*addEventListener()Count the characters before writing the file:
printf '%s' 'Added Progress Steps component for step-by-step navigation indicators.' | wc -cIf it is over the limit, cut words. Never split it into two sentences, a second paragraph, or a bullet list.
These belong in the PR description or the commit body, not in the changeset:
Cut the tail first. An over-long entry in this repo is almost always a good sentence with a trailing justification clause glued on. Delete that clause and the length problem is usually solved:
… and removed duplicate exports from `tabler.js` for better maintainability.
… with `var(--tblr-bg-surface-secondary)` so it adapts to dark mode.
… live in one `:root` declaration instead of separate dark-mode overrides.Good — short and specific:
(70) Added Progress Steps component for step-by-step navigation indicators.
(81) Added `.progress-lg` and `.progress-xl` size variants for the progress component.
(78) Fixed dark mode text selection contrast with a `--tblr-selection-bg` variable.
(58) Removed `license_key` option from the HugeRTE init object.Too vague — name the thing that changed:
(33) ❌ Fixed mixed declarations in SCSS.
(79) ✅ Fixed Sass mixed-declaration warnings in the navbar, card, nav and table styles.
(26) ❌ Updated activity messages.
(82) ✅ Updated the activity feed messages in `activity.json` and the activity preview page.Too long — trim it:
(175) ❌ Fixed accessibility issues for skip links, keyboard focus, `prefers-reduced-motion`, form labels, and action controls that incorrectly used links instead of `button` elements.
(117) ✅ Fixed accessibility issues in skip links, keyboard focus, `prefers-reduced-motion`, form labels, and action controls.Over 130 but justified — the list of components is the content, and cutting it would say nothing:
(137) Added missing ARIA roles and states to `Pagination`, `NavSegmented`, `Accordion`, `Steps`, tabs, `Modal`, `Offcanvas` and `CarouselCard`.Write in simple English, even if the user asked in another language.
.changeset/progress-sizes.md, fix-dark-mode-selection-contrast.md, button-ghost.md---
"@tabler/core": patch
"@tabler/preview": minor
---
One-sentence description here.Rules:
"@tabler/core": patch---patch, minor, or major only@tabler/core when under core/After creating the file:
markdown block (for easy copy/review)112 / 130 characters; if it is over 130, say why the extra words earn their placeDo not run changeset version or changeset publish unless the user explicitly asks.
© tabler, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/generate-changeset of tabler/tabler.
Open the folder on GitHubat commit dcacb65
Tabler Changeset Generator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Tabler Changeset Generator this skilltabler/tabler | 42k | — | ~2k | Automated safety check: Pass | MIT | |
| Git Workflow and Versioningaddyosmani/agent-skills | 102k | 2 repos | ~3.5k | Automated safety check: Notes | MIT | |
| Verdaccio Pull Request Workflowverdaccio/verdaccio | 18k | — | ~1.9k | Automated safety check: Pass | MIT | |
| pybind11 Release Preparationpybind/pybind11 | 18k | — | ~1.7k | Automated safety check: Pass | Custom licence | |
| AionUi Version BumpiOfficeAI/AionUi | 33k | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| ScottPlot Changelog EntryScottPlot/ScottPlot | 6.8k | — | ~366 | Automated safety check: Pass | MIT |
addyosmani/agent-skills
Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.
verdaccio/verdaccio
Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.
pybind/pybind11
Opens the pybind11 release-preparation pull request: picking the release base, bumping the version in common.h and integrating the changelog, following docs/release.rst.
iOfficeAI/AionUi
Automates an AionUi release: checks the latest AionCore release and its artifacts, updates package.json, writes the changelog, opens a PR and tags the release.
ScottPlot/ScottPlot
Adds or updates a single concise changelog bullet in CHANGELOG.md for exactly the current branch's ScottPlot pull request, leaving all other text untouched.
icebear0828/codex-proxy
Package the current working changes into a standards-compliant codex-proxy pull request: branch hygiene, commit message linting, CHANGELOG prompt, conventional commit, push, and gh pr create against…
tabler/tabler
Starts the right Tabler dev server, keeps it from clashing with builds and verifies changes in the browser before a page or component is handed back.
tabler/tabler
Rules for adding or fixing client-side scripts in Tabler's Astro components so the copied preview HTML stays readable, self-contained and runs in the right order.
tabler/tabler
Sets the file structure, typing and Data API pattern for writing a new Bootstrap-style JavaScript component class in Tabler's vendored port of Bootstrap's JS.
tabler/tabler
Writes or updates the classnames front matter that renders the class table at the end of a Tabler component docs page.
tabler/tabler
Guidance for changing the Tabler framework's own JavaScript in core/js: the tabler.js and tabler-theme.js bundles, the Bootstrap port and their tests.
tabler/tabler
Rules for adding or changing styles in Tabler's core/scss framework: file placement, custom properties, dark mode, RTL, tests and build gates.
Works with
Categories
Creates a changeset file in .changeset from the actual git changes, choosing packages and bump levels from path mapping and writing a one-line description. changeset markdown file per logical change for the Tabler repository, grounding package choice and bump level in real git output rather than guesses. It inspects uncommitted work with status and diffs, or branch work against origin/dev, and maps changed paths to packages: core to @tabler/core, preview to @tabler/preview, docs to @tabler/docs, and shared includes and data usually to preview, with docs added when examples reference them.
Tabler Changeset Generator fits situations like: adding a changeset before committing a change under core, preview or docs; choosing patch, minor or major for each affected package; writing a concise changelog line for a pull request.
Run `npx skills add tabler/tabler --skill generate-changeset -a claude-code`. Or copy the skill folder (.agents/skills/generate-changeset in tabler/tabler) into .claude/skills/generate-changeset in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tabler/tabler --skill generate-changeset -a codex`. Or copy the skill folder (.agents/skills/generate-changeset in tabler/tabler) into .agents/skills/generate-changeset in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tabler/tabler --skill generate-changeset -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/generate-changeset, .gemini/skills/generate-changeset, .github/skills/generate-changeset and .opencode/skills/generate-changeset in your project.
Going by SKILL.md and its folder, Tabler Changeset Generator needs the command-line tools its instructions call (git and changeset). Our summary lists: A git checkout of the Tabler repository with a .changeset folder.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Tabler Changeset Generator is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Tabler Changeset Generator: Git Workflow and Versioning (addyosmani/agent-skills, 102k stars), Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars), pybind11 Release Preparation (pybind/pybind11, 18k stars) and AionUi Version Bump (iOfficeAI/AionUi, 33k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tabler (a GitHub organization) maintains it in tabler/tabler, which has 41,821 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 6, 2026.
Source: tabler/tabler on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.