.agents/skills/tag-release/SKILL.md
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.
npx skillsauth add microboxlabs/modulariot tag-releaseInstall 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.
Create versioned releases for packages in this monorepo using scoped tags that trigger CI/CD pipelines.
Use this skill when the user wants to:
Extract the package name and version from the user's request.
packages/ (e.g. miot-calendar-client)0.2.0)If the user provides an npm scoped name (e.g. @microboxlabs/miot-calendar-client), map it to the directory name under packages/.
If the user provides a bare v<version> tag, ask which package it applies to — never create a plain v<version> tag.
Confirm the package directory exists:
ls packages/<package-name>/package.json
If it doesn't exist, list available packages and ask the user to choose.
Read packages/<package-name>/package.json and check the current version field.
version field to the target version.If the version was changed in Step 3, stage and commit:
git add packages/<package-name>/package.json
git commit -m "Bump <package-name> to v<version>"
If no changes were needed, skip this step.
Create an annotated tag (not lightweight) using the scoped format:
git tag -a "<package-name>@v<version>" -m "<package-name>@v<version>"
Example: git tag -a "[email protected]" -m "[email protected]"
Push the commit (if any) and the tag to the remote:
git push origin trunk
git push origin "<package-name>@v<version>"
Create a GitHub release using the gh CLI:
gh release create "<package-name>@v<version>" \
--title "<package-name>@v<version>" \
--generate-notes \
--latest
These rules are critical and must always be followed:
<package-dir-name>@v<version> — NEVER use plain v<version>packages/ (e.g. miot-calendar-client), not the npm scope name (@microboxlabs/miot-calendar-client)version field in packages/<name>/package.json must match the tag version exactlygit tag -a with a message, never lightweight tags[email protected])Pushing a scoped tag triggers the corresponding GitHub Actions workflow:
publish-npm.yaml: Triggered by tags matching miot-calendar-client@v*
As new publishable packages are added, each will have its own workflow trigger pattern following the same <package-name>@v* convention.
Current packages under packages/:
| Directory | npm Name | Publishable |
|---|---|---|
| miot-calendar-client | @microboxlabs/miot-calendar-client | Yes |
| db | — | No (internal) |
| ui | — | No (internal) |
| eslint-config | — | No (internal) |
| typescript-config | — | No (internal) |
| sonarcloud-tools | — | No (internal) |
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.
development
Reviews the current pull request against SonarCloud and fixes reported issues. Fetches PR issues with rule documentation, then applies code changes per rule guidance. Use when the user asks to review the PR, fix SonarCloud issues, or address SonarCloud findings.