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 skills add ofcskn/mobile-automation-plugin --skill managing-app-versionsgit clone --depth 1 https://github.com/ofcskn/mobile-automation-pluginWrote 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/ofcskn/mobile-automation-plugin/managing-app-versions)<a href="https://agentmods.dev/skills/ofcskn/mobile-automation-plugin/managing-app-versions"><img src="https://agentmods.dev/badge/skills/ofcskn/mobile-automation-plugin/managing-app-versions/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ofcskn/mobile-automation-plugin/managing-app-versions"><img src="https://agentmods.dev/badge/skills/ofcskn/mobile-automation-plugin/managing-app-versions.svg" alt="Reviewed on agentmods" width="80" 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.00095 | $0.00769 |
| Opus 5.5 | $0.00038 | $0.00308 |
| Sonnet 5.5 | $0.00019 | $0.00154 |
| Haiku 4.5 | $0.00010 | $0.00077 |
Grade A, and why
managing-app-versions 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 1mo 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 — 77 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Managing App Versions
When to use
| Request | Action |
|---|---|
| "bump version" / "patch release" | bump-version.js {appId} patch |
| "minor release" | bump-version.js {appId} minor |
| "major release" | bump-version.js {appId} major |
| "new build only" | bump-version.js {appId} build |
| "sync native files" | sync-build-numbers.js {appId} --project-root /path |
Steps
- Read
.msd/versions/{appId}/version.json— confirm current values - Run:
node skills/managing-app-versions/scripts/bump-version.js {appId} {type} - Run:
node skills/managing-app-versions/scripts/sync-build-numbers.js {appId} --project-root /path/to/app - Show the user the new version numbers
- Suggest commit message:
chore: bump version to {semver} (build {build})
Rules
- Android versionCode is monotonically increasing. Never decrement it. The script enforces this.
- iOS CFBundleVersion must increase per TestFlight upload. CFBundleShortVersionString can stay.
- Expo projects: sync-build-numbers.js writes ONLY to app.json. Do not touch native files.
- Bare RN: sync-build-numbers.js writes to ios/*/Info.plist and android/app/build.gradle.
- Always commit version.json and all platform files together in one atomic commit.
Per-platform versioning
iOS and Android can be bumped independently using an optional third argument:
node bump-version.js <appId> <patch|minor|major|build> [ios|android|both]
| Command | Effect |
|---|---|
bump-version.js {appId} patch |
bump both platforms (default) |
bump-version.js {appId} patch both |
explicit both — same as default |
bump-version.js {appId} patch ios |
bump iOS only; Android unchanged |
bump-version.js {appId} patch android |
bump Android only; iOS unchanged |
When platforms diverge, the top-level semver in version.json reflects the most recently bumped platform. Each platform block also carries its own semver field for independent tracking:
{
"semver": "1.0.1",
"ios": {
"semver": "1.0.1",
"CFBundleShortVersionString": "1.0.1",
"CFBundleVersion": "3"
},
"android": {
"semver": "1.0.0",
"versionName": "1.0.0",
"versionCode": 2
}
}
What ships with it
3 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.
- 1mo ago First seen · 77 lines · 95 tokens per session scan A 46fb0b83138b
managing-app-versions is a skill published in the GitHub repository ofcskn/mobile-automation-plugin (2 stars, last pushed 4mo ago), licensed MIT. It adds 95 tokens to every session and 769 once invoked, about $0.0004 per session on Opus 5.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-31.
Other skills, from other repositories
release-new-version
Use when the user wants to release a new Zafiro version — drafting bilingual release notes, deciding the next version number, bumping app/build.gradle.kts, tagging, and publishing to GitHub (main repo, optionally the Xposed repo).
manage-prs
Create, review, and merge GitHub pull requests and publish releases using repository Git rules. Use for requests to open a PR, push and create a PR, review PRs, merge a PR, or tag a release and write release notes.
flame-harness-submit
Phase 10 — upload store text metadata + categories via fastlane, then pause with exact manual steps for the final iOS review submission and Android production promotion.
gplay-release-flow
Ship Android releases through Google Play with gplay releases. Use when uploading an AAB or APK to a track, promoting a build up the track ladder, steering a staged rollout, inspecting or downloading what a track holds, attaching a ProGuard/R8 mapping, sharing a build via Internal App Sharing, or managing legacy OBB…
rn-harness-submit
Phase 10 — Submit to App Store Connect (iOS) and Google Play (Android). iOS fully automated, Android pauses for manual steps.
ios-app-store-release
Use when preparing, archiving, uploading, or submitting iOS apps through App Store Connect. Covers xcodebuild archive/export, Fastlane deliver, altool/transporter fallback, TestFlight, review submission, App Privacy, export compliance, release safety, and slash commands such as /ios-release and /ios-grade.