radra23

otel-uninstrument

Remove the OTel SDK bootstrap files /otel-instrument generated for a service (marker-gated deletion). Use to roll back instrumentation.

radra23 1 Updated 5d ago
GitHub

Install

npx skillscat add radra23/otel-as-code-plugin/otel-uninstrument

Install via the SkillsCat registry.

SKILL.md

otel-uninstrument (Codex bridge)

Requires the otel-as-code repo. The commands/ / hooks/ / agents/ files referenced below live there — if they're not present in your workspace, stop and tell the user to add the repo (see AGENTS.md).

Follow the canonical procedure in this repo — it is the single source of truth:

  1. Read commands/otel-uninstrument.md (repo root) and execute its steps.
  2. Codex has no subagent dispatch: if the context cache is stale/absent, read
    agents/repo-context-scanner.md and run that scan inline first (Step 1).
  3. The candidate-name set + marker check come from hooks/otel-paths.sh — source it and use
    otel_bootstrap_globs for the candidate set. Do NOT hand-list the names, and do NOT use
    otel_all_generated_globs or otel_is_generated_path here: those match otelcol-*.yaml too
    (that is how the write-guard protects Collector configs), so using them as a deletion
    candidate set would put a Collector config on the rm list. otel_bootstrap_globs excludes
    the collector names by construction — that is the whole point of the split.

The one thing that must not go wrong: delete only files carrying the generated by otel-as-code marker. A file that matches a generated name but has no marker is hand-written —
report it as skipped and leave it in place. Never rm a file without confirming the marker. This
command removes instrumentation bootstraps only — never otelcol-*.yaml or Terraform. The marker
gate alone would NOT keep collector configs safe (they carry the same marker) — scoping the
candidate set via otel_bootstrap_globs is what does.

Args: $ARGUMENTS (e.g. --service api, --all, --dry-run, --force).

Codex note: deletion is rm, not Write/Edit, so .codex/hooks.json (write-guard) does not
gate it — the confirmation prompt is the safety gate, and --force only skips that prompt (it
never widens the marker gate).

Categories