archflow-telemetry · git:20261003.eb8121c · 2026-10-03 · sha256 7f2659ecbb14d37f
archflow-telemetry git:20261003.eb8121cA
Immutable. This exact content never changes and is served at /api/v1/blob/7f2659ecbb14d37f.
--- name: archflow-telemetry description: "Show or change anonymous usage telemetry (on by default; this is how to opt out)" --- > Invoke with `$archflow-telemetry`. Arguments are the text after the mention. Arguments: `[on|off|status]` # $archflow-telemetry — Show or change anonymous usage telemetry Argument (`the text the user wrote after the skill mention`): optional `on` or `off`. Empty or `status` → show the current setting. Anything else → run nothing; tell the user the options are `on`, `off`, or nothing to see the setting. Telemetry is **on by default**. The first time a session starts on a machine whose `~/.archflow/config.json` has not yet recorded the notice as shown (no `noticeShownAt` in it; see `plugin/hooks/telemetry.mjs`), a one-time notice fires — not a question — saying telemetry is on and how to turn it off; this command is that off switch, and the way to turn it back on later. The setting lives in `~/.archflow/config.json`, one file shared by every Archflow project on this machine, so an opt-out here holds everywhere, not just this project. What is sent, while on: which command ran (`command_run`, just the command name — e.g. `archflow:status` — never its arguments) and that a session started (`session_start`), each with the Archflow version, current phase/mode, and a random id generated locally. Never a project name, a file path, file contents, or anything from `project-context.md`. Run exactly one of the commands below, then relay the line it prints to the user **verbatim** — do not reword, summarise or add to it. It already says the setting (for status, since when), and when turning it off, whether one final `telemetry_opted_out` event recorded the opt-out (nothing is sent after it). ## Show current setting (no argument) ```bash node ".codex/archflow/hooks/telemetry.mjs" --status ``` If it says the config file could not be read, telemetry stays off and nothing is changed until the user fixes or deletes that file. ## Change it ```bash node ".codex/archflow/hooks/telemetry.mjs" --enable --host codex # on node ".codex/archflow/hooks/telemetry.mjs" --disable --host codex # off ``` Turning it back on sends `telemetry_opted_in`. Never run either without the user asking.