deploy

deploy is a command for coding agents from ncssm-robotics/ftc-claude. It costs 0 tokens per session (892 once invoked), scanned C, original, MIT.

A command for building and installing FTC robot code, where FTC is a student robotics competition. It can connect to the robot over Wi-Fi or USB, install the Android app, and restart the Robot Controller.

In plain words
What is it for?
It is for deploying new or already-built robot code, choosing a Wi-Fi or USB connection, and optionally skipping the build.
Why use it?
It combines the build, connection, installation, and restart steps that would otherwise have to be performed separately.

Command

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/ncssm-robotics/ftc-claude/deploy
Clone the repo
git clone --depth 1 https://github.com/ncssm-robotics/ftc-claude

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for deploy

README.md
[![agentmods](https://agentmods.dev/badge/commands/ncssm-robotics/ftc-claude/deploy.svg)](https://agentmods.dev/commands/ncssm-robotics/ftc-claude/deploy)
Your own site
<a href="https://agentmods.dev/commands/ncssm-robotics/ftc-claude/deploy"><img src="https://agentmods.dev/badge/commands/ncssm-robotics/ftc-claude/deploy.svg" alt="Measured on agentmods" height="20"></a>
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 892 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.00892
Opus 5 $0.00000 $0.00446
Sonnet 5 $0.00000 $0.00178
Haiku 4.5 $0.00000 $0.00089

Measured 4d ago against content hash 036e5431ce79, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade C, and why

deploy scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Recursive force deletehighDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

adb shell rm -rf /sdcard/FIRST/
plugins/robot-dev/commands/deploy.md · 193 lines

How it starts

The opening of the file, as written. The whole thing — 193 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Deploy Command

Builds your code and installs it on the robot.

Usage

/deploy              # Build and deploy
/deploy --no-build   # Deploy existing APK (skip build)
/deploy --usb        # Force USB connection

Arguments

Argument Description
--no-build Skip building, deploy existing APK
--wifi Force WiFi deployment
--usb Force USB deployment

Process

When this command runs:

  1. Check connection:

    adb devices
    

    If not connected, prompt to run /connect

  2. Build code (unless --no-build):

    ./gradlew assembleDebug
    
  3. Install APK:

    adb install -r TeamCode/build/outputs/apk/debug/TeamCode-debug.apk
    
  4. Restart Robot Controller:

    adb shell am force-stop com.qualcomm.ftcrobotcontroller
    adb shell am start -n com.qualcomm.ftcrobotcontroller/.FtcRobotControllerActivity
    
  5. Verify installation:

    • Check APK installed successfully
    • Confirm Robot Controller restarted

Expected Output (Success)

Deploying to robot...

  ✓ Robot connected (192.168.43.1:5555)

  Building code...
  ✓ Build successful (12.3s)

  Installing APK...
  ✓ TeamCode-debug.apk installed

  Restarting Robot Controller...
  ✓ Robot Controller restarted

  Deploy complete!

  Open Driver Station to see your OpModes.

Error Handling

Not Connected

Deploying to robot...

  ✗ Robot not connected

  Run /connect first to establish a connection.

  Quick options:
    /connect        Connect via WiFi
    /connect --usb  Connect via USB cable

Build Failed

Deploying to robot...

  ✓ Robot connected

  Building code...
  ✗ Build failed

  Error in TeleOpMode.java:45
    Cannot find symbol: variable 'motor'

  Fix the error and try again.

Install Failed - Incompatible

Deploying to robot...

  ✓ Robot connected
  ✓ Build successful

  Installing APK...
  ✗ INSTALL_FAILED_UPDATE_INCOMPATIBLE

  The robot has a different version installed.

  Fix: Uninstall the old version first:
    adb uninstall com.qualcomm.ftcrobotcontroller

  Then run /deploy again.

Read the full file on GitHub · 193 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 193 lines · 0 tokens per session scan C 036e5431ce79

Subscribe to this mod's changes

deploy is a command published in the GitHub repository ncssm-robotics/ftc-claude (4 stars, last pushed 7mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 892 tokens. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.