Simple English
moeru-ai/airi
Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.
Turns a structured list of changes from changelog-scan into a categorized, user-facing release notes draft file, and never publishes anything.
$ npx skills add cobusgreyling/loop-engineering --skill draft-release-notes -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install cobusgreyling/loop-engineering draft-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/cobusgreyling/loop-engineering.git skills-src && mkdir -p .claude/skills && cp -r skills-src/starters/changelog-drafter/.grok/skills/draft-release-notes .claude/skills/draft-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 "draft-release-notes" agent skill from https://github.com/cobusgreyling/loop-engineering/tree/main/starters/changelog-drafter/.grok/skills/draft-release-notes into .claude/skills/draft-release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "draft-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/cobusgreyling/loop-engineering/tree/main/starters/changelog-drafter/.grok/skills/draft-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 cobusgreyling/loop-engineering --skill draft-release-notes -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install cobusgreyling/loop-engineering draft-release-notes --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cobusgreyling/loop-engineering.git skills-src && mkdir -p .agents/skills && cp -r skills-src/starters/changelog-drafter/.grok/skills/draft-release-notes .agents/skills/draft-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 "draft-release-notes" agent skill from https://github.com/cobusgreyling/loop-engineering/tree/main/starters/changelog-drafter/.grok/skills/draft-release-notes into .agents/skills/draft-release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "draft-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 cobusgreyling/loop-engineering --skill draft-release-notes -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install cobusgreyling/loop-engineering draft-release-notes --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cobusgreyling/loop-engineering.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/starters/changelog-drafter/.grok/skills/draft-release-notes .cursor/skills/draft-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 "draft-release-notes" agent skill from https://github.com/cobusgreyling/loop-engineering/tree/main/starters/changelog-drafter/.grok/skills/draft-release-notes into .cursor/skills/draft-release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "draft-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/cobusgreyling/loop-engineering.git --path starters/changelog-drafter/.grok/skills/draft-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 cobusgreyling/loop-engineering --skill draft-release-notes -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install cobusgreyling/loop-engineering draft-release-notes --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cobusgreyling/loop-engineering.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/starters/changelog-drafter/.grok/skills/draft-release-notes .gemini/skills/draft-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 "draft-release-notes" agent skill from https://github.com/cobusgreyling/loop-engineering/tree/main/starters/changelog-drafter/.grok/skills/draft-release-notes into .gemini/skills/draft-release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "draft-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 cobusgreyling/loop-engineering draft-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 cobusgreyling/loop-engineering --skill draft-release-notes -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/cobusgreyling/loop-engineering.git skills-src && mkdir -p .github/skills && cp -r skills-src/starters/changelog-drafter/.grok/skills/draft-release-notes .github/skills/draft-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 "draft-release-notes" agent skill from https://github.com/cobusgreyling/loop-engineering/tree/main/starters/changelog-drafter/.grok/skills/draft-release-notes into .github/skills/draft-release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "draft-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 cobusgreyling/loop-engineering --skill draft-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 cobusgreyling/loop-engineering draft-release-notes --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cobusgreyling/loop-engineering.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/starters/changelog-drafter/.grok/skills/draft-release-notes .opencode/skills/draft-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 "draft-release-notes" agent skill from https://github.com/cobusgreyling/loop-engineering/tree/main/starters/changelog-drafter/.grok/skills/draft-release-notes into .opencode/skills/draft-release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "draft-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.
draft-release-notesTurns a structured list of changes from changelog-scan into a categorized, user-facing release notes draft file, and never publishes anything.
The inputs are the structured output of changelog-scan, the previous release version, the target version or an unreleased label, and optional release-voice guidance from AGENTS.md or a project skill. The draft is written to RELEASE_NOTES_DRAFT.md, or printed so the loop can save it, with sections adapted to what exists and empty ones left out. Breaking changes and security items go at the top.
Rules keep items to one line each with a PR link, use the scan's own titles without embellishment, never claim a change that is not in the scanned input, add a one-sentence upgrade note when a step is obvious from the PR, and end with a line asking for human review. The agent escalates instead of drafting when a window holds more than about 40 items, when a breaking or security item needs careful wording, or when the scan says human review is needed first. Afterward the loop records the draft location and a pending review state.
Read from SKILL.md and the folder at commit 87c5e9c. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From 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:
github.comFrom 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.
Release Notes Drafter loads about 555 tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 234 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 cobusgreyling/loop-engineering at commit 87c5e9c, republished under its MIT licence (© cobusgreyling). 234 words, ~555 tokens.
.claude/skills/draft-release-notes/SKILL.md (or your agent's skills folder).changelog-scan (the list of items + summary)Write a ready-to-review draft to RELEASE_NOTES_DRAFT.md (or print it clearly so the loop can save it).
Use this structure (adapt section names to what actually exists; omit empty sections):
# Release Notes — vX.Y.Z (unreleased)
## Breaking Changes
- ...
## Features
- ...
## Bug Fixes
- ...
## Performance
- ...
## Security
- ...
## Documentation & Examples
- ...
## Internal / Maintenance (usually omitted from public notes)
- ...
**Thanks** to @contributor1, @contributor2 for contributions to this release.
**Full changelog**: https://github.com/ORG/REPO/compare/vPREV...HEADAfter writing the draft, the loop should update state with the draft location and "pending human review".
© cobusgreyling, 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 starters/changelog-drafter/.grok/skills/draft-release-notes of cobusgreyling/loop-engineering.
Open the folder on GitHubat commit 87c5e9c
Release Notes Drafter 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 |
|---|---|---|---|---|---|---|
| Release Notes Drafter this skillcobusgreyling/loop-engineering | 11k | — | ~555 | Automated safety check: Pass | MIT | |
| Simple Englishmoeru-ai/airi | 50k | 2 repos | ~4.6k | Automated safety check: Pass | MIT | |
| StarRocks Release NotesStarRocks/starrocks | 12k | — | ~1.9k | Automated safety check: Notes | Apache-2.0 | |
| Cutting A ReleaseTriliumNext/Trilium | 38k | — | ~3.2k | Automated safety check: Pass | AGPL-3.0 | |
| React Router Release Notes Prepremix-run/react-router | 57k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Mole CLI Release Flowtw93/Mole | 70k | — | ~2.5k | Automated safety check: Pass | GPL-3.0 |
moeru-ai/airi
Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.
StarRocks/starrocks
Drafts English release notes for a StarRocks patch release from the PRs merged into its release branch, then opens a documentation PR and hands translation to /translate.
TriliumNext/Trilium
A skill your agent uses when cutting, preparing, or debugging a Trilium release — bumping the monorepo version, tagging, or diagnosing a failed "Release" workflow run.
remix-run/react-router
Polishes pending React Router change files before the versioning scripts run, and decides whether a long-form What's Changed section is warranted.
tw93/Mole
Runbook for assessing and executing a Mole CLI release: distribution channels, pre-flight checks, capital-V tags, build artifacts and the handoff to curated release notes.
PrefectHQ/fastmcp
Cut a FastMCP release end to end. An agent skill from PrefectHQ/fastmcp.
cobusgreyling/loop-engineering
Installs Loop Engineering into a project through the single @cobusgreyling/loop CLI, scaffolding a report-only loop and a readiness score.
cobusgreyling/loop-engineering
Loads a project's loop-constraints.md before any other action and blocks pushes, edits or merges that violate the rules it defines.
cobusgreyling/loop-engineering
Scans open GitHub issues and discussions, flags duplicates, scores priority and proposes labels into issue-triage-state.md without ever labeling or closing.
cobusgreyling/loop-engineering
Turns CI failures, open issues, recent commits and chat threads into a prioritized markdown report that an automation loop can act on without inventing architecture work.
cobusgreyling/loop-engineering
Check token budget and run-log spend before and after a loop run. Enforces early exit when over budget or when there is no actionable work.
cobusgreyling/loop-engineering
Tracks open pull requests and records CI state, staleness, merge conflicts and unanswered review comments in a state file, then lists the top three actions for a human.
Categories
Turns a structured list of changes from changelog-scan into a categorized, user-facing release notes draft file, and never publishes anything. md or a project skill.md, or printed so the loop can save it, with sections adapted to what exists and empty ones left out.
Release Notes Drafter fits situations like: drafting release notes after a changelog scan; producing a reviewable RELEASE_NOTES_DRAFT.md for an upcoming release; putting breaking changes and security items at the top of the notes.
Run `npx skills add cobusgreyling/loop-engineering --skill draft-release-notes -a claude-code`. Or copy the skill folder (starters/changelog-drafter/.grok/skills/draft-release-notes in cobusgreyling/loop-engineering) into .claude/skills/draft-release-notes in your project. Claude Code loads it when a task matches its description.
Run `npx skills add cobusgreyling/loop-engineering --skill draft-release-notes -a codex`. Or copy the skill folder (starters/changelog-drafter/.grok/skills/draft-release-notes in cobusgreyling/loop-engineering) into .agents/skills/draft-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 cobusgreyling/loop-engineering --skill draft-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/draft-release-notes, .gemini/skills/draft-release-notes, .github/skills/draft-release-notes and .opencode/skills/draft-release-notes in your project.
SKILL.md names no scripts, command-line tools or credentials: Release Notes Drafter is instructions for the agent only. Our summary lists: Structured output from the changelog-scan skill.
SKILL.md names 1 domain. In commands or code: github.com; 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.
Release Notes Drafter is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 555 tokens (SKILL.md is roughly 2.2k 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 Release Notes Drafter: Simple English (moeru-ai/airi, 50k stars), StarRocks Release Notes (StarRocks/starrocks, 12k stars), Cutting A Release (TriliumNext/Trilium, 38k stars) and React Router Release Notes Prep (remix-run/react-router, 57k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
cobusgreyling (a GitHub user) maintains it in cobusgreyling/loop-engineering, which has 11,440 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 8, 2026.
Source: cobusgreyling/loop-engineering on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.