Skip to content
Back to skills

Uncommonroute Release

ASecurity

Use when publishing UncommonRoute. A release is only complete after all required steps are done: version sync, validation, GitHub push/tag/release, PyPI publish, and npm publish.

  • 691 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 26, 2026
devopspythonbashgit

Works with

  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add CommonstackAI/UncommonRoute --skill uncommonroute-release --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Uncommonroute Release?

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

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

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
---
name: uncommonroute-release
description: Use when publishing UncommonRoute. A release is only complete after all required steps are done: version sync, validation, GitHub push/tag/release, PyPI publish, and npm publish.
---

# UncommonRoute Release

Use this skill when the user asks to release, publish, cut a version, or ship UncommonRoute.

## Release contract

A release is not done until all of these succeed:

1. Version files are updated together
2. Validation passes
3. Release commit and tag are pushed to GitHub
4. GitHub Release exists for that tag
5. PyPI is published
6. npm is published

If any one of those is missing, the release is incomplete.

## Keep the release clean

- Check `git status --short` first.
- Never sweep unrelated local dirt into the release.
- Stage only the files that belong to the release.
- If package registries already contain the intended version, do not try to overwrite it. Pick the next semver version instead.

## Version workflow

Use the bundled script to update every tracked version string together:

```bash
python3 .codex/skills/uncommonroute-release/scripts/sync_version.py <version>
```

This script updates:

- `pyproject.toml`
- `uncommon_route/cli.py`
- `uncommon_route/proxy.py`
- `uncommon_route/support.py`
- `openclaw-plugin/package.json`
- `openclaw-plugin/src/index.js`

## Validation workflow

Run the repo test suite and package checks before publishing:

```bash
PYTHONPATH=. python3 -m pytest tests -q
python3 -m build
python3 -m twine check dist/*
cd openclaw-plugin && npm pack --dry-run
```

Use a fresh build output. Do not upload stale artifacts from a previous version.

## Publish workflow

After validation passes:

1. Commit only the intended release files
2. Create tag `v<version>`
3. Push `main` and the tag
4. Create the GitHub Release and attach the Python artifacts
5. Publish PyPI
6. Publish npm

Typical commands:

```bash
git tag v<version>
git push origin main --follow-tags
gh release create v<version> dist/*.whl dist/*.tar.gz --title "v<version>" --notes "<notes>"
TWINE_USERNAME=__token__ TWINE_PASSWORD="$TWINE_PASSWORD" python3 -m twine upload dist/*
cd openclaw-plugin && npm publish --access public
```

## Verification

Check all three public destinations after publish:

- GitHub tag + Release page
- PyPI latest version
- npm latest version

Report the exact released version and any remaining caveats.

Files in this skill

  • SKILL.md2.3 KB
  • scripts/sync_version.py1.8 KB

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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.