Release
Release My Assistant — run gates, bump version, update changelog, commit, tag, and push. Use when asked to "release", "ship", "bump and push", or "cut a release".From its SKILL.md
npx -y skills add daddia/my-assistant --skill releaseAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.9 KB, as published. Nobody here has run it
Release
End-to-end release workflow for My Assistant.
Workflow
1. Pre-flight checks
Run all gates in parallel:
python3 scripts/validate.py
python3 scripts/validate_fixtures.py
Requires pip install -r requirements.txt if PyYAML is not already installed.
Stop if any gate fails. Fix issues before proceeding.
For minor or major releases, also run the connector smoke subset (docs/guide/connector-smoke-tests.md) and inbox smoke subset (evals/README.md#smoke-subset) before cutting the release.
2. Determine version bump
Read the current version from .claude-plugin/plugin.json. Ask the user which semver component to bump if not specified:
| Bump | When |
|---|---|
| patch | Bug fixes, test/fixture updates, docs |
| minor | New skills, commands, agents, or user-visible features |
| major | Breaking changes to commands, skills, profile schema, or hooks |
Default to patch if the user says "release" without specifying.
3. Bump version
Update the version field in both manifest files — keep them in lockstep per CONTRIBUTING.md:
.claude-plugin/plugin.json.cursor-plugin/plugin.json
These are the only version sources of truth. There is no package.json version to sync.
4. Update CHANGELOG
In CHANGELOG.md:
- Confirm
[Unreleased]accurately lists user-visible changes for this release. - Rename
[Unreleased]to[X.Y.Z] - YYYY-MM-DD(today's date). - Add a fresh empty
[Unreleased]section at the top with### Added,### Changed, and### Fixedsubsections per existing style.
5. Stage, commit, tag, and push
git add -A
git commit -m "chore(release): bump plugin to <new-version>"
git tag v<new-version>
git push && git push --tags
Commit message style: match existing convention — chore(release): bump plugin to X.Y.Z or chore(release): vX.Y.Z — <short summary> (see git log for examples).
Only commit when the user explicitly asks. Privacy check: no real profiles, .env, or *.local.md in the commit.
If a hook fails, fix the issue and create a new commit (never amend).
Version source of truth
.claude-plugin/plugin.json and .cursor-plugin/plugin.json — the version field in each (must match). There is no build step; this is a file-based plugin.
Checklist (copy into your reasoning)
-
python3 scripts/validate.pypasses -
python3 scripts/validate_fixtures.pypasses - both
plugin.jsonmanifests bumped to the same version -
CHANGELOG.mdupdated - commit includes all changes
- tag
v<version>created - pushed to main