agentsclimarketplace

Gpc train

Skill yasserstudio/gpc-skills/gpc-train

Agent skills for the GPC CLI. 19 skills that teach Claude Code how to use GPC for Google Play workflows: releases, metadata, vitals, monetization, CI/CD.

Install
npx -y skills add yasserstudio/gpc-skills --skill gpc-train

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 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.

What its author says it does

Copied from the file, not written here

Use when setting up or managing automated staged rollout pipelines with GPC. Trigger when the user mentions gpc train, release train, staged rollout automation, rollout pipeline, release gates, automatic rollout progression, auto-halt on regression, rollout stages — even if they don't explicitly say 'train.' Also trigger when someone wants to automatically progress a release from internal → alpha → production with time gates, or set up crash/ANR gates that pause a rollout.

SKILL.md

5.6 KB, as published. Nobody here has run it

GPC Release Train

When to use

Use this skill when the task involves:

  • Setting up a config-driven staged rollout pipeline
  • Automatically progressing a release through tracks (internal → alpha → production) with time gates
  • Gating progression on crash rate and ANR rate thresholds
  • Pausing, resuming, or aborting an in-flight release train
  • Checking the current stage and gate health of a running train

Inputs required

  • Package name (or configured default in .gpcrc.json)
  • Release train config: stages with tracks, rollout percentages, and time delays
  • Gate thresholds: max crash rate and max ANR rate
  • Whether to pause, resume, or abort the train

Procedure

1) Configure the release train

Add a release-train block to .gpcrc.json in the project root:

{
  "release-train": {
    "stages": [
      { "track": "internal",   "rollout": 100 },
      { "track": "alpha",      "rollout": 100, "after": "2d" },
      { "track": "production", "rollout": 10,  "after": "7d" },
      { "track": "production", "rollout": 100, "after": "14d" }
    ],
    "gates": { "crashes": { "max": 1.5 }, "anr": { "max": 0.5 } }
  }
}

Config keys:

KeyTypeDescription
stages[].trackstringTarget track: internal, alpha, beta, production
stages[].rolloutnumberRollout percentage for this stage (1–100)
stages[].afterstringMinimum time to wait before this stage (e.g., 2d, 12h, 30m). Omit for immediate.
gates.crashes.maxnumberMaximum crash rate percentage before pausing progression
gates.anr.maxnumberMaximum ANR rate percentage before pausing progression

Read:

  • references/rollout-pipeline.md

2) Start the train

gpc train start

This reads .gpcrc.json, creates a state file at ~/.cache/gpc/train-<packageName>.json, and begins executing the first stage immediately. Subsequent stages are executed when the after time has elapsed and gates pass.

# Resume a paused train
gpc train start --resume

3) Check train status

gpc train status

Output:

Release Train · com.example.app
  Stage 2 / 4   alpha @ 100%   in progress
  Last progressed: 2026-03-17 11:00 (2 days ago)
  Next stage: production @ 10%   eligible in 5 days

  Gates (last check: 10 minutes ago)
    crashes   0.82%   ✓  (max 1.5%)
    anr       0.19%   ✓  (max 0.5%)
# Resume if paused due to a gate failure
gpc train status --resume

4) Monitor gate health

Before each stage transition, gpc train automatically checks the configured gates:

  • If all gates pass, the stage progresses (subject to the after time having elapsed).
  • If any gate fails, progression is paused and a warning is shown.
  • The user must fix the regression and re-run gpc train start --resume or gpc train status --resume.

Gate checks call the same vitals API as gpc vitals crashes and gpc vitals anr. Data lag of 6–48 hours applies to new releases — avoid configuring gates on the very first stage.

5) Pause a running train

gpc train pause

Pauses automatic progression. Does not halt or change the active rollout on any track. Run gpc train start --resume to continue.

6) Abort the train

gpc train abort

Aborts the train and halts all active rollouts on tracks managed by this train. State file is cleared. Use when a critical regression is found and the release must be stopped immediately.

Verification

  • gpc train status shows the correct current stage and gate health values
  • gpc status confirms rollout percentages on each track match the active stage in the train config
  • Gate values (crashes, ANR) are below configured max thresholds
  • State file at ~/.cache/gpc/train-<packageName>.json reflects the current stage index and last progression timestamp

Failure modes / debugging

SymptomLikely CauseFix
Gate check failsCrash/ANR rate above configured maxFix the regression in a new release, then gpc train start --resume
Train already runningPrevious train was not completed or abortedgpc train status to check state; gpc train abort if needed
Stage progression skippedafter time has not elapsedgpc train status shows time remaining until next eligible stage
Train aborted unexpectedlyGate threshold breached automaticallyCheck gpc vitals crashes and gpc vitals anr, fix regression, then restart
State file missingCache directory cleared or different machineRe-run gpc train start — it will re-read .gpcrc.json and restart from stage 1

Read:

  • references/rollout-pipeline.md — full lifecycle: config → start → gate check → progress → complete

Related skills

  • gpc-release-flow: Upload, promote, and manual rollout management
  • gpc-vitals-monitoring: Crash and ANR monitoring used by gate checks
  • gpc-ci-integration: Running gpc train in CI/CD pipelines

Keep looking

Skills are one crate of 328,083. 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.