Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/alchemiststudiosdotai/tunacode/pypi-releasenpx skills add alchemiststudiosDOTai/tunacode --skill pypi-releasegit clone --depth 1 https://github.com/alchemiststudiosDOTai/tunacodeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/alchemiststudiosdotai/tunacode/pypi-release)<a href="https://agentmods.dev/skills/alchemiststudiosdotai/tunacode/pypi-release"><img src="https://agentmods.dev/badge/skills/alchemiststudiosdotai/tunacode/pypi-release.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00052 | $0.02230 |
| Opus 5 | $0.00026 | $0.01115 |
| Sonnet 5 | $0.00010 | $0.00446 |
| Haiku 4.5 | $0.00005 | $0.00223 |
Grade A, and why
pypi-release scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 320 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PyPI Release Automation
Overview
Keep the existing local release gates for tunacode-cli, then hand the actual PyPI upload to GitHub Actions. This keeps the release checks local while moving the credentialed publish step into the repository workflow.
When to Use This Skill
Trigger this skill when the user requests:
- "Release to PyPI"
- "Publish a new version"
- "Create a release"
- "Bump version and release"
- "Push a new version to PyPI"
Core Release Workflow
The skill provides two approaches: Manual (REQUIRED) and Automated (deprecated - skips critical test step).
Automated Release (NOT RECOMMENDED - Use Manual)
WARNING: The automated script is currently discouraged because it skips the mandatory manual test step.
Use the Manual Release workflow below instead to ensure proper testing before release.
Execute the full release workflow with a single script:
~~```bash uv run python skills/pypi-release/scripts/release.py
~~The script performs these steps automatically:~~
1. ~~Pre-flight checks (git status, branch check, linting, tests)~~
2. ~~Version bump~~
3. ~~Git operations (commit, tag, push)~~
4. ~~GitHub release~~
5. ~~Workflow monitoring~~
**Issue:** The automated script does not include the mandatory manual import test (Step 3) which has caused multiple broken releases. Always use the manual workflow.
### Manual Release (REQUIRED - Step-by-Step)
**This is the ONLY recommended workflow. Follow these steps in order:**
#### Step 1: Pre-flight Checks
Verify the repository is ready for release:
```bash
# Check git status (must be clean)
git status
# Verify on master branch
git branch --show-current
# Run linting
ruff check .
# Run tests
source .venv/bin/activate && pytest tests/ -q
# MANDATORY: Run tmux E2E tool tests (all 6 must pass)
uv run pytest tests/system/cli/test_tmux_tools.py -v -m tmux
HARD GATE: If the tmux tool tests fail, DO NOT proceed with the release. These tests verify all 6 tools (bash, read_file, write_file, update_file, discover, web_fetch) work end-to-end in the real TUI. No exceptions.
Step 2: Bump Version
Use the version bumping script:
uv run python skills/pypi-release/scripts/bump_version.py
The script:
- Reads current version from
pyproject.toml - Increments the patch number (rightmost digit)
- Updates four files:
pyproject.toml:8(project version)pyproject.toml:175(hatch script version)src/tunacode/constants.py:12(APP_VERSION constant)README.md(version header)
Step 2.5: Update CHANGELOG
REQUIRED: Manually update CHANGELOG.md with the new version entry.
-
Check commits since last release:
git log --oneline $(git describe --tags --abbrev=0)..HEAD --no-merges -
Add entry under
## [Unreleased]:## [X.Y.Z.W] - YYYY-MM-DD
What ships with it
5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 320 lines · 52 tokens per session scan A 47940f5fd56f
pypi-release is a skill published in the GitHub repository alchemiststudiosDOTai/tunacode (124 stars, last pushed 1mo ago), licensed MIT. It adds 52 tokens to every session and 2,230 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
jupyter-live-kernel
Iterative Python via live Jupyter kernel (hamelnb).
github-repo-management
Clone/create/fork repos; manage remotes, releases.
django-patterns
Django architecture patterns, REST API design with DRF, ORM best practices, caching, signals, middleware, and production-grade Django apps.
python-testing
Python testing best practices using pytest including fixtures, parametrization, mocking, coverage analysis, async testing, and test organization. Use when writing or improving Python tests.
pytorch-patterns
PyTorch deep learning patterns and best practices for building robust, efficient, and reproducible training pipelines, model architectures, and data loading.
fastapi-patterns
FastAPI patterns for async APIs, dependency injection, Pydantic request and response models, OpenAPI docs, tests, security, and production readiness.