Gplay device tiers
Skill unliftedq/agents/android-dev/skills/gplay-device-tiers
Manage device tier configs with gplay `device-tiers` — the device-targeting configuration for tiered content delivery (device groups by RAM/SoC/system features, an ordered tier set, and user country sets). `create` uploads a JSON body (the server assigns the id), `view` reads one by id, `list` shows them newest-first. Configs are immutable — the API has create/get/list only, no update or delete — so `create` needs no `--confirm` (it can never overwrite). Use when defining or inspecting device tiers for tiered asset delivery, or scripting a config into CI.From its SKILL.md
npx -y skills add unliftedq/agents --skill gplay-device-tiersAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.3 KB, 706 tokens by cl100k_base, as published. Nobody here has run it
gplay device-tiers (device-targeting for tiered delivery)
gplay device-tiers manages device tier configs — the app-scoped
configuration that drives tiered content delivery: which devices fall into
which tier, so Play can serve different assets to high-end and low-end devices.
Shared conventions (auth, output, exit codes, --dry-run, --package pinning)
are in gplay-cli-usage. The whole namespace is [experimental].
A config bundles three things (all expressed in the JSON body):
- device groups — named sets of device selectors (over RAM, device IDs, SoCs, system features),
- an ordered device tier set — tiers by descending priority,
- user country sets.
Immutable — create / get / list only
The defining property: a device tier config is immutable. The API exposes
only create, get, and list — no update, no patch, no delete. Two
consequences:
createneeds no--confirm. It can never overwrite or destroy an existing config, so it isn't a destructive write. (GPLAY_READONLYstill refuses it — it is a write — with exit4.)- To "change" targeting, you create a new config and point delivery at the
new
deviceTierConfigId. Old configs stay around; there is nothing to edit or clean up here.
This also puts device tier configs outside the Edit lifecycle (like the Data
Safety declaration and app recovery) — a direct application-scoped write, no
editId.
Create
# From a file:
gplay device-tiers create --file config.json
# From stdin (default when --file is omitted or "-"):
cat config.json | gplay device-tiers create
# Rehearse — validate the body, resolve the target, no HTTP:
gplay device-tiers create --file config.json --dry-run
- The server assigns the
deviceTierConfigId— do not put an id in the body. --allow-unknown-devicessetsallowUnknownDevices=true(let devices Play doesn't recognize into the config).- Don't know the body shape?
gplay schema DeviceTierConfigexpands its fields and enums offline (seegplay-cli-usage), or round-trip an existing config withview --output json.
Read
gplay device-tiers list # newest first; --page-size / --page-token to page
gplay device-tiers view <deviceTierConfigId> # one config by its server-assigned id
gplay device-tiers view <id> --output json # DeviceTierConfig, verbatim
--output json passes the API response through verbatim (ADR-0003) — the
list response carries nextPageToken for paging (capped at 100 per page).
Confirm the current verbs and flags with gplay device-tiers --help and
gplay device-tiers <command> --help — the surface is [experimental]
(ADR-0030) and may still evolve.
What ships with it: 1 file
221 B alongside SKILL.md
- .kman-skill.json221 B