Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Create a managed Google Play private app with `customapps create` — the one API path that creates an app record, irreversible and `--confirm`-gated. Use when creating a private, organisation-scoped enterprise app for managed Google Play distribution.
.claude/skills/pollyglot-gplay-customapps/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-17 | ✗→✓ | ▲ Improved | -61% | 0% |
| case-01 | ✗→✓ | ▲ Improved | -29% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -38% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -52% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -3% | 0% |
One [experimental] command. Shared conventions are in gplay-cli-usage.
bash# Rehearse first (reports the gate): gplay customapps create ./app-release.aab \ --title "Acme Internal" --default-language en-US --dry-run # Live (irreversible): gplay customapps create ./app-release.aab \ --title "Acme Internal" --default-language en-US --confirm # Restrict to specific organizations (repeatable; default: the account's): gplay customapps create ./app-release.aab \ --title "Acme Internal" --default-language en-US \ --organization 04f4m6gc --organization 7e9k2p1 --confirm
Irreversible (the API has no delete and no read): --confirm gated, rehearse with --dry-run first. Capture packageName from --output json: there is no read endpoint to look it up later.
A 403 names what is missing: managed Google Play enrollment on the account, or the account-level CAN_CREATE_MANAGED_PLAY_APPS capability on the service account (granted on its own, outside any role). Both fixes live in the Play Console (enrollment, then Users & permissions); retry after.
Developer-account axis (--developer-id, same as gplay team, ADR-0015): resolution in gplay-cli-usage.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-17 | fail→pass | 28,418 | 2,251 | -92% | 1 | 1 | 0% | 1,514 | 596 | -61% | 0 | 0 | — |
case-01 | fail→pass | 35,769 | 10,112 | -72% | 1 | 1 | 0% | 1,712 | 1,208 | -29% | 0 | 0 | — |
case-02 | fail→pass | 14,063 | 4,409 | -69% | 1 | 1 | 0% | 1,518 | 942 | -38% | 0 | 0 | — |
case-03 | fail→pass | 18,236 | 11,089 | -39% | 1 | 1 | 0% | 2,201 | 1,055 | -52% | 0 | 0 | — |
case-04 | pass→pass | 16,517 | 10,884 | -34% | 1 | 1 | 0% | 1,687 | 1,017 | -40% | 0 | 0 | — |
case-05 | fail→pass | 14,841 | 49,923 | +236% | 1 | 1 | 0% | 1,744 | 1,690 | -3% | 0 | 0 | — |
case-06 | fail→pass | 38,913 | 10,146 | -74% | 1 | 1 | 0% | 1,680 | 994 | -41% | 0 | 0 | — |
case-07 | fail→pass | 59,413 | 3,627 | -94% | 1 | 1 | 0% | 2,213 | 855 | -61% | 0 | 0 | — |
case-12 | fail→fail | 17,650 | 5,432 | -69% | 1 | 1 | 0% | 2,376 | 1,193 | -50% | 0 | 0 | — |
case-08 | fail→pass | 33,400 | 3,150 | -91% | 1 | 1 | 0% | 1,265 | 759 | -40% | 0 | 0 | — |
case-09 | fail→pass | 34,446 | 8,512 | -75% | 1 | 1 | 0% | 1,513 | 793 | -48% | 0 | 0 | — |
case-10 | pass→pass | 15,019 | 5,754 | -62% | 1 | 1 | 0% | 1,692 | 1,154 | -32% | 0 | 0 | — |
case-11 | pass→pass | 16,571 | 16,960 | +2% | 1 | 1 | 0% | 1,643 | 600 | -63% | 0 | 0 | — |
case-13 | fail→pass | 31,793 | 7,358 | -77% | 1 | 1 | 0% | 2,014 | 572 | -72% | 0 | 0 | — |
case-14 | fail→pass | 27,454 | 8,576 | -69% | 1 | 1 | 0% | 3,844 | 844 | -78% | 0 | 0 | — |
case-15 | fail→pass | 17,384 | 3,599 | -79% | 1 | 1 | 0% | 1,781 | 855 | -52% | 0 | 0 | — |
case-16 | fail→pass | 14,720 | 3,139 | -79% | 1 | 1 | 0% | 1,578 | 866 | -45% | 0 | 0 | — |
case-18 | fail→pass | 16,355 | 3,409 | -79% | 1 | 1 | 0% | 1,794 | 853 | -52% | 0 | 0 | — |
case-19 | fail→pass | 19,092 | 9,020 | -53% | 1 | 1 | 0% | 1,318 | 848 | -36% | 0 | 0 | — |
case-20 | pass→pass | 13,281 | 6,878 | -48% | 1 | 1 | 0% | 1,937 | 900 | -54% | 0 | 0 | — |
case-21 | fail→pass | 31,673 | 4,534 | -86% | 1 | 1 | 0% | 1,669 | 859 | -49% | 0 | 0 | — |
case-22 | pass→pass | 11,115 | 7,908 | -29% | 1 | 1 | 0% | 741 | 594 | -20% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 19 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +73 percentage points is the difference between those two pass rates over the 19 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 8/23/2026 | +73% |
| gemini-3.6-flash | verified | 8/4/2026 | +59% |
Other measured skills in the registry, with their headline benchmark lift.