As a developer who has just installed AIDD telemetry
I want a skill that tells me, line by line, whether each link actually produces data
So that I never build a decision on figures an inert installation left incomplete
Acceptance
- The skill prints one line per independently verifiable claim, and no line that is a summary of the others.
- A hook whose configuration exists but that has never fired reads FAIL, not ok.
- A hook whose last observed write is older than the current session's start reads FAIL.
- A complete installation whose identifier is missing from the export reads FAIL — the OTEL_METRICS_INCLUDE_SESSION_ID=false case.
- A session that emitted a run file but no telemetry datapoints is named as such, and not counted as healthy.
- The four uncovered tools are named explicitly, never passed over in silence.
- On a public repository the skill reports telemetry as disabled until the repository has opted in.
- The skill consumes no model quota beyond its own invocation, and makes no network call other than to the local sink.
Expected output
enabled for this repository ok
plugin installed ok aidd-telemetry
hook observed ok last write 4 min ago
export configured ok OTLP to 127.0.0.1:4318
identifier joinable ok session.id present in the export
sessions journaled ok 12 over 7 days
step names readable FAIL OTEL_LOG_TOOL_DETAILS unset, steps collapse to third-party
not covered -- codex, copilot, cursor, opencode
Why a skill and not a CLI command
The diagnostic answers a question asked from inside a session, about the session that is running. A skill can read the run journal and see whether the current session has a file — which is precisely the "did the hook fire" check, and it is stronger from inside than from outside.
The CLI keeps one job only: turning the export on. Everything that reads belongs to the plugin.
Why this is the most important issue in the milestone
The measurement campaign (#632) found that no probe worked on the first attempt, and never for a different reason. Every tool gates its hooks differently. A hook installed without lifting the gate is silent and raises nothing.
That is not an edge case, it is the nominal case. Hence the central requirement: the skill does not check that a file exists, it checks that a hook fired.
Out of scope
- Per-tool inert-state detection for Codex, Copilot and Cursor. Those tools are out of scope for this milestone; naming them as uncovered is the correct answer, and parsing their trust state is days of work with no bearing on the promise.
- Any figure. Reading cost belongs to the consultation skill.
Relations
As a developer who has just installed AIDD telemetry
I want a skill that tells me, line by line, whether each link actually produces data
So that I never build a decision on figures an inert installation left incomplete
Acceptance
Expected output
Why a skill and not a CLI command
The diagnostic answers a question asked from inside a session, about the session that is running. A skill can read the run journal and see whether the current session has a file — which is precisely the "did the hook fire" check, and it is stronger from inside than from outside.
The CLI keeps one job only: turning the export on. Everything that reads belongs to the plugin.
Why this is the most important issue in the milestone
The measurement campaign (#632) found that no probe worked on the first attempt, and never for a different reason. Every tool gates its hooks differently. A hook installed without lifting the gate is silent and raises nothing.
That is not an edge case, it is the nominal case. Hence the central requirement: the skill does not check that a file exists, it checks that a hook fired.
Out of scope
Relations