Skip to content
Development
Command

/usage-data

Show or change whether AWS Startup Advisor collects optional usage data

BOOST
From plugin
agent-toolkit-for-aws
2.8k10 skills7 agents10 commands3 MCP
Install
> /plugin marketplace add aws/agent-toolkit-for-aws

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/usage-data

Context preview

What this command does when you run it.

Show or change whether AWS Startup Advisor collects optional usage data

Command definition

usage-data.md
name: usage-data
description: Show or change whether AWS Startup Advisor collects optional usage data
argument-hint: "[status | opt-out | opt-in | show]"

The user wants to see or change their usage-data setting for the AWS Startup Advisor plugin. They typed this themselves, so they have already asked for it. Do not argue for either answer, and do not ask them to confirm a choice they already stated in the argument.

One file decides everything: `~/.aws-startup-advisor/plugin-telemetry.json`. There is no environment variable. Opting out means setting `"consentStatus"` to `"OPT_OUT"` in that file, which is what the notice tells the user and what the script below does in one step — the script also keeps their install ID, so prefer it over editing by hand.

Each block below is one command: run it whole, in a single shell invocation. The two setup lines are repeated in every block on purpose — shell variables do not survive between separate invocations, so a block that omitted them would run `python3` against an empty path.

`${CLAUDE_PLUGIN_ROOT}` has to appear as exactly that token to be substituted, so it carries no shell default. If it does not resolve, the script path will not exist and Python will say so: relay that and stop. Do not hunt for the files yourself and do not hand-edit the record.

Act on `$ARGUMENTS`, case-insensitively, treating anything unrecognised as empty:

**Empty or `status`**

CONSENT="${CLAUDE_PLUGIN_ROOT}/scripts/telemetry/consent"
PY="$(command -v python3 || command -v python || echo 'py -3')"
$PY "$CONSENT/cli.py" status

Relay that output as-is, then mention they can pass `opt-out`, `opt-in`, or `show`.

**`opt-out`**

CONSENT="${CLAUDE_PLUGIN_ROOT}/scripts/telemetry/consent"
PY="$(command -v python3 || command -v python || echo 'py -3')"
$PY "$CONSENT/opt_out.py"

No confirmation. Asking someone to confirm twice in order to decline is a dark pattern.

**`opt-in`** — show the notice first, since acknowledging it is what opting in means:

CONSENT="${CLAUDE_PLUGIN_ROOT}/scripts/telemetry/consent"
PY="$(command -v python3 || command -v python || echo 'py -3')"
$PY "$CONSENT/cli.py" show

Reproduce that output VERBATIM: no summarizing, shortening, translating, reordering, or rewriting. It is a legal notice and the exact wording is the point. Then ask them to confirm, and only if they do:

CONSENT="${CLAUDE_PLUGIN_ROOT}/scripts/telemetry/consent"
PY="$(command -v python3 || command -v python || echo 'py -3')"
$PY "$CONSENT/accept.py"

**`show`** — print the notice, verbatim as above, and change nothing. It writes nothing, so do not report it as having changed their setting.

Rules

  • Never run `accept.py` unless the user asked to opt in or acknowledged

the notice in this conversation. Printing the notice is not acknowledgement.

  • If a script exits non-zero, relay its stderr as-is. It says exactly what was

not saved; guessing is worse.

  • Opting out disables nothing. Every skill works identically either way. Say so

if asked, and never imply otherwise.

Read more
Ships withagent-toolkit-for-aws

Help AI coding agents build, deploy, and manage applications on AWS. The Agent Toolkit for AWS gives AI coding agents the tools, knowledge, and guardrails they need to work with AWS services.

Get the whole plugin

Other commands on agent-toolkit-for-aws.