Agent skill

Telemetry Inspect

by yonatangross in yonatangross/orchestkit

Inspects the OrchestKit telemetry pipeline for the current project — lists all known telemetry files with write counts, sizes, schema status, growth trend, and orphan detection.

MITAuto-check: notesDevOps & Cloud

Install Telemetry Inspect

skills CLI
$ npx skills add yonatangross/orchestkit --skill telemetry-inspect -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install yonatangross/orchestkit telemetry-inspect --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/skills/telemetry-inspect .claude/skills/telemetry-inspect && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
telemetry-inspect
GitHub stars
290
Token cost
~2.8k tokens
SKILL.md length
1,087 words
Files
2 (incl. references)
Skills in repo
108
Repo updated
First seen
Licence
MIT

At a glance

Inspects the OrchestKit telemetry pipeline for the current project — lists all known telemetry files with write counts, sizes, schema status, growth trend, and orphan detection.

  • Works in 7 steps: Writer activity — for each registered… → File health — size (warn at 256 KB,… → Schema lock status — which files have… → …
  • Verifying the observability pipeline is healthy
  • SKILL.md covers When to use, What it checks, Usage and Output shape (ASCII mode), plus 4 more sections
  • Calls bash, sqlite3 and node

What it does

Telemetry Inspect is an agent skill from yonatangross/orchestkit. Inspects the OrchestKit telemetry pipeline for the current project — lists all known telemetry files with write counts, sizes, schema status, growth trend, and orphan detection. Use when verifying the observability pipeline is healthy, debugging a missing writer, or auditing which files have schema locks vs. which are drift-vulnerable. Read-only — never modifies telemetry files.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/telemetry-inventory.md`). Compatibility notes: Claude Code 2.1.277+.

It sits in DevOps & Cloud, covering Observability. The repository describes itself as: The Complete AI Development Toolkit for Claude Code. 106 skills, 36 agents, 171 hooks. Install ork for stable (v9.x), or ork-alpha for the v10 line, which ships daily. The licence is MIT.

When your agent uses it

  • Verifying the observability pipeline is healthy
  • Debugging a missing writer
  • Auditing which files have schema locks vs

Example prompts

  • “Use the telemetry-inspect skill to inspect the OrchestKit telemetry pipeline for the current project — lists all known telemetry files with write…”
  • “/telemetry-inspect”

Requirements

  • Compatibility (from SKILL.md): Claude Code 2.1.277+.
  • Pre-approved tools (allowed-tools): Bash, Read, Grep, Glob

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Writer activity — for each registered telemetry file, recent write count (from mtime scan) and last-write delta
  2. File health — size (warn at 256 KB, critical at 1 MB), line count, mtime
  3. Schema lock status — which files have validators in lib/telemetry-schemas.ts
  4. Orphan detection — files on disk under .claude/{telemetry,logs,state,feedback}/ that aren't in the registry (possible stale writer or new…
  5. Growth trend — bytes per hour since session start (fire alert if > 100 KB/hr)
  6. Coordination layer (M168) — live counts from sessions.db (running sessions, held locks, pending worktree links, skill invocations) plus…
  7. Runtime fired-census — which hooks actually fired, from the per-invocation records run-hook.mjs writes to…

What it can do on your machine

Read from SKILL.md and the folder at commit 02bbf9a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Grep
    • Glob

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • bash
    • sqlite3
    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Claude Code 2.1.277+.

    From compatibility in the SKILL.md frontmatter.

Context cost

Telemetry Inspect loads about 2.8k tokens when it runs, and up to ~5.6k if it reads all its reference files. Until then it costs about 100 tokens; SKILL.md has 1,087 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~100
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Grep, Glob

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from yonatangross/orchestkit at commit 02bbf9a, republished under its MIT licence (© yonatangross). 1,087 words, ~2,781 tokens.

Download SKILL.mdSave it as .claude/skills/telemetry-inspect/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
telemetry-inspect
description
Inspects the OrchestKit telemetry pipeline for the current project — lists all known telemetry files with write counts, sizes, schema status, growth trend, and orphan detection. Use when verifying the observability pipeline is healthy, debugging a missing writer, or auditing which files have schema locks vs. which are drift-vulnerable. Read-only — never modifies telemetry files.
allowed-tools
Bash, Read, Grep, Glob
compatibility
Claude Code 2.1.277+.
license
MIT
argument-hint
[--session <id>] [--json]
context
inherit
user-invocable
true
disallowed-tools
Write, Edit, MultiEdit, NotebookEdit
effort
low
model
haiku
metadata.category
diagnostic
metadata.version
1.0.0
metadata.author
OrchestKit

telemetry-inspect

One-shot health check for OrchestKit's telemetry pipeline. Reports writer activity, file sizes, schema lock coverage, orphan files, and growth warnings. Use when verifying the pipeline is flowing correctly or debugging a missing writer.

When to use

  • Before or after a risky hook refactor, to prove telemetry still writes as expected
  • Weekly health check on a long-running project
  • When analytics output looks suspicious — inspect the underlying data first
  • When adding a new telemetry file and wanting to confirm it's picked up
  • Auditing which files are schema-locked vs. drift-vulnerable

What it checks

  1. Writer activity — for each registered telemetry file, recent write count (from mtime scan) and last-write delta
  2. File health — size (warn at 256 KB, critical at 1 MB), line count, mtime
  3. Schema lock status — which files have validators in lib/telemetry-schemas.ts
  4. Orphan detection — files on disk under .claude/{telemetry,logs,state,feedback}/ that aren't in the registry (possible stale writer or new file needing schema), plus inventory rows whose writer hook no longer exists in src/hooks/src/ (dead writer → orphan)
  5. Growth trend — bytes per hour since session start (fire alert if > 100 KB/hr)
  6. Coordination layer (M168) — live counts from sessions.db (running sessions, held locks, pending worktree links, skill invocations) plus write throughput from coordination-metrics.jsonl
  7. Runtime fired-census — which hooks actually fired, from the per-invocation records run-hook.mjs writes to ~/.claude/analytics/hook-timing.jsonl. Checks 1–4 answer "is the file being written?"; this answers "is the writer running at all?" — the upstream question. A hook can be wired and reachable (the closure gate proves that statically) and still never fire: #2886 shipped exactly that with 12 green tests.

Usage

bash
telemetry-inspect
telemetry-inspect --session sess-abc123
telemetry-inspect --json

Default mode: terminal-friendly ASCII report. --json emits a structured result suitable for piping into another tool or uploading.

Output shape (ASCII mode)

Telemetry Health — 2026-07-09 11:50
────────────────────────────────────

Schema-locked files (7)
  .claude/telemetry/pre-compact-decisions.jsonl  ◆ 3 lines  1.1 KB  ✓ healthy
  .claude/telemetry/image-responses.jsonl        ◆ 0 lines  —       ✗ no writes
  .claude/logs/decisions.jsonl                   ◆ 0 lines  —       ✗ no writes
  .claude/logs/subagent-spawns.jsonl             ◆ 6 lines  3 KB    ✓ healthy
  .claude/state/edit-history.jsonl               ◆ 94 lines 412 KB  ⚠ rotate
  .claude/state/ork-metrics-*.json               ◆ (N/A)    2.1 KB  ✓ healthy
  .claude/logs/skill-channels.jsonl              ◆ 12 lines 4 KB    ✓ healthy

Unlocked telemetry files (14)
  .claude/feedback/changelog-decisions.json      ○ 4 KB    ✗ no schema
  .claude/feedback/learned-patterns.json         ○ 8 KB    ✗ no schema
  (...14 more...)

Orphan files (1)
  .claude/feedback/skill-usage.json  — delisted, writer unwired since #959

Runtime fired-census (7d window)
  ALIVE  59   IDLE 3   NEVER 83   UNOBSERVABLE 54
  tree 8.75.0 · installed 8.73.0/8.74.0  <-- SKEW: NEVER is not a verdict
  never-fired writers (the ones that matter here):
    posttool/dirty-file-tracker   [PostToolUse]   0 fires, ever

Summary
  Pipeline health:  GREEN  (21/21 expected writers active)
  Schema coverage:  7/21 (33%)
  Largest file:     edit-history.jsonl (412 KB)
  Hotspot:          edit-history.jsonl  +40 KB/hr

Implementation plan (for an agent/LLM running this skill)

  1. List known files — read lib/telemetry-schemas.ts's SCHEMA_LOCKED inventory for the 7 locked paths. Extend with the unlocked paths listed in the skill-local references/telemetry-inventory.md.
  2. Cross-check inventory writers against the registry closure — never trust the inventory blindly:
    • Run node src/hooks/scripts/validate-registry.mjs (from the OrchestKit repo root; skip gracefully if not in the OrchestKit repo) and confirm it passes.
    • For every writer named in the inventory (e.g. posttool/metrics-bridge), verify the source file exists: test -f src/hooks/src/<writer>.ts.
    • Any inventory writer that is NOT a live src/hooks/src/ file is ORPHANED — report 🔴, never "expected-but-empty". Its file(s) on disk are orphans regardless of freshness, and the inventory row is stale (flag it for removal).
  3. For each file:
    • Use Glob to resolve .claude/state/ork-metrics-*.json pattern → may be multiple
    • Use Read with limit: 10 to see shape and Bash wc -l for line count
    • Use Bash stat for mtime + size
  4. Classify health:
    • size > 1 MB → critical
    • size > 256 KB → warn
    • mtime > 7 days → "no recent writes"
    • line count 0 → "no writes"
  5. Orphan scan — Bash find .claude/{telemetry,logs,state,feedback} -type f cross-check against registered paths. Any on-disk files not in inventory → orphan. Merge in dead-writer orphans from step 2.
  6. Runtime fired-census — steps 1–5 ask "is the file being written?". This asks the upstream question: "does the writer hook run at all?"
    • Run node src/hooks/scripts/fired-census.mjs --json (OrchestKit repo only; skip gracefully elsewhere — it exits 0 and prints an absent-census notice if ~/.claude/analytics/hook-timing.jsonl doesn't exist yet).
    • Report the class counts (totals), and the versions.skewed line verbatim when true — the census is written by the INSTALLED plugin across ALL projects, while the closure comes from this tree, so NEVER on a hook newer than the installed build is expected, not a finding.
    • Cross-reference: for every inventory writer from step 2 that is a live file, look up its census row. A writer that is ALIVE but whose file has 0 lines is a real defect (it runs and produces nothing). A writer that is NEVER is the #2886 class — surface it, but as advisory.
    • Never call a hook dead from NEVER alone. UNOBSERVABLE rows (dispatcher children) cannot appear by construction, and rare events (WorktreeRemove, PreCompact) look identical to a broken guard from here. Read the guard before concluding.
  7. Render report — ASCII table by default, JSON if --json argument passed.

Core logic is deterministic + read-only. Do NOT write to any telemetry file — this skill is an observer.

Show full SKILL.md (398 more words)Show less

Coordination layer (M168 #1915)

The SQLite coordination layer lives outside .claude/, at ~/.local/state/orchestkit/:

SourceWhat it tells you
sessions.dblive session / lock / worktree state (SQLite)
events.jsonlcoordination event stream (goal_converged, chain_stale, …)
coordination-metrics.jsonlsessions.db write throughput counters (#1915)

Live counts — the DB file is a standard SQLite database; read it with sqlite3 (read-only SELECTs only):

bash
DB="$HOME/.local/state/orchestkit/sessions.db"
[ -f "$DB" ] || echo "coordination layer idle (no multi-session activity yet)"
sqlite3 "$DB" "SELECT COUNT(*) FROM sessions WHERE status='running'"                  # live sessions
sqlite3 "$DB" "SELECT COUNT(*) FROM skill_invocation"                                 # skill invocations

Write throughput — coordination-metrics.jsonl is append-only {ts, metric, count} lines emitted async by lib/metrics-emitter.ts on every sessions.db write. Event rate ≈ recent sessions_db_write lines:

bash
M="$HOME/.local/state/orchestkit/coordination-metrics.jsonl"
[ -f "$M" ] && tail -200 "$M" | grep -c '"sessions_db_write"'

Degrade gracefully: if sqlite3 is absent or the DB / metrics file doesn't exist, report "coordination layer idle" — never error. Like the rest of this skill, these are read-only observations.

Upstream OTel metric notes

When inspecting Claude Code's own OTel metrics (downstream of this skill — claude_code.* in your collector):

  • CC 2.1.129+: claude_code.pull_request.count now also counts PRs/MRs filed via MCP tools (e.g., GitHub MCP create_pull_request), not just shell commands run through the Bash tool. Dashboards built before 2.1.129 will see a step-function increase at the cutover — annotate, don't alert. See references/../monitoring-observability/references/metrics-collection.md for the join pattern that distinguishes MCP- from shell-filed PRs.
  • CC 2.1.161+: OTEL_RESOURCE_ATTRIBUTES values are now attached as labels on all metric datapoints, enabling dimensional slicing (team, repo, environment). Existing dashboards keep working; new dashboards should use label selectors to segment usage.
  • CC 2.1.145+: claude_code.tool OTEL spans carry agent_id + parent_agent_id, and background subagent spans nest under the dispatching Agent tool span. Build the trace tree by querying on parent_agent_id — enables per-skill fan-out timing and cost attribution for multi-agent skills (brainstorm, explore, implement); no schema change needed.
  • CC 2.1.174+: /usage exposes CC-native per-component attribution — cache misses, long context, subagents, and per-skill/agent/plugin/MCP cost breakdowns over 24h/7d (surfaced first in the VSCode Account & usage dialog). Treat it as a cross-check source in the health report: if ork telemetry shows a skill/agent active but CC attribution shows zero usage for it (or vice versa), flag the divergence as a possible missing writer or stale install rather than trusting either side alone.
  • CC 2.1.202+: telemetry from workflow-spawned agents (a /workflows run) carries workflow.run_id + workflow.name attributes, so a whole workflow run is reconstructable from OTel — group all agent events on workflow.run_id to rebuild one run's fan-out, and slice by workflow.name. See ../analytics/references/otel-fields.md ("From 2.1.202") for the field table; filter select(.["workflow.run_id"] != null) first, since ordinary session events lack these attributes.
  • lib/telemetry-schemas.ts — source of truth for schema-locked paths
  • analytics — aggregates data across sessions (different use case)
  • M121 "Observability Consolidation" milestone

© yonatangross, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in src/skills/telemetry-inspect of yonatangross/orchestkit.

  • SKILL.md
  • references/telemetry-inventory.md

Open the folder on GitHubat commit 02bbf9a

Compare with similar skills

Telemetry Inspect next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Telemetry Inspect compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Telemetry Inspect this skillyonatangross/orchestkit290—~2.8kAutomated safety check: NotesMIT
Motel Debugkitlangton/motel298—~2.2kAutomated safety check: PassMIT
Logging Observabilitygetsentry/toolkit918—~2.6kAutomated safety check: PassCustom licence
Rift Backend EffectCompound-inc/rift124—~1.8kAutomated safety check: PassCustom licence
Flueshadcn-labs/agentcn490—~2kAutomated safety check: PassMIT
Crash Instrumentationnexus-labs-automation/mobile-observability116—~744Automated safety check: PassMIT

Similar skills

  • Motel Debug

    kitlangton/motel

    Debug applications with motel, a local OpenTelemetry ingest and query server.

    298 GitHub stars~2.2k tokensUpdated 1 mo ago
    DevOps & CloudAuto-check passed
  • Logging Observability

    getsentry/toolkit

    Official

    Review code for correct logging and error handling patterns.

    918 GitHub stars~2.6k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Rift Backend Effect

    Compound-inc/rift

    A skill your agent uses when adding, reviewing, or refactoring backend code in Rift's TanStack Start app that should follow apps/start/BACKENDEFFECTPLAYBOOK.md.

    124 GitHub stars~1.8k tokensUpdated 11 days ago
    DevOps & CloudAuto-check passed
  • Flue

    shadcn-labs/agentcn

    A skill your agent uses when building, debugging, reviewing, or documenting Flue agents, workflows, channels, skills, tools, sandboxes, targets, routing, persistence, observability, or CLI usage…

    490 GitHub stars~2k tokensUpdated 2 days ago
    DevOps & CloudAuto-check passed
  • Crash Instrumentation

    nexus-labs-automation/mobile-observability

    Set up crash instrumentation with actionable context. An agent skill from nexus-labs-automation/mobile-observability.

    116 GitHub stars~744 tokensUpdated 1 mo ago
    DevOps & CloudAuto-check passed
  • Ad Architecture

    CorridorTech/PoseCap

    Generate ARCHITECTURE.md at the repo root by scanning the code first, pre-filling layers/patterns/observability/deployment from observed signals, then asking only the genuine gaps.

    224 GitHub stars~1.5k tokensUpdated 2 days ago
    DevOps & CloudAuto-check: notes

More from yonatangross/orchestkit

All 108 skills in this repo
  • API Design

    yonatangross/orchestkit

    API contract design for REST and GraphQL, covering resource shape, URL and header versioning with deprecation windows, RFC 9457 Problem Details error handling, and OpenAPI specs.

    290 GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Architecture Decision Record

    yonatangross/orchestkit

    ADR templates in the Nygard format with context, decision, consequences, and alternatives.

    290 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Audit Full

    yonatangross/orchestkit

    Single-pass codebase analysis leveraging a 1M-token context window for comprehensive security scanning, architecture review, and dependency auditing.

    290 GitHub stars~3.5k tokensUpdated today
    Auto-check: notes
  • Code Review Playbook

    yonatangross/orchestkit

    Structured review processes, conventional comments, language-specific checklists, and feedback templates.

    290 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Create PR

    yonatangross/orchestkit

    Creates GitHub pull requests with pre-flight validation, conventional title formatting, and structured summary generation.

    290 GitHub stars~4.5k tokensUpdated today
    Auto-check: notes
  • Explore

    yonatangross/orchestkit

    Multi-angle codebase exploration spawning 3-5 parallel agents for code structure, data flow, architecture patterns, and health assessment.

    290 GitHub stars~3.9k tokensUpdated today
    Auto-check: notes

Questions about Telemetry Inspect

What does Telemetry Inspect do?

Inspects the OrchestKit telemetry pipeline for the current project — lists all known telemetry files with write counts, sizes, schema status, growth trend, and orphan detection. Telemetry Inspect is an agent skill from yonatangross/orchestkit. Inspects the OrchestKit telemetry pipeline for the current project — lists all known telemetry files with write counts, sizes, schema status, growth trend, and orphan detection.

When should I use Telemetry Inspect?

Telemetry Inspect fits situations like: verifying the observability pipeline is healthy; debugging a missing writer; auditing which files have schema locks vs.

How do I install Telemetry Inspect in Claude Code?

Run `npx skills add yonatangross/orchestkit --skill telemetry-inspect -a claude-code`. Or copy the skill folder (src/skills/telemetry-inspect in yonatangross/orchestkit) into .claude/skills/telemetry-inspect in your project. Claude Code loads it when a task matches its description.

How do I install Telemetry Inspect in Codex?

Run `npx skills add yonatangross/orchestkit --skill telemetry-inspect -a codex`. Or copy the skill folder (src/skills/telemetry-inspect in yonatangross/orchestkit) into .agents/skills/telemetry-inspect in your project. Codex loads it when a task matches its description.

Can I use Telemetry Inspect in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add yonatangross/orchestkit --skill telemetry-inspect -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/telemetry-inspect, .gemini/skills/telemetry-inspect, .github/skills/telemetry-inspect and .opencode/skills/telemetry-inspect in your project.

What does Telemetry Inspect need to run?

Going by SKILL.md and its folder, Telemetry Inspect needs the command-line tools its instructions call (bash, sqlite3 and node). Its frontmatter pre-approves these tools: Bash, Read, Grep, Glob. Compatibility (from SKILL.md): Claude Code 2.1.277+..

Does Telemetry Inspect access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Telemetry Inspect safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Telemetry Inspect use?

Telemetry Inspect is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Telemetry Inspect use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.8k tokens, read only when the agent opens those files.

What are the alternatives to Telemetry Inspect?

Skills that share tags, products or a category with Telemetry Inspect: Motel Debug (kitlangton/motel, 298 stars), Logging Observability (getsentry/toolkit, 918 stars), Rift Backend Effect (Compound-inc/rift, 124 stars) and Flue (shadcn-labs/agentcn, 490 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Telemetry Inspect?

yonatangross (a GitHub user) maintains it in yonatangross/orchestkit, which has 290 GitHub stars. The repository holds 108 skills in this directory. The repository was last updated on October 9, 2026.

Source: yonatangross/orchestkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.