agentsclimarketplace

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

Install
npx -y skills add unliftedq/agents --skill gplay-device-tiers

Assembled 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 listno update, no patch, no delete. Two consequences:

  • create needs no --confirm. It can never overwrite or destroy an existing config, so it isn't a destructive write. (GPLAY_READONLY still refuses it — it is a write — with exit 4.)
  • 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-devices sets allowUnknownDevices=true (let devices Play doesn't recognize into the config).
  • Don't know the body shape? gplay schema DeviceTierConfig expands its fields and enums offline (see gplay-cli-usage), or round-trip an existing config with view --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

Keep looking

Skills are one crate of 326,871. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.