Borrowing it
Nothing to install: this file belongs to kikin81/nubecita. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/kikin81/nubecita/main/.claude/skills/promote-to-production/SKILL.mdgit clone --depth 1 https://github.com/kikin81/nubecitaWrote 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/kikin81/nubecita/promote-to-production)<a href="https://agentmods.dev/skills/kikin81/nubecita/promote-to-production"><img src="https://agentmods.dev/badge/skills/kikin81/nubecita/promote-to-production/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/kikin81/nubecita/promote-to-production"><img src="https://agentmods.dev/badge/skills/kikin81/nubecita/promote-to-production.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Excessive Agency · line 71 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
- medium Excessive Agency · line 80 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
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.00088 | $0.02113 |
| Opus 5 | $0.00044 | $0.01056 |
| Sonnet 5 | $0.00018 | $0.00423 |
| Haiku 4.5 | $0.00009 | $0.00211 |
Grade A, and why
promote-to-production 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 12d 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 — 86 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Dispatch the Promote to Production workflow (.github/workflows/promote.yaml) with the right inputs, surface the resolved target, then hand the gated approval back to the human.
What the workflow does (context): promotes an AAB already uploaded to the Play internal track to any combination of closed testing (alpha), open testing (beta), and production — no rebuild. The three tracks are chosen via boolean inputs (to_closed / to_open / to_production) and folded into a comma list. Two jobs: resolve (ungated, prints the target versionCode, the selected tracks, and all three changelogs to the run summary; fails fast if no track is selected) → promote (gated by the production environment's required-reviewer "Review deployments → Approve and deploy" button — one approval covers the whole batch). concurrency: promote-production serializes runs.
Per-track behavior handled by the lane: rollout % and update priority apply to production only; alpha/beta always go to 100% of testers with no priority, and a build already live on a testing track is skipped (no redundant re-promote). Only production re-runs to advance its staged rollout.
Input: optional hints from the user (which tracks, rollout %, priority, a specific versionCode). If absent, gather them interactively below.
Steps
-
Preflight. Confirm the tooling and that you're promoting the intended build:
gh auth status >/dev/null && echo "gh: authed" gh workflow list | grep -i "Promote to Production" || echo "workflow missing" git rev-parse --abbrev-ref HEAD # workflow_dispatch runs from main by defaultThe promotion targets a Play versionCode (independent of the git branch), but the changelogs/fastlane come from the dispatched ref — so dispatch from
main(the default) unless the user explicitly wants another ref. If they're on a feature branch, note that--ref mainis used. -
Gather the inputs (work together). First use the AskUserQuestion tool (multiSelect) to pick the target track(s), then ask the production-only knobs only if production is among the picks.
- Tracks (multiSelect, at least one) — Closed testing (
alpha) / Open testing (beta) / Production. Map the picks to the boolean inputsto_closed/to_open/to_production. Default suggestion: Production. (Testing tracks always go to 100% of testers, so they need no rollout/priority.) rollout(ask only if Production is selected; default0.1) — staged fraction. Options:0.01 / 0.05 / 0.1 / 0.2 / 0.5 / 1.0. A fresh production promote starts low (e.g.0.1); to advance an in-flight rollout, re-run with a higher fraction and the same versionCode. Ignored foralpha/beta.in_app_update_priority(ask only if Production is selected; default0) — options0–5.0= default (no nudge);1–3= flexible in-app-update nudge;>=4forces IMMEDIATE (blocking) update. Most releases use0; reserve4–5for critical fixes. Not applied to testing tracks.version_code(optional) — blank resolves to the latest build on the internal track. Only set it to promote/advance a specific older build.
- Tracks (multiSelect, at least one) — Closed testing (
-
Assemble + confirm the command. Show the exact command and get a yes before running — this publishes to real users / testers. Pass a boolean for each track (
true/false); includerollout/in_app_update_priorityonly when Production is selected (they default otherwise):# include rollout / in_app_update_priority only when to_production=true (they default otherwise); # add -f version_code=<versionCode> only if a specific build was requested. gh workflow run "Promote to Production" --ref main \ -f to_closed=<true|false> \ -f to_open=<true|false> \ -f to_production=<true|false> \ -f rollout=<rollout> \ -f in_app_update_priority=<priority>(
gh workflow run promote.yaml …works too.)
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.
- 12d ago First seen · 86 lines · 88 tokens per session scan A c79d5e984ba3
promote-to-production is a skill published in the GitHub repository kikin81/nubecita (5 stars, last pushed today), licensed MIT. It adds 88 tokens to every session and 2,113 once invoked, about $0.0004 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-31.
Other skills, from other repositories
agent-browser
Browser automation via Chrome/Chromium CDP — open, snapshot, click, screenshot. For testing web apps, mobile layouts, and automated interactions without Playwright/Puppeteer.
odevio
Take a Flutter project to an iPhone or the App Store with Odevio - build, sign and publish iOS apps from Windows, Linux or macOS with no Mac and no Xcode. Handles Apple setup, certificates, provisioning profiles, code signing, the .ipa, TestFlight and App Store submission, and fixes build failures automatically. Use…
fastly-compute-well-known-spa-fallback
Fix .well-known files (apple-app-site-association, assetlinks.json) being served as HTML by the @fastly/compute-js-static-publish SPA fallback instead of JSON. Use when: (1) iOS Universal Links or Android App Links are broken because the verification files return text/html instead of application/json, (2)…
expo-deployment
Deploying Expo apps to iOS App Store, Android Play Store, web hosting, and API routes.
capawesome-cloud
Guides the agent through setting up and using Capawesome Cloud for Capacitor and Cordova apps. Covers three core workflows: (1) Native Builds — cloud builds for iOS and Android (Capacitor, Cordova, or native projects), signing certificates, environments, Trapeze configuration, and build artifacts; (2) Live Updates …
google-mobile-ninja
Master orchestrator for 35+ mobile development agent skills from official Google repositories. Use when working with Android, Flutter, Dart, Jetpack Compose, Navigation, CameraX, AGP, Play services, or any mobile app development task. Routes to the optimal specialized skill based on context. Triggers: Android…