.agents/skills/gh-release-writer/SKILL.md
Generate release notes for a ModularIoT release by scanning all org repos for issues across one or more GitHub milestones (e.g. a versioned release milestone + an OSS integration milestone) and formatting them into a versioned MDX file at src/releases/. Use when the user wants to create or generate release notes for a specific version, combining issues from a private release milestone and/or an OSS milestone across all repositories in the org.
npx skillsauth add microboxlabs/modulariot gh-release-writerInstall 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.
Multi-repo release notes generator. Collects issues from a versioned release milestone and an optional OSS integration milestone across all org repos, then formats them into a single MDX file.
Read references/platform-context.md for: repo overview, issue categorization rules (labels → sections), MDX output format template, and formatting guidelines.
| Input | Example | Notes |
|-------|---------|-------|
| Release version | 1.27.0 | Filename + heading |
| Release milestone | 1.27.0 | Searched across all org repos |
| OSS milestone | MIOT-0.2.0 | Optional; issues tagged source: oss |
| Release date | 23/02/2026 | Defaults to today (currentDate in context) |
Extract release version, release milestone title, optional OSS milestone title, and optional date from the user's message.
Run the collector script (all diagnostic output goes to stderr; stdout is JSON):
./generative_ai/tools/sh/fetch-release-issues.sh \
--release 1.27.0 \
--oss MIOT-0.2.0
The script scans all repos in GH_PROJECT_OWNER (from .env.local) and outputs a JSON array:
[
{
"repo": "microboxlabs/ecm-coordinator",
"number": 88,
"title": "feat: new delivery dashboard",
"body": "...",
"labels": ["enhancement"],
"state": "closed",
"url": "https://github.com/...",
"milestone": "1.27.0",
"source": "release"
},
{
"repo": "microboxlabs/modulariot",
"number": 46,
"title": "feat(miot-calendar): purge endpoint support",
"body": "...",
"labels": ["enhancement"],
"state": "closed",
"url": "https://github.com/...",
"milestone": "MIOT-0.2.0",
"source": "oss"
}
]
If .env.local is not sourced automatically, run source .env.local first.
Using the rules in references/platform-context.md, assign each issue to one of:
Strip conventional-commit prefixes from the title. Format as a bold lead bullet with sub-bullets for key points drawn from the issue body. For source: oss issues, add an *(Integración OSS — MIOT-0.2.0)* note.
src/releases/{version}.mdxUsing the MDX template from references/platform-context.md, generate and write the file including:
All user-facing text must be in Spanish.
tools
Query and manage ModularIoT Calendar services via the miot CLI. List calendars, check slot availability, create bookings, manage time windows, and run slot managers. Use when the user asks about schedules, appointments, bookings, availability, calendar configuration, time slots, capacity, or calendar services in their ModularIoT organization.
tools
Propagate OpenAPI spec changes through all three layers: (1) the hand-authored TypeScript client package — types, resource methods, tests, version bump; (2) the CLI package — commands, flags, table columns, tests, version bump; (3) the agent skill — SKILL.md workflows, business rules, and reference.md sections. Use when the user says the openapi.json has changed and needs to be reflected end-to-end. Triggers on phrases like "update the client from the new openapi", "sync the client with the API spec", "implement the api changes in the client", "the openapi.json changed, update the client package", "propagate the API changes", or "update all layers from the spec".
tools
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
tools
Tag and release a monorepo package following the project's scoped-tag convention. Use when the user wants to publish a new version of a package, create a release tag, or bump a package version.