Moraine Release Notes
eric-tramel/moraine
Rewrites a moraine GitHub release body into a usage-focused format with install block, what's new, platform table, upgrade notes and one deduplicated changelog.
Writes the hand-written intro for a Tabler GitHub release, built from changesets, docs pages and upgrade guides in a fixed layout with a picture per headline feature.
$ npx skills add tabler/tabler --skill release-notes -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tabler/tabler release-notes --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/release-notes .claude/skills/release-notes && 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 "release-notes" agent skill from https://github.com/tabler/tabler/tree/dev/.agents/skills/release-notes into .claude/skills/release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-notes", 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/release-notesType 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 release-notes -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tabler/tabler release-notes --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/release-notes .agents/skills/release-notes && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "release-notes" agent skill from https://github.com/tabler/tabler/tree/dev/.agents/skills/release-notes into .agents/skills/release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-notes", 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 release-notes -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tabler/tabler release-notes --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/release-notes .cursor/skills/release-notes && 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 "release-notes" agent skill from https://github.com/tabler/tabler/tree/dev/.agents/skills/release-notes into .cursor/skills/release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-notes", 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/release-notes--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 release-notes -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tabler/tabler release-notes --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/release-notes .gemini/skills/release-notes && 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 "release-notes" agent skill from https://github.com/tabler/tabler/tree/dev/.agents/skills/release-notes into .gemini/skills/release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-notes", 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 release-notesInstalls 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 release-notes -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/release-notes .github/skills/release-notes && 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 "release-notes" agent skill from https://github.com/tabler/tabler/tree/dev/.agents/skills/release-notes into .github/skills/release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-notes", 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 release-notes -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 release-notes --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/release-notes .opencode/skills/release-notes && 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 "release-notes" agent skill from https://github.com/tabler/tabler/tree/dev/.agents/skills/release-notes into .opencode/skills/release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-notes", 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.
release-notesWrites the hand-written intro for a Tabler GitHub release, built from changesets, docs pages and upgrade guides in a fixed layout with a picture per headline feature.
A Tabler release body has two parts: an intro kept in a release-notes folder under `.github`, in a file named for the version, and generated Core, Demo and Docs lists produced by `pnpm run release-notes` from the changelogs. The skill covers only the intro and says never to write or repeat the generated lists. Minor releases always get an intro, patch releases only when users need to hear something, and the file has to be on `dev` before the version-update PR is merged because the workflow reads it from the published commit.
The agent never writes from memory. It reads every changeset file, treating minor entries for `@tabler/core` as headline candidates, checks the GitHub milestone for closed PRs without a changeset, reads the docs page of each headline feature and the version's upgrade guide, and checks every class name, attribute, event or number against current source. The layout is copied from the newest intro: a light and dark cover, one summary paragraph, a `##` section with a picture for each headline feature, then the smaller changes. The excerpt stops before the image rules and tone guidance.
6 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:
pnpmgitghFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
docs.tabler.ioFrom 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 Release Notes Intro loads about 1.8k tokens when it runs. Until then it costs about 137 tokens; SKILL.md has 874 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). 874 words, ~1,844 tokens.
.claude/skills/release-notes/SKILL.md (or your agent's skills folder).The GitHub release body has two parts. The intro is hand-written in .github/release-notes/<version>.md (for example 1.6.0.md). The ## Core changes, ## Demo changes and ## Docs changes lists under it are generated by pnpm run release-notes from the CHANGELOG.md files. Never write those lists by hand, and don't repeat them in the intro. .github/release-notes/README.md explains the pipeline. Read it first.
A minor release always gets an intro. A patch release gets one only when it has something a user should hear about. Otherwise the generated lists are enough.
The workflow reads the intro from the commit it publishes, so the file must be on dev before the chore: update versions PR is merged. After the release, the body is never rewritten. A later fix has to be made by editing the release on GitHub.
Never write the intro from memory.
.changeset/*.md. The minor entries for @tabler/core are the candidates for headline features. The patch entries feed the smaller sections.gh api repos/tabler/tabler/milestones) for closed PRs that have no changeset.summary, description and the ## headings in docs/content/ui/**). The intro should describe the feature the way the docs do, with the same class names, attributes and events.docs/content/ui/getting-started/upgrade/<x-y>.mdx). The ## Upgrading section in the intro summarizes it and links to it.The layout is fixed, so readers can compare releases. Copy the newest intro (1.6.0.md) and keep this order:
<picture> cover (light + dark) </picture>
One paragraph: "Tabler X.Y is out." + the three to five biggest things + a rough count of the rest.
## <Headline feature 1> ← one section per headline feature
<picture> screenshot </picture> ← the picture comes right after the heading, before the text
Two or three sentences on what it gives the user.
## <Headline feature 2>
…
--- ← separator between the headline features and the rest
## <Other change group> ← grouped smaller changes, no pictures, one short paragraph each
## Demo and docs
## Upgrading ← always last: what can break, what is deprecated, link to the guideRules:
## section. Don't group eight components under one "New components" heading with bold leads. Each one gets a heading, a picture and its own text.data-bs-* attribute, an event). Mention what it replaces or deprecates, for example "Litepicker is deprecated".## Upgrading closes the intro. Say whether markup has to change, list what can break a build, list what is deprecated with its replacement, and link to https://docs.tabler.io/ui/getting-started/upgrade/<x-y>. It has to agree with the guide.All images live next to the intro and are named <version>-<slug>.png / <version>-<slug>-dark.png.
<version>-cover.png and <version>-cover-dark.png, 1200×630. Check the size with sips -g pixelWidth -g pixelHeight <file>. The cover shows the release date, so re-export it if the release slips.screenshots/ app (see the screenshots skill). Copy the 1x <slug>.png and <slug>-dark.png from screenshots/captures/ and rename them with the version prefix.<picture> block for every image, so GitHub shows the dark one in dark mode:<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/tabler/tabler/dev/.github/release-notes/1.6.0-legend-dark.png">
<img alt="Legend" src="https://raw.githubusercontent.com/tabler/tabler/dev/.github/release-notes/1.6.0-legend.png">
</picture>dev branch, never on a tag. A tag like @tabler/core@1.6.0 has a slash, and raw.githubusercontent.com reads it as part of the path.alt is the feature name, the same as the heading.dev before the release, or the published body shows broken images.write-docs skill asks.tabler.min.css", "seven chart types".humanize-text skill over the draft if it reads stiff.git diff --check and a read-through in a Markdown preview in both color modes.git cat-file -e origin/dev:.github/release-notes/<file> for each one.minor core changeset that adds a component or a page is mentioned somewhere in the intro.dev, pnpm run release-notes builds the body from the working tree's version, so it prints the previous release without the new intro. To see the real body, run it on the bot's files. The steps are in .agents/agents/release-check.md, section 5.release-check agent audits the intro as part of the pre-release checklist. Run it before the version PR is merged.## section per headline feature: heading, <picture>, 2–4 sentences--- separator, then the smaller changes grouped by theme## Upgrading last, in line with the upgrade guide, linking to itdev, files named <version>-<slug>[-dark].pngdev before the version PR is merged© 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/release-notes of tabler/tabler.
Open the folder on GitHubat commit dcacb65
Tabler Release Notes Intro 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 Release Notes Intro this skilltabler/tabler | 42k | — | ~1.8k | Automated safety check: Pass | MIT | |
| Moraine Release Noteseric-tramel/moraine | 117 | — | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| CicdRussellSB/pytrendy | 106 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Mole Release Notes Publishertw93/Mole | 69k | — | ~1.9k | Automated safety check: Pass | GPL-3.0 | |
| RStudio What's New Pagerstudio/rstudio | 5.1k | — | ~2k | Automated safety check: Pass | Custom licence | |
| Release Feature Scoringdotnet/core | 22k | — | ~2.2k | Automated safety check: Pass | MIT |
eric-tramel/moraine
Rewrites a moraine GitHub release body into a usage-focused format with install block, what's new, platform table, upgrade notes and one deduplicated changelog.
RussellSB/pytrendy
A skill your agent uses when touching .github/workflows/, release config (.releaserc), mkdocs.yml, docs deploy, or the whats-new generator.
tw93/Mole
Publishes curated, bilingual release notes for an existing Mole version tag with gh release edit, including contributor thanks and reactions, after the release workflow finishes.
rstudio/rstudio
Turns the current release's NEWS.md entries into the RStudio Desktop What's New page, picking only what Desktop users care about, then commits and opens a PR.
dotnet/core
Ranks the changes in a release manifest and writes a scored features file that release notes, docs and blog posts can each cut at their own threshold.
Azure/AppConfiguration
Writes customer-facing release notes for Azure App Configuration libraries and providers in a fixed file layout, version heading and category structure.
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
Writes the hand-written intro for a Tabler GitHub release, built from changesets, docs pages and upgrade guides in a fixed layout with a picture per headline feature. github`, in a file named for the version, and generated Core, Demo and Docs lists produced by `pnpm run release-notes` from the changelogs. The skill covers only the intro and says never to write or repeat the generated lists.
Tabler Release Notes Intro fits situations like: writing the intro for an upcoming minor release of Tabler; updating a release description when a headline feature changes before publishing; checking before a release whether the version PR is open but the intro file is missing.
Run `npx skills add tabler/tabler --skill release-notes -a claude-code`. Or copy the skill folder (.agents/skills/release-notes in tabler/tabler) into .claude/skills/release-notes in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tabler/tabler --skill release-notes -a codex`. Or copy the skill folder (.agents/skills/release-notes in tabler/tabler) into .agents/skills/release-notes 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 release-notes -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/release-notes, .gemini/skills/release-notes, .github/skills/release-notes and .opencode/skills/release-notes in your project.
Going by SKILL.md and its folder, Tabler Release Notes Intro needs the command-line tools its instructions call (pnpm, git and gh). Our summary lists: A checkout of the Tabler repository; GitHub CLI (`gh`) for milestone lookups; pnpm.
SKILL.md names 1 domain. In commands or code: docs.tabler.io; the agent is likely to contact it when it follows the instructions. 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 Release Notes Intro is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.4k 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 Release Notes Intro: Moraine Release Notes (eric-tramel/moraine, 117 stars), Cicd (RussellSB/pytrendy, 106 stars), Mole Release Notes Publisher (tw93/Mole, 69k stars) and RStudio What's New Page (rstudio/rstudio, 5.1k 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.