3.1 KiB

name, description, disable-model-invocation
name description disable-model-invocation
deploy-gpu Sync this repo's working tree to nik-gpu, where it runs directly out of the git checkout, and optionally smoke-test one task against the live game. Use when the user asks to deploy, push, sync, or ship code to nik-gpu, or wants to try a task live after an edit. true

/deploy-gpu

Deploys the current working tree to nik-gpu. See README.md's "Deploying your changes" section and CLAUDE.md's "Deployment model" for the source of truth this skill wraps — if either has changed, follow the doc over this file.

Optional task argument (smoke test): $ARGUMENTS

The checkout IS the runtime

As of 2026-07-18, ba_dailies.sh runs directly out of the git checkout at nik-gpu:~/repo/ba-auto-daily/ — there is no separate flat-path copy (~/ba_dailies.sh, ~/ba_daily.py, ~/ba_auto/, ~/ba_assets/) for setup.sh to keep in sync. If those flat paths turn up on nik-gpu, they're stale leftovers from the pre-2026-07-18 model — don't assume anything reads from them.

This means a plain rsync is normally enough on its own; setup.sh is no longer a required second step for an ordinary code change.

Steps

  1. From the repo root, run:

    rsync -av \
      --exclude='.git/' \
      --exclude='__pycache__/' \
      --exclude='*.pyc' \
      --exclude='.claude/settings.local.json' \
      --exclude='graphify-out/' \
      --exclude='screenshots/' \
      --exclude='scratchpad/' \
      ./ nik-gpu:~/repo/ba-auto-daily/
    
  2. Only run setup.sh if this deploy also needs it — a fresh/empty checkout, a new Python dependency, a new host-level tool requirement (e.g. a tesseract language pack), or the venv otherwise needs installing/reinstalling. It's idempotent and safe to re-run, but it no longer copies any files anywhere, so don't run it out of habit expecting it to "finish" the deploy — step 1's rsync already did:

    ssh nik-gpu "cd ~/repo/ba-auto-daily && ./setup.sh"
    

    Report any failure here directly (missing host tool, venv/pip error, missing tesseract) rather than treating the deploy as done.

  3. Only if a task name was given in $ARGUMENTS (e.g. /deploy-gpu cafe), run it live as a smoke test, from the checkout path directly:

    ssh nik-gpu "~/repo/ba-auto-daily/ba_dailies.sh <task>"
    

    Do not invent a task to run if none was given — several tasks (story_sweep, story_sweep_hard, shop_common, shop_tactical, lesson, arena, bounty, event_sweep) spend real AP, credits, tactical coin, lesson tickets, an arena ticket, or a bounty ticket, and running one without the user asking for that specific task would be an unrequested spend.

    Exit code 0 only means the script ran without a Python exception, not that the in-game action succeeded — surface the task's own log lines (e.g. claiming all, nothing to claim, patted N sparkle(s)) to the user, not just the exit code.

  4. Summarize what happened: deploy succeeded/failed, whether setup.sh was needed/run, and if a task was smoke-tested, what its log output actually said.