Skip to content
Back to skills

Release Notes

ASecurity

Generate SEO-optimized GitHub release notes for kwin-mcp.

  • 61 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
ai-agentspythongobashgit

Works with

  • claude code
  • cli
  • mcp

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned September 27, 2026

npx -y skills add isac322/kwin-mcp --skill release-notes --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Release Notes?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Release Notes
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/isac322-release-notes/badge)](https://www.skillsdirectory.com/skills/isac322-release-notes)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# Release Notes Generator

Generate SEO-optimized GitHub release notes for kwin-mcp.

## Usage

```
/release-notes <version>
```

Example: `/release-notes v0.5.1`

## Instructions

### Step 1: Gather Context

1. Read `CHANGELOG.md` and find the entry for the specified version
2. Read `pyproject.toml` to confirm the current version and project metadata
3. Check existing GitHub releases for style consistency:
   ```bash
   gh release list --limit 5
   gh release view <previous-version>
   ```

### Step 1.5: Verify plugin manifests + bundled SKILL.md are in sync

Before generating release notes, ensure all integrations (`.claude-plugin/marketplace.json`, `integrations/claude-code/.claude-plugin/plugin.json`, `integrations/opencode/plugin/package.json`, and the OpenCode plugin's bundled `SKILL.md`) reflect the version being released:

```bash
python3 scripts/sync_plugin_version.py        # write synced state
python3 scripts/sync_plugin_version.py --check # verify (CI also runs this)
```

If new MCP tools were added or renamed in this release, also confirm that `integrations/claude-code/skills/kwin-desktop-automation/SKILL.md` reflects them — the OpenCode plugin auto-mirrors that file on its next `npm run build`. The release notes' New Tools table should match what the SKILL.md exposes.

### Step 2: Determine Release Type

- **Patch release** (x.y.Z): bug fixes, minor improvements
- **Minor release** (x.Y.0): new features, new tools, non-breaking changes
- **Major release** (X.0.0): breaking changes

### Step 3: Generate Release Notes

#### Minor+ Release Template

```markdown
kwin-mcp vX.Y.Z <one-line value proposition with primary keywords>.

## Highlights

- **Feature name**: Description mentioning exact technology (AT-SPI2, libei, EIS, D-Bus, etc.)
- **Feature name**: Description with concrete numbers (e.g. "17 new MCP tools")
- ...

## New Tools

| Tool | Description |
|------|-------------|
| `tool_name` | What it does |
| ... | ... |

## Installation

\```bash
# Using uv (recommended)
uv tool install kwin-mcp

# Using pip
pip install kwin-mcp
\```

**Full Changelog**: https://github.com/isac322/kwin-mcp/compare/vPREVIOUS...vCURRENT
```

#### Patch Release Template

```markdown
kwin-mcp vX.Y.Z <one-line summary of what was fixed/improved>.

## What's Changed

- **Change description**: Detailed explanation mentioning exact technologies and tool names

**Full Changelog**: https://github.com/isac322/kwin-mcp/compare/vPREVIOUS...vCURRENT
```

### Step 4: SEO Rules for Release Notes

- **Language**: Always English
- **First sentence**: Must convey the value proposition (what the user gains)
- **Technology names**: Always use exact names — AT-SPI2, libei, EIS, KWin ScreenShot2, D-Bus, PyGObject, wl-clipboard, wtype
- **Tool names**: Use backtick code format with bare names (e.g. `mouse_click`, `accessibility_tree`). Hosts add their own prefix (`mcp__kwin-mcp__*` for Claude Code, `kwin-mcp_*` for OpenCode) — never hardcode prefixes in release notes
- **Tool counts**: Include total tool count when relevant (e.g. "now with 29 MCP tools"). When the count changes, also update `.claude/positioning.yml § product.tool_count`, `.claude/positioning.yml § drift_detection.tool_count_canonical`, `check_docs_seo.py § TOOL_COUNT_CANONICAL`, README tool tables, and the SKILL.md "X capabilities" reference before tagging the release
- **Plugin sync**: If the release ships new tools, mention that the bundled plugins were updated. Existing users will see the new guidance after a `/plugin update` (Claude Code) or after the OpenCode plugin's next `npm run build` mirrors the SKILL.md
- **Comparison link**: Always end with a Full Changelog comparison link
- **No emojis**: Do not use emojis in release notes

### Step 5: Present for Review

Show the generated release notes to the user for review before creating the GitHub release. Ask for confirmation before running:

```bash
gh release create vX.Y.Z --title "vX.Y.Z" --notes "..."
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…